[Eeglablist] eeglablist Digest, simple question: logic of using ICLABEL to reject components (Makoto Miyakoshi)
Michael Wenger
Michael.J.Wenger at ou.edu
Mon Feb 27 09:08:10 PST 2023
Makoto -- thank you for your reply and your statistics. You seem to be
getting a higher percentage of brain components than we. So I'm going to
look a bit further into our preprocessing to see if there's something
amiss. Thanks again for the help.
-Michael
On Sat, Feb 25, 2023 at 2:00 PM <eeglablist-request at sccn.ucsd.edu> wrote:
> Send eeglablist mailing list submissions to
> eeglablist at sccn.ucsd.edu
>
> To subscribe or unsubscribe via the World Wide Web, visit
> https://sccn.ucsd.edu/mailman/listinfo/eeglablist
> or, via email, send a message with subject or body 'help' to
> eeglablist-request at sccn.ucsd.edu
>
> You can reach the person managing the list at
> eeglablist-owner at sccn.ucsd.edu
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of eeglablist digest..."
>
>
> Today's Topics:
>
> 1. Re: simple question: logic of using ICLABEL to reject
> components (Makoto Miyakoshi)
> 2. Scripting using BIDS_export.m help (Andy Kim)
> 3. Re: Scripting using BIDS_export.m help (Arnaud Delorme)
> 4. Re: Setting correct parameters for pop_eegfiltnew()
> (Cedric Cannard)
> 5. Re: Scripting using BIDS_export.m help (Ng? Tu?n H?ng)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Fri, 24 Feb 2023 16:18:00 -0500
> From: Makoto Miyakoshi <mmiyakoshi at ucsd.edu>
> To: eeglablist at sccn.ucsd.edu
> Subject: Re: [Eeglablist] simple question: logic of using ICLABEL to
> reject components
> Message-ID:
> <CANxFN=DSj8MSyhCRgTkMSe6HEAgvH=
> V1LmtZazcbxy7ZWQMpvQ at mail.gmail.com>
> Content-Type: text/plain; charset="UTF-8"
>
> Dear Michael,
>
> Lisa pointed me to this post.
>
> See this paper. In Figure 4, it shows Brain 53%, Muscle 12%, Eye 9%,
> Channel Noise <1%, Line noise <1%, Heart < 1%, Other 24% for awake state.
> During the sleep state, Brain 74%, Other 23%, everything else < 2%. This is
> for the case of 19 channels.
>
> Automated preprocessing and phase-amplitude coupling analysis of scalp EEG
> discriminates infantile spasms from controls during wakefulness.
> Miyakoshi M, Nariai H, Rajaraman RR, Bernardo D, Shrey DW, Lopour BA, Sim
> MS, Staba RJ, Hussain SA
> Epilepsy Res. 2021 Dec; 178 106809
> DOI: 10.1016/j.eplepsyres.2021.106809, PMID: 34823159
>
> See also this Wikipedia article. It shows Brain 52%, Muscle 30%, Eye 6%,
> Heart 2%, Other 11%. This is for the case of 38 channels.
>
>
> https://sccn.ucsd.edu/wiki/Makoto's_preprocessing_pipeline#Does_a_broad_dipole_layer_produce_a_depth_bias_when_fitted_with_a_single_dipole.3F_.28For_190.2C000_page_views.2C_02.2F22.2F2022_added.2C_07.2F18.2F2022_updated.29
>
> I have several other unpublished datasets with 64 channels (the LEMON
> datasets; Babayan et al., 2019. *Scientific Data*). They also showed Brain
> class around 55%. Although this cross-number-of-channel test is not
> official, my impression is that the EEG data with standard quality seem to
> show 50-55% of Brain class rate regardless of the number of channels.
>
> I also calculate percent variance of the Brain etc. classes, but these are
> not published. I will next time.
>
> Makoto
>
> On Fri, Feb 24, 2023 at 1:01 PM Michael Wenger <Michael.J.Wenger at ou.edu>
> wrote:
>
> > Scott -- thanks for your note, and this is very helpful. We'll re-examine
> > our data and our pre-processing per your suggestion. It is the case that
> > the components identified as brain account for much more of the data than
> > do the components labeled as other. Thanks again,
> >
> > -Michael
> >
> > -----
> >
> > M. J. Wenger, Ph.D.
> > Department of Psychology
> > Graduate Program in Cellular and Behavioral Neurobiology
> > Stephenson Cancer Center, Cancer Prevention and Control
> > The University of Oklahoma
> > Norman OK 73019
> >
> > phone: +1 405 325 0770
> > e-mail: m <Michael.J.Wenger at ou.edu>ichael.j.wenger at ou.edu
> > web:
> >
> https://urldefense.com/v3/__http://ouvnl.oucreate.com/__;!!Mih3wA!HhjPBw6GTjWq_cG091MBsD4oKl8biDMDhFY8TkEF7MCtHJ3W9NpKv6zNL98Rxyjbc55ntX9gksnI7mLNhxIftqr8BHg_TgkG$
> > twitter:
> >
> https://urldefense.com/v3/__https://twitter.com/yrdgnome__;!!Mih3wA!HhjPBw6GTjWq_cG091MBsD4oKl8biDMDhFY8TkEF7MCtHJ3W9NpKv6zNL98Rxyjbc55ntX9gksnI7mLNhxIftqr8BDWR7FHf$
> >
> >
> >
> >
> > On Thu, Feb 23, 2023 at 2:02 PM Scott Makeig <smakeig at gmail.com> wrote:
> >
> > > ICLABEL compares component properties in your data (e.g., component
> scalp
> > > projection maps, power spectra) with datasets in its large training
> data
> > > (mainly datasets from our 20-yr history of applying ICA decomposition
> to
> > > EEG data at SCCN). ICA decomposition can be negatively affected by
> > several
> > > factors: too little data, abundant non-brain noise in the data, etc. -
> > and
> > > by the conditions under which it was recorded (e.g., Were participants
> > > moving? Were the electrodes securely placed? etc.).
> > >
> > > So the first thing I would suggest you look at is whether your data
> > > preprocessing and data rejection process was adequate for the data.
> > > Next, I would suggest you see how much of the data is accounted for by
> > the
> > > labeled Brain components plus the non-brain components of known origin
> > > (e.g., Eye Movement components).
> > > Many times components rated as 'Other' by ICLabel account for quite
> > little
> > > of the data (e.g., single-channel ICs) - the *de facto* decomposition
> > > noise subspace.
> > > If you perform PCA decomposition on your dataset and look at the values
> > of
> > > the resulting eigenvalue spectrum, you will typically find that a large
> > > proportion of EEG data 'lives' in relatively few dimensions - ICA
> > > decompositions finds a basis for this subspace such that each basis
> > element
> > > (Independent Component) is as temporally distinct from the others as
> > > possible -- and is thereby typically *functionally* distinct from
> others,
> > > And *spatially* distinct from others.
> > >
> > > Scott
> > >
> > > On Thu, Feb 23, 2023 at 12:56 PM Michael Wenger <
> Michael.J.Wenger at ou.edu
> > >
> > > wrote:
> > >
> > >> All -- we've recently begun adding the use of ICLABEL to our
> > >> pre-processing
> > >> pipeline. What we've found is that it labels only a minority of
> > components
> > >> as brain activity, with the majority being labeled as "other." If we
> > >> reject
> > >> the components labeled as non-brain activity, we end up rejecting the
> > >> majority of the components, and this seems wrong. Can anyone who has
> > been
> > >> using ICLABEL comment on how to select components for removal? Thanks
> in
> > >> advance,
> > >>
> > >> -Michael
> > >> _______________________________________________
> > >> Eeglablist page: http://sccn.ucsd.edu/eeglab/eeglabmail.html
> > >> <
> >
> https://urldefense.com/v3/__http://sccn.ucsd.edu/eeglab/eeglabmail.html__;!!GNU8KkXDZlD12Q!40TGPy18Cf8qg9WQ3ow-Ck4DxJyaIb-NxwFcYvxaEPzwx5RdlL4mEbJvNpJPYbjQPUsHXQVm48UJYUFDF6yY$
> > >
> > >> 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
> > >>
> > >
> > >
> > > --
> > > Scott Makeig, Research Scientist and Director, Swartz Center for
> > > Computational Neuroscience, Institute for Neural Computation,
> University
> > of
> > > California San Diego, La Jolla CA 92093-0559,
> > http://sccn.ucsd.edu/~scott
> > > <
> >
> https://urldefense.com/v3/__http://sccn.ucsd.edu/*7Escott__;JQ!!GNU8KkXDZlD12Q!40TGPy18Cf8qg9WQ3ow-Ck4DxJyaIb-NxwFcYvxaEPzwx5RdlL4mEbJvNpJPYbjQPUsHXQVm48UJYU5lUpi0$
> > >
> > >
> > _______________________________________________
> > 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
> >
>
>
> ------------------------------
>
> Message: 2
> Date: Fri, 24 Feb 2023 11:07:59 -0800
> From: Andy Kim <andyk at usc.edu>
> To: eeglablist at sccn.ucsd.edu
> Subject: [Eeglablist] Scripting using BIDS_export.m help
> Message-ID: <2223632C-20B5-4AA0-9586-6A844AFD73A2 at usc.edu>
> Content-Type: text/plain; charset=utf-8
>
> Dear community,
>
> I am trying to use the bids_export.m MATLAB function to export my EEGLAB
> project into BIDS format. There are two issues that I am wondering if
> someone could assist me on.
>
> 1. My subject IDs are strings not numbers. Currently, the default is to
> output as sub-01, sub-02, etc. What is the structure field I can use to
> change this, if this is even possible? E.g., I want to output sub-control.
>
> subject(1).file = ?control1.set?;
> subject(1).XXX(?) = ?control?;
>
> 2. I would like to export as EDF instead of .set/.fdt to comply with BIDS
> (although I understand that the .set format is acceptable). I understand
> that to do this I would include bids_export(?exportext?
> 'edf?). However, when I do this I get a ?Unrecognized function or
> variable EEG? error. Would someone be able to help in what am missing?
>
> Thank you for your help.
>
> Best,
> Andy
>
> ------------------------------
>
> Message: 3
> Date: Fri, 24 Feb 2023 18:50:29 -0800
> From: Arnaud Delorme <adelorme at ucsd.edu>
> Cc: eeglablist at sccn.ucsd.edu
> Subject: Re: [Eeglablist] Scripting using BIDS_export.m help
> Message-ID: <B7BAE387-ED28-4EDF-B90D-E59BC7B08F59 at ucsd.edu>
> Content-Type: text/plain; charset=utf-8
>
> Dear Andy,
>
> You would use
>
> subject(1).file = ?control1.set?;
> subject(1).subject = ?xxxyyy?;
> subject(1).group = ?control?;
>
> > 2. I would like to export as EDF instead of .set/.fdt to comply with
> BIDS (although I understand that the .set format is acceptable).
>
> You can specify ?exportformat' to ?edf?
>
> Best wishes,
>
> Arno
>
> > I understand that to do this I would include bids_export(?exportext?
> > 'edf?). However, when I do this I get a ?Unrecognized function or
> variable EEG? error. Would someone be able to help in what am missing?
> >
>
>
>
> ------------------------------
>
> Message: 4
> Date: Sat, 25 Feb 2023 03:03:56 +0000
> From: Cedric Cannard <ccannard at protonmail.com>
> To: Alica Rogojin <arogojin at research.baycrest.org>
> Cc: eeglablist at sccn.ucsd.edu
> Subject: Re: [Eeglablist] Setting correct parameters for
> pop_eegfiltnew()
> Message-ID:
>
> <bL9h5ZyTIRO9wgbln8QhhL_EpN0sOe1gZTyLP0cPdxPwgVwAS2SQSFV86ezLaVSwAeKiWI8J0qRxgxXbsbbo062Cqrmpdmg6hQBLOgg9m00=@
> protonmail.com>
>
> Content-Type: text/plain; charset="utf-8"
>
> Hi Alica,
>
> You should find the information you need here:
> https://urldefense.com/v3/__https://eeglab.org/others/Firfilt_FAQ.html*q-what-are-passband-stopband-transition-bandwidth-cutoff-frequency-passband-rippleringing-and-stopband-rippleattenuation__;Iw!!Mih3wA!F-pP_eV2aUmVhhiaye8M18it4dhFIunRvHLwF8nn0CK5x2nHGaIXNdLlEy9-2bi7pkV16tIkJKUgpKGUt0Hd2yQOxA$
>
> In brief, a notch filter is typically used to remove specific frequencies
> from a signal, while a bandpass filter is used to isolate a specific
> frequency range from a signal. But you can do both by applying a highpass
> and a lowpass filter one after the other, it's the same.
>
> > 3) Do I need to specify anything for usefft, plotfreqz, minphase, or
> usefftfilt?
> usefft would be if your filter order is very large and will save you
> significant computing time.
> plotfreqz will show you what the filter is doing, you should give it a try
> and see the differences that your parameters have.
> minphase if for causal filtering (crucial if you're looking at
> pre-stimulus activity for example; see link I sent there is abundant
> information from Andreas Widmann on all this).
>
> You can go to Tools > filter data > Windowed sync FIR filter and play with
> the parameters there (estimate order based on cutoff frequencies and
> transition bandwidths). However, you can just apply highpass 20 Hz and
> lowpass 1000 hz with the pop_eegfiltnew function (it will estimate the
> transition bandwidths and orders automatically). Then you can remove line
> noise with the cleanLine or zapline plugins.
>
> Whatever you do, plot the power spectra and compare before/after filtering
> to see what you are doing to the data.
>
>
> Cedric
>
>
>
> ------- Original Message -------
> On Friday, February 24th, 2023 at 8:29 AM, Alica Rogojin <
> arogojin at research.baycrest.org> wrote:
>
>
> > Hi there,
> >
> > Apologies for the double email - I think I may have figured it out but
> was
> > hoping to confirm that I did this correctly.
> >
> > fs = 5000; %5000 Hz sampling rate
> > df = 1; %requested transition band width of 1Hz (I'm not sure if this is
> > reasonable or if I should have a larger transition band)
> > filter order = 3.3/(1/5000) = 16,500
> >
> > 1) Bandpass filter of 25 - 1000 Hz means lower passband edge = 25.5 Hz
> and
> > upper passband edge = 999.5 Hz (based on transition band of 1Hz)
> >
> > > > EEG = pop_eegfiltnew(EEG, 'locutoff', [], 'hicutoff', 25.5,
> 'filtorder',
> >
> > 16500, 'revfilt', 0) --> will give a 25 Hz highpass with 25.5 Hz passband
> >
> > edge
> >
> > > > EEG = pop_eegfiltnew(EEG, 'locutoff', 999.5, 'hicutoff', [],
> >
> > 'filtorder', 16500, 'revfilt', 0) --> will give a 1000 Hz lowpass with
> >
> > 999.5 Hz passband edge
> >
> > 2) Then using same transition band for a notch filter, would I need to
> set
> > 'revfilt' to 1?
> > This is where things get a bit confusing but for a notch filter of of
> > 57-63Hz, would I do the following:
> >
> > > > EEG = pop_eegfiltnew(EEG, 'locutoff', [], 'hicutoff', 57.5,
> 'filtorder',
> >
> > 16500, 'revfilt', 1)
> >
> > > > EEG = pop_eegfiltnew(EEG, 'locutoff', 62.5, 'hicutoff', [],
> 'filtorder',
> >
> > 16500, 'revfilt', 1)
> >
> > 3) Do I need to specify anything for usefft, plotfreqz, minphase, or
> > usefftfilt?
> >
> > Thank you!
> > Alica
> >
> > On Fri, Feb 24, 2023 at 10:25 AM Alica Rogojin <
> > arogojin at research.baycrest.org> wrote:
> >
> > > Hi there,
> > >
> > > I'm trying to use pop_eegfiltnew to filter EMG data from a muscle in
> the
> > > hand, sampling rate = 5000Hz. I'd like to apply a bandpass filter (low
> > > cutoff = 25Hz, high cutoff = 1000Hz) and a notch filter (60Hz), and
> have
> > > the following:
> > >
> > > Bandpass filter -
> > >
> > > > > EEG = pop_eegfiltnew(EEG, 'locutoff', 25, 'hicutoff', 1000);
> > >
> > > Notch filter (revfilt = 1 to change bandpass filter to be a notch
> filter)
> > > -
> > >
> > > > > EEG = pop_eegfiltnew(EEG, 'locutoff', 57, 'hicutoff', 63,
> 'revfilt', 1);
> > >
> > > However, looking into more posts about pop_eegfiltnew I feel that I may
> > > have oversimplified and there may be more to this. Did I do this
> correctly?
> > >
> > > According to
> https://sccn.ucsd.edu/pipermail/eeglablist/2017/012297.html,
> > > the numbers I used above are not actually cutoff frequencies but are
> > > passband edges. They also mention calculating transition band widths to
> > > get the correct cutoff frequency to use in pop_eegfiltnew. I'm a bit
> > > confused as to how to do this and would appreciate any pointers. Same
> for
> > > the notch filter.
> > >
> > > I also saw posts mentioning that I should not be creating a bandpass
> > > filter with high and low cutoffs in one - that I should be doing this
> in
> > > separate lines. Is this true?
> > >
> > > I would appreciate any help! Thank you,
> > > Alica
> >
> > _______________________________________________
> > 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
>
>
> ------------------------------
>
> Message: 5
> Date: Sat, 25 Feb 2023 17:23:02 +0700
> From: Ng? Tu?n H?ng <tuanhungvb at gmail.com>
> To: Arnaud Delorme <adelorme at ucsd.edu>
> Cc: eeglablist at sccn.ucsd.edu
> Subject: Re: [Eeglablist] Scripting using BIDS_export.m help
> Message-ID:
> <CAMUhpOwojgCdEp9aathr7wqjs0qDqALAoXD3A3rP=0++P=
> xWow at mail.gmail.com>
> Content-Type: text/plain; charset="UTF-8"
>
> Dear,
>
> can you tell me how to calculate the absolute power of the wave on each
> electrode?
>
> Thank you very much
>
> V?o Th 7, 25 thg 2, 2023 l?c 09:51 Arnaud Delorme via eeglablist <
> eeglablist at sccn.ucsd.edu> ?? vi?t:
>
> > Dear Andy,
> >
> > You would use
> >
> > subject(1).file = ?control1.set?;
> > subject(1).subject = ?xxxyyy?;
> > subject(1).group = ?control?;
> >
> > > 2. I would like to export as EDF instead of .set/.fdt to comply with
> > BIDS (although I understand that the .set format is acceptable).
> >
> > You can specify ?exportformat' to ?edf?
> >
> > Best wishes,
> >
> > Arno
> >
> > > I understand that to do this I would include bids_export(?exportext?
> > > 'edf?). However, when I do this I get a ?Unrecognized function or
> > variable EEG? error. Would someone be able to help in what am missing?
> > >
> >
> > _______________________________________________
> > 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
>
> --
> D <
> https://urldefense.com/v3/__http://ms.md/__;!!Mih3wA!Bk1HDN6kAJJJAYkLWiSG7bF1keEDHsKYRereAe57YE1mNI7cTWxsp249BYM2hoStSzPtBHpxWD2fY3DCA5xPlIMx$
> >r. NG? TU?N H?NG
> *Intensive care unit*
> National Burn Hospital
> Phone: 0936641665
>
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> eeglablist mailing list eeglablist at sccn.ucsd.edu
> Eeglablist page: http://www.sccn.ucsd.edu/eeglab/eeglabmail.html
> To unsubscribe, send an empty email to eeglablist-unsub at sccn.ucsd.edu
> To switch to non-digest mode, send an empty email to
> eeglablist-nodigest at sccn.ucsd.edu
>
> ------------------------------
>
> End of eeglablist Digest, Vol 220, Issue 21
> *******************************************
>
More information about the eeglablist
mailing list