[Eeglablist] .set to EGI.raw format

Matt Mollison matt.mollison at gmail.com
Tue Jun 28 12:23:06 PDT 2011


Giovanni,

I can expand on Joe's suggestions, and note that neither his nor my steps
involve EEGLAB.
It seems that you want to get the event information (metadata about each
event like stimulus name/type, reaction time for that trial, whatever else
you record) back into the NS file (after using EP toolkit or anything else
that writes to EGIS) so you can do analyses or additional segmentation in
NS. If that's not the issue, I apologize, but I will describe my solution
for the issue I just described. It's essentially an expanded version of
Joe's suggested processing steps, but it includes a function I wrote
(ns_fixEvtOrder.m; attached) so that I could correctly get the event
metadata back into NS.

1) segment to categories in NetStation
2) export NS event information (creates an evt file; use the Event Export
tool and specifications in my function)
3) export the NS file to EGIS (to load the file into EP Toolkit)
4) use preprocessing function in EP Toolkit (applies a highly optimized
artifact correction routine, including using EEGlab's runICA function to
automatically remove blinks and saccades and performing bad channel
interpolation using whole montage splines)
5) export the EP Toolkit data to EGIS format (so NS can read it again)
6) export the EGIS file to NSF (Net Station Format) because NS can't add
event info to an EGIS file
7) run my script (ns_fixEvtOrder.m) on the evt file from step 2 (this could
be done at any point after step 2, of course)
8) import the event information in the evt file into the nsf file (use the
Markup From File tool).

In step 2, what we need is for the events need to be sorted by both category
and time, but I could not get NS to do both. When the events come out of EP
Toolkit (in egis format), they are stored alphabetically (as they were named
in the segmentation tool) and by onset time; thus you cannot just re-import
the event data because they're in different orders. This is why I created my
script which put the events in alphabetical and onset time order. If I'm
wrong about any of the above, please let me know, but I spent a good while
figuring this out last year.

Matt Mollison

--
Univ. of Colorado at Boulder
Dept. of Psychology and Neuroscience
matthew.mollison at colorado.edu
http://psych.colorado.edu/~mollison/

On Mon, Jun 27, 2011 at 9:53 PM, Joseph Dien <jdien07 at mac.com> wrote:

> You might also want to consider trying the following processing path:
>
> 1) segment in NetStation
> 2) export to EP Toolkit using EGIS format (better supported by NS than
> Simple Binary)
> 3) use preprocessing function in EP Toolkit (applies a highly optimized
> artifact correction routine, including using EEGlab's runICA function to
> automatically remove blinks and saccades and performing bad channel
> interpolation using whole montage splines)
> 4) import back into NetStation using EGIS format
>
> Done in this manner, you may not need the event information (since NS
> requires that all the segments be categorized and error trials excluded at
> the point of segmentation).  The only thing that NS needs after the
> preprocessing is complete is the time marker for the stimulus event and the
> EGIS file format does provide that.  If you use Simple Binary, NS will
> ignore all the event information and the lack of a stimulus marker causes
> the analysis functions to crash, although you could still use the markup
> function to put that information back into the file.
>
> Adding support for EGI's new file format is on my to-do list, after adding
> support for spectral analysis and CSD (currently working on it).
>
> For your reference:
>
> http://sourceforge.net/projects/erppcatoolkit/
>
> Dien, J. (2010). The ERP PCA Toolkit: An Open Source Program For Advanced
> Statistical Analysis of Event Related Potential Data. Journal of
> Neuroscience Methods, 187(1)138-145.
>
> Cheers!
>
> Joe
>
>
> On Jun 27, 2011, at 11:17 PM, Tarik S Bel-Bahar wrote:
>
> Giovanni et al,
>
> in the process of doing the same with EEGLAB and ERPLAB. Overall there is
> currenlty low interoperability of meta-data (event-data) across software
> packages, especially for beginning users.
>
> Several quick thoughts and options below in this email, let me know if any
> of this helps, or if I was unclear/mistaken somewhere.
> Also,  when and if you find a solution path, please share with us and the
> list! Happy EEG!
>
> 1. considering doing the averaging and analyses in eeglab and/or erplab.
>
> 2.1. If one is an expert eeglab user and mid to high level matlab
> programmer, one can deal with all the issues described below.
> However, as a novice who is also working on transferring metadata across
> eeglab, NS, and EPtoolkit, these problems
> still seem important.
>
> 2.2. An issue to keep in mind is that in order to get good ICA
> decompositions, you should do some cleaning (removing of
> continuous or epoched time periods) before feeding the data to ICA. Thus,
> these "missing" time periods need to be taken
> into account when considering some of the options below. Anyway, the
> crucial bit is that your arrays of events and times
> are correct and match up across the various imports/exports described
> below.
>
> 2.3. Another issue to keep in mind ACROSS IMPORTS/EXPORTS ACROSS SOFTWARE
> PACKAGES
> (I want to put it in the foreground) is timing issues (for examples, event
> times may shift or be distorted slightly),
> data quality issues (for example, channel amplitude or channel locations
> may get mixed up slightly distorted),
> and event time matchup issues.
> I would suggest that, untill we are sure, let's assume that back and
> forthing between software packages is not very safe,
>  and may be affecting the data in undocumented ways.  This suggests it's
> better to stay native, or only migrate once across
> software packages (rather than two or more times, across two or more
> packages)
>
> 3. AN EXISTING PATH TO HELP YOUR IMMEDIATE PROBLEM. If you look over the
> recent postings on this topic (see below), you will note Dr. Dominguez's (
> l.garcia.d at gmail.com) note that he has developed a working path (using
> Joseph Dien's EP toolkit, search for it on Google) that works pretty well.
> He basically exported the events from Netstation, and then ran the
> netstation file through eeglab, then imported to EPToolkit, then exported to
> Netstation, and then read in the events via the Netstation markup tool. This
> should be one way to solve your issue. But read on...
>
> 4. An option for EXPORTING EEGLAB EVENTS AND IMPORTING INTO NETSTATION
> a. exporting eeglab events with at least time and event name [either with
> existing functions, or via matlab script]
> b. formatting the exported file so it is readable by Netstation [by
> examining/practicing with Markup chapter in NS manuals]
> c. Making sure that the times in the exported file matches the times in the
> Netstation file [that the event time and relative location transfers
> correctly between the eeglab file and the destination netstation  file
>
> 5. An option for GETTING  EVENTS FROM NETSTATION TO EEGLAB
> These general points in Point #4 should also work in reverse,
> when one wants to export events from netstation, and get them loaded into
> eeglab.
> One could either import the event file (that was exported from NS)
> by using eeglab event updating functions, or by writing a little matlab
> script to do the same,
> essentially populate event fileds in eeglab with the event fields (TRSPs)
> from Netstation.
> One needs to be careful here (AGAIN) about being sure that timing is
> matched up, and that nothing is lost in translation.
>
> 6. GETTING RICH EVENTS FROM NETSTATION TO EEGLAB
> Exporting events from NS to eeglab is especially helpful when dealing with
> rich "TRSPs" or "event-fields' that may have 5 to 100 subfields. One way to
> bypass (some of ) these problems is to put is to develop a series of epochs
> in Netstation
> via the epoch markup tool ? (when you are in a segmenting tool, there is
> the option to NOT segment but rather to create NEW events
> that represent the zero point of the segment in question. This allows you
> to create all the extra events you need
> that may better reflect your "rich" events in Netstation. From there you
> can directly export and import into eeglab,
> and you should see all these new events. See elesewhere in this email
> regarding options for marking up this file once you reimport it
> Netstation after having worked on it in eeglab.
>
>
> 5. If anybody has Netstation events into EEGLAB events experience, or vice
> versa, please let us know.
> Eventually we can setup a webpage for the Netstation-EEGLAB gang.
> If any of the options described above can be bettered, we would be glad to
> hear of it !
>
> 6. Eventually, the new Netstation format will help things go more smoothly
> for inter-operability between software packages.
> Also, for now, remember that you have the option of using EGI's toolbox for
> generating
> Netstation files from within matlab, possibly skipping the EP step.
>
>
>
>
>
>
>
>
>
>
> On Mon, Jun 27, 2011 at 5:05 AM, Giovanni Mento <giovanni.mento at unipd.it>wrote:
>
>>  Dear all,
>> I have read the messages about saving back files .set (after for example
>> ICA on eeglab) in formats readable by Net Station.
>> I have imported a .raw continous eeg recorded with net station, segmented
>> with EEGLAB epoching tool in 300 epochs (3 conditions), run ICA, removed
>> artifactual components and saved as ICA_pruned.set file. So far so good.
>> Then, I have opened the .set with EP toolkit and simply saved the file as
>> both .egis and binary file. Net station is now able to open the epoched and
>> pruned .egis file but there is not the event-list (it only distinguishes
>> cell 1 and cell2), therefore I'm not able to run additional analyses like
>> averaging.
>>
>> How can I save in .raw format?
>>
>> Is there any way to export or save the .egis file with the event list?Or
>> simply to import an event-list on a continuous or segmented .raw file in Net
>> station?
>>
>> Maybe is better to segment before with net station and to run ICA on
>> already segmented files instead of epoching with eeglab?
>>
>> I realized that ICA is a beautiful tool for rejecting artifacts (i.e., eye
>> blink, 50 Hz noise, etc), but it is not very simple to re-import files in
>> net station.
>>
>> Could anyone help me please?
>>
>> Many thanks
>>
>>
>>
>> Giovanni Mento, PhD
>> Department od General Psychology
>> University of Padua
>> Via Venezia, 8.
>> 35131, Padova (PD)
>> tel. +39 (0)49 827 6149
>> fax. +39 (0)49 827 6600
>>
>>  Il giorno 07/mag/11, alle ore 03:19, Joseph Dien ha scritto:
>>
>>  There have been some further developments on this front.  EGI has been
>> developing a new file format and been working with other software developers
>> to get it supported.  The problem with the NetStation native format is that
>> it utilized some third-party software, which kept them from being able to
>> have it be directly supported by others.  This new MFF format has now been
>> added to FieldTrip's fileio module by Ingrid Nieuwenhuis (who I am cc'ing
>> on this).  FieldTrip's Fileio module is used by other open source Matlab
>> packages like EEGlab, SPM, and my own EP Toolkit to support other file
>> formats so it should take very little effort to make use of it.  I
>> haven't had a chance to try it out myself yet but it sounds like it is ready
>> to use.  I think it is necessary to have the new 4.5 release of NetStation
>> to try it out though.  Perhaps Ingrid can give us more information.
>>
>> Cheers!
>>
>> Joe
>>
>>
>>
>>  On May 4, 2011, at 8:32 PM, Tarik S Bel-Bahar wrote:
>>
>>   Hi Stephanie, Another user had a similar question recently. here is the
>> response from me further below. Let me know if you got this email.
>> *Please do let me know via email if you find a solution that works for
>> you.
>> Please also let the eeglab list know.
>> Also don't forget solutions like ERPlab which allow you to forget about
>> NS.*
>>
>>
>> Greetings,
>> If you look over the most recent postings on this topic (see below), you
>> will note Dr. Dominguez's (l.garcia.d at gmail.com) note that he has
>> developed a working path (using Joseph Dien's EP toolkit, search for it
>> on Google) that works pretty well. Thus far, EEGLAB itself has not been
>> extended for writing data that is readable back into Netstation. EGI
>> support ( "Support Team" <supportteam at egi.com> ) also has a matlab file
>> that can help you write RAW files from matlab that are readable into
>> Netstation. This file from EGI (as well as looking at the EP Toolkit
>> code-which exports files readable by both EGI and EEGLAB), and a better
>> understanding of the EGI file structure (by looking at their File Manual)
>> may help you develop your own plugin. As there is a general interest in
>> streamlining this process (see EEGLAB list archive and below), please let
>> the EEGLAB list know if you make any further progress in this area, and
>> perhaps we can add an EGI file exporter plugin to EEGLAB in the future. One
>> related area that could also use some examination is maintaining the
>> consistency of events codes and rich event sub-fields between Netstation and
>> EGI, although this issue is generally resolved by saving out time stamped
>> events from or into Netstation. If there are other users out there who have
>> other working solutions in this general "Netstation to EEGLAB and back"
>> area, please also let the list know, and perhaps we can collate all the
>> current solutions onto a singular webpage for future reference.
>> Respectfully. tb
>>
>>
>>
>> [Eeglablist] from Netstation to EEGLab and back*Michiel Spape* Michiel.Spape
>> at nottingham.ac.uk <eeglablist%40sccn.ucsd.edu?Subject=Re:%20%5BEeglablist%5D%20from%20Netstation%20to%20EEGLab%20and%20back&In-Reply-To=%3C09DAEA8BC192C94EB62C8E71FC35A5D92DD78EA4FE%40EXCHANGE3.ad.nottingham.ac.uk%3E>
>> *Mon Mar 14 02:54:35 PDT 2011*
>>
>>    - Previous message: [Eeglablist] from Netstation to EEGLab and back<http://sccn.ucsd.edu/pipermail/eeglablist/2011/003776.html>
>>    - Next message: [Eeglablist] from Netstation to EEGLab and back<http://sccn.ucsd.edu/pipermail/eeglablist/2011/003791.html>
>>    - *Messages sorted by:* [ date ]<http://sccn.ucsd.edu/pipermail/eeglablist/2011/date.html#3789>
>>     [ thread ]<http://sccn.ucsd.edu/pipermail/eeglablist/2011/thread.html#3789>
>>     [ subject ]<http://sccn.ucsd.edu/pipermail/eeglablist/2011/subject.html#3789>
>>     [ author ]<http://sccn.ucsd.edu/pipermail/eeglablist/2011/author.html#3789>
>>
>> ------------------------------
>>
>> Hi,
>> Sorry - are you talking about reading in Netstation 'session files' rather than exported "raw" Netstation files? In that case, I, and probably most people using Netstation and EEGLab would be most interested. Any chance this could be added to the standard import/export plugins of EEGLab?
>>
>>
>>
>>
>> Best,
>> Michiel
>>
>> Michiel Spapé
>> Research Fellow
>> Perception & Action group
>> University of Nottingham
>> School of Psychology
>> www.cognitology.eu
>>
>>
>>
>>
>>
>> -----Original Message-----
>> From: eeglablist-bounces at sccn.ucsd.edu <http://sccn.ucsd.edu/mailman/listinfo/eeglablist> [mailto:eeglablist-bounces at sccn.ucsd.edu <http://sccn.ucsd.edu/mailman/listinfo/eeglablist>] On Behalf Of Luis Garcia Dominguez
>>
>>
>>
>>
>> Sent: 09 March 2011 13:49
>> To: eeglablist at sccn.ucsd.edu <http://sccn.ucsd.edu/mailman/listinfo/eeglablist>
>> Subject: [Eeglablist] from Netstation to EEGLab and back
>>
>> In case some of you have problems exporting and importing segmented
>>
>>
>>
>>
>> files between Netstation and eeglab (ERP Toolkit) I can help. I have
>> been able to export files from NS to eeglab (with help from EGI), do
>> some transformation to the data and, save the files back in NS format
>> keeping all the necessary events. I know some of you have been
>>
>>
>>
>>
>> interested on this issue in the past.
>> Many thanks to Tarik Bel Bahar, Joseph Dien, and Gaynor Foster (EGI)
>> for helping me.
>>
>> --
>> Luis García Domínguez
>>
>>   _______________________________________________ Eeglablist page:
>> http://sccn.ucsd.edu/eeglab/eeglabmail.html To unsubscribe, send an empty
>> email to eeglablist-unsubscribe at sccn.ucsd.edu<http://sccn.ucsd.edu/mailman/listinfo/eeglablist>For digest mode, send an email with the subject "set digest mime" to eeglablist-request
>> at sccn.ucsd.edu <http://sccn.ucsd.edu/mailman/listinfo/eeglablist> This
>> message and any attachment are intended solely for the addressee and may
>> contain confidential information. If you have received this message in
>> error, please send it back to me, and immediately delete it. Please do not
>> use, copy or disclose the information contained in this message or in any
>> attachment. Any views or opinions expressed by the author of this email do
>> not necessarily reflect the views of the University of Nottingham. This
>> message has been checked for viruses but the contents of an attachment may
>> still contain software viruses which could damage your computer system: you
>> are advised to perform your own checks. Email communications with the
>> University of Nottingham may be monitored as permitted by UK legislation.
>>  ------------------------------
>>
>>    - Previous message: [Eeglablist] from Netstation to EEGLab and back<http://sccn.ucsd.edu/pipermail/eeglablist/2011/003776.html>
>>    - Next message: [Eeglablist] from Netstation to EEGLab and back<http://sccn.ucsd.edu/pipermail/eeglablist/2011/003791.html>
>>    - *Messages sorted by:* [ date ]<http://sccn.ucsd.edu/pipermail/eeglablist/2011/date.html#3789>
>>     [ thread ]<http://sccn.ucsd.edu/pipermail/eeglablist/2011/thread.html#3789>
>>     [ subject ]<http://sccn.ucsd.edu/pipermail/eeglablist/2011/subject.html#3789>
>>     [ author ]<http://sccn.ucsd.edu/pipermail/eeglablist/2011/author.html#3789>
>>
>>
>>
>>
>> On Tue, May 3, 2011 at 12:20 AM, Stephanie C <s.connell at psy.gla.ac.uk>wrote:
>>
>>> Hi,
>>>
>>> I am looking for guidance on how to export the data and associated
>>> metaddata from an EEGLAB .set file format back to a EGI.raw file format?
>>>
>>> Any help would be greatly appreciated!
>>>
>>> Cheers,
>>> Stephanie
>>>
>>>
>>> Stephanie Connell
>>> Ph.D Student
>>> School of Psychology
>>> University of Glasgow
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Eeglablist page: http://sccn.ucsd.edu/eeglab/eeglabmail.html
>>> To unsubscribe, send an empty email to
>>> eeglablist-unsubscribe at sccn.ucsd.edu
>>> For digest mode, send an email with the subject "set digest mime" to
>>> eeglablist-request at sccn.ucsd.edu
>>>
>>
>> _______________________________________________
>> Eeglablist page: http://sccn.ucsd.edu/eeglab/eeglabmail.html
>> To unsubscribe, send an empty email to
>> eeglablist-unsubscribe at sccn.ucsd.edu
>> For digest mode, send an email with the subject "set digest mime" to
>> eeglablist-request at sccn.ucsd.edu
>>
>>
>> _______________________________________________
>> Eeglablist page: http://sccn.ucsd.edu/eeglab/eeglabmail.html
>> To unsubscribe, send an empty email to
>> eeglablist-unsubscribe at sccn.ucsd.edu
>> For digest mode, send an email with the subject "set digest mime" to
>> eeglablist-request at sccn.ucsd.edu
>>
>>
>>
>
>
>
>
> _______________________________________________
> Eeglablist page: http://sccn.ucsd.edu/eeglab/eeglabmail.html
> To unsubscribe, send an empty email to
> eeglablist-unsubscribe at sccn.ucsd.edu
> For digest mode, send an email with the subject "set digest mime" to
> eeglablist-request at sccn.ucsd.edu
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sccn.ucsd.edu/pipermail/eeglablist/attachments/20110628/da1ba993/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ns_fixEvtOrder.m
Type: application/octet-stream
Size: 7239 bytes
Desc: not available
URL: <http://sccn.ucsd.edu/pipermail/eeglablist/attachments/20110628/da1ba993/attachment.obj>


More information about the eeglablist mailing list