[Eeglablist] ICLabel: "source" explanation of "channel noise" independent components in the absence of obviously bad data?
Scott Burwell
burwell at umn.edu
Tue Jan 7 13:45:39 PST 2020
Thanks for sharing your results, Makoto. They have made me speculate that
in addition to the noisiness of the data / ICA decomposition, the channel
number may be important to consider when qualifying the performance of each
ICLabel class type. I think the absolute number of brain components may be
closer than the percentages initially suggest, my 37% of a 61-channel
montage (~23 components) versus your 52% of a 40-channel montage (~21
components).
It would be interesting to know the ICLabel class breakdown for someone
using a very dense array system (e.g., 128 or 256 channel montage), would
we expect more than 20 to 30 "brain sources" that affect the EEG signal and
can be resolved via ICA?
Scott
On Tue, Jan 7, 2020 at 2:13 PM Makoto Miyakoshi <mmiyakoshi at ucsd.edu> wrote:
> Dear Scott,
>
> > In a large sample of subjects (n = 1500),
> I have found that the "Other non-brain" class is assigned nearly as often
> as the "Brain" class, the mean percentages of each classification type
> being: brain (37%), muscle (13%), eye (5%), heart (0%), line (2%), channel
> (8%), and other (35%).
>
> Interesting. For comparison, let me share my n = 1222 (40 ch) results I
> presented at Neuroscience2019.
> See the attached screenshot.
>
> Brain 52%
> Muscle 30%
> Eye 6%
> Heart 2%
> Other 11%
>
> Looks like my data (from UCSD Psychiatry, PI Greg Light) has higher rates
> both brain and muscle.
>
> Makoto
>
>
>
> On Fri, Jan 3, 2020 at 8:43 AM Scott Burwell <burwell at umn.edu> wrote:
>
> > Thank you, Luca for the clarification. Indeed, each topography of the
> > components classified as "Channel Noise" is very focal, so perhaps the
> > question I should ask is more of the ICA decomposition instead of the
> > classification.
> >
> > I am still a bit curious regarding how to handle components classified as
> > "Other." Is there any unifying way to describe (and justify removal of)
> > those components in a manuscript? In a large sample of subjects (n =
> 1500),
> > I have found that the "Other non-brain" class is assigned nearly as often
> > as the "Brain" class, the mean percentages of each classification type
> > being: brain (37%), muscle (13%), eye (5%), heart (0%), line (2%),
> channel
> > (8%), and other (35%). Upon inspection of the "Other" class of
> components,
> > the topographies do not look terribly messy or uninterpretable; rather,
> the
> > topographies of the "Other" components look less ideal than the "Brain"
> > components, but I am not certain this justifies excluding these
> components.
> > I would like to avoid throwing out more dimensions of the data than what
> is
> > needed, and 35% of components (in addition to the ~30% thrown out across
> > Muscle, Eye, Heart, Line, and Channel Noise) seems like a lot of data.
> >
> > I wonder how it would be received by others to only consider a subset of
> > the columns in the ICLabel classifications output to "force" components
> > classified as "Other" into one of the other class types? I.e., instead of
> > considering all ICLabel classes / columns (see below):
> > EEG = iclabel(EEG);
> > sourcetypes = [1 2 3 4 5 6 7]; %Considering all ICLabel classes
> > [~,idx1] =
> > max(EEG.etc.ic_classification.ICLabel.classifications(:,sourcetypes)');
> > tabulate(idx1)
> > Value Count Percent
> > 1 30 50.85%
> > 2 11 18.64%
> > 3 2 3.39%
> > 4 0 0.00%
> > 5 0 0.00%
> > 6 3 5.08%
> > 7 13 22.03%
> >
> > ... consider only a subset of ICLabel classes / columns (1:6), forcing
> > components above with the classification of "Other" into one of the
> classes
> > that is (perhaps) better defined / easier to explain (see below)?
> > sourcetypes = [1 2 3 4 5 6]; %Considering all but "Other" ICLabel classes
> > [~,idx2] =
> > max(EEG.etc.ic_classification.ICLabel.classifications(:,sourcetypes)');
> > tabulate(idx2)
> > Value Count Percent
> > 1 39 66.10%
> > 2 12 20.34%
> > 3 3 5.08%
> > 4 0 0.00%
> > 5 0 0.00%
> > 6 5 8.47%
> >
> > Curious what you and others think about this approach? And what others
> have
> > been doing for cutoffs / class selections with the classification
> > probabilities?
> >
> > Best,
> > Scott
> >
> > Ps. Compliments on the crowd-sourced classifier - it is much needed tool
> > and very easy to run! I really do appreciate it :)
> >
> > On Thu, Jan 2, 2020 at 1:44 PM Luca B Pion-tonachini <
> > lpiontonachini at ucsd.edu> wrote:
> >
> > > Hi Scott (and Scott),
> > >
> > >
> > >
> > > The principle factor for determining a “Channel Noise” IC is the scalp
> > > topography. If the topography is very focal, that is often an
> indication
> > of
> > > a “Channel Noise” component. All that really means, is that the channel
> > > described by the IC is in some way already independent of the other
> > > channels prior to ICA decomposition. If the components ICLabel marked
> as
> > > “Channel Noise” look very focal (you could double check this by looking
> > at
> > > the corresponding columns of the EEG.icawinv matrix: one element of
> each
> > of
> > > those columns should have much higher magnitude), then ICLabel is
> > labeling
> > > the ICs correctly and the real question is “why did ICA decompose those
> > > components that way?” If the components don’t actually look like they
> > > describe channel noise, then it is likely that ICLabel is wrong (I
> > > personally hope not, but it does happen), in which case you could state
> > > that as the likely explanation for the classification.
> > >
> > >
> > >
> > > Luca
> > >
> > >
> > >
> > >
> > >
> > > *From: *Scott Burwell <burwell at umn.edu>
> > > *Sent: *Thursday, January 2, 2020 12:04 AM
> > > *To: *Scott Makeig <smakeig at ucsd.edu>
> > > *Cc: *eeglablist at sccn.ucsd.edu
> > > *Subject: *Re: [Eeglablist] ICLabel: "source" explanation of "channel
> > > noise" independent components in the absence of obviously bad data?
> > >
> > >
> > > Thanks, Scott, for your response and happy new year to you too.
> > >
> > > For background (to the uninitiated), ICLabel returns a row of
> > probabilities
> > > for each component that its source "class" is brain, muscle, eye,
> heart,
> > > line noise, channel noise, or other non-brain noise. Upon ICLabel
> > returning
> > > source class probabilities for each component, there is a question as
> to
> > > how to go about filtering one's data to only "brain" components (e.g.,
> > for
> > > downstream scalp or source analyses). I have been testing out different
> > > cutoffs for which to keep only "brain" components, but have found this
> to
> > > feel a bit arbitrary (e.g., keep components with brain probability >
> > .90? >
> > > .75?). So, the approach I've taken lately is to decide a component's
> > class
> > > for which its probability is the greatest (see below code snippet).
> > >
> > > EEG = iclabel(EEG); %run the classifier
> > > sourcetypes = [1 2 3 4 5 6 7]; %brain, muscle, eye, etc.
> > > [~,idx] =
> > > max(EEG.etc.ic_classification.ICLabel.classifications(:,sourcetypes)');
> > > %assign class based on maximum probability
> > > EEG = pop_subcomp(EEG,find(idx==1),0,1); %filter out all non-brain
> > > components
> > >
> > > The frequency of each class type returned by ICLabel is:
> > > Value Count Percent eeg_pvaf (range)
> > > Brain 30 50.85% -0.56 to 2.10%
> > > Muscle 11 18.64% -0.06 to 22.21%
> > > Eye 2 3.39% 1.24 to 26.29%
> > > Heart 0 0.00% -
> > > Line noise 0 0.00% -
> > > Chan noise 3 5.08% 0.13 to 1.42%
> > > Other non-brain 13 22.03% -0.22 to 0.67%
> > >
> > > In this relatively clean looking resting-state dataset, ~50% of
> > components
> > > are classified as "brain," ~19% as "muscle," and ~3% as "eye," which
> upon
> > > my visual inspection appear to be accurate. Additionally, a substantial
> > > percentage of components are classified as "channel noise" (~5%) and
> > "other
> > > non-brain" (~22%), which I am finding difficult to explain / justify
> > > exclusion of in a manuscript I am writing, especially when the channel
> > data
> > > appear to be clean. The percent variance accounted for by the "channel
> > > noise" and "other non-brain" components is small (<2%), but does not
> seem
> > > to be substantially different from the percent variance accounted for
> by
> > > components classified as "brain." Additionally, the time-series /
> > > activations and frequency spectra for the "channel noise" and "other
> > > non-brain" components do not appear to be terribly noisy or different
> > next
> > > to that of some "brain" components.
> > >
> > > I have thought about the possibility of only considering a *subset* of
> > > ICLabel columns in deciding their class. E.g., in the above code,
> > > specifying sourcetypes = [1 2 3 4 5], effectively forcing "channel
> noise"
> > > and "other non-brain" components to be assigned to one of the easier to
> > > interpret classes (i.e., brain, muscle, eye, heart, line noise), but
> not
> > > sure how this would be received by others.
> > >
> > > Your thoughts would be appreciated.
> > >
> > > Warmest regards and a happy new year!
> > > Scott
> > >
> > >
> > >
> > > On Tue, Dec 31, 2019 at 10:40 PM Scott Makeig <smakeig at ucsd.edu>
> wrote:
> > >
> > > > Scott - I'd need to know how much of the seeming-good channel data
> are
> > > > accounted for by the suggested 'channel-noise' IC? Only a small %
> ...
> > ?
> > > >
> > > > Happy New Year
> > > >
> > > > Scott
> > > >
> > > > On Mon, Dec 30, 2019 at 10:14 PM Scott Burwell <burwell at umn.edu>
> > wrote:
> > > >
> > > >> Hello,
> > > >>
> > > >> I have been testing the ICLabel plug-in on some data (very cool!)
> and
> > I
> > > am
> > > >> curious as to the "source" explanation of independent components
> > > >> classified as "channel noise." For the most other classifications,
> the
> > > >> source explanation is clear to me (e.g., brain~synchronous
> > postsynaptic
> > > >> potentials, muscle~EMG, eye~VEO/HEO/blink movements, etc.), but I
> am a
> > > bit
> > > >> confused as to how one might explain an independent component that
> > > >> reflects
> > > >> a single channel when the channel data itself appears pretty clean?
> > What
> > > >> is
> > > >> the source of the "noise" that's left over in that channel after the
> > > >> projections from other brain and non-brain sources have been
> > subtracted?
> > > >>
> > > >> For peace of mind, the ICA decompositions appear very good and were
> > > >> calculated using "recommended" conditions (i.e., bad channels and
> bad
> > > time
> > > >> segments deleted, average-referenced, 1.0 Hz high-pass filter,
> > full-rank
> > > >> data).
> > > >>
> > > >> Best,
> > > >> Scott
> > > >>
> > > >> --
> > > >> Scott J. Burwell, PhD
> > > >> NIDA T32 Postdoctoral Research Fellow
> > > >> Department of Psychiatry & Behavioral Sciences
> > > >> University of Minnesota, Minneapolis, MN
> > > >> burwell at umn.edu
> > > >> github.com/sjburwell
> > > >> _______________________________________________
> > > >> 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
> > > >>
> > > >
> > > >
> > > > --
> > > > Scott Makeig, Research Scientist and Director, Swartz Center for
> > > > Computational Neuroscience, Institute for Neural Computation,
> > University
> > > of
> > > > California San Diego, La Jolla CA 92093-0961,
> > > http://sccn.ucsd.edu/~scott
> > > >
> > >
> > >
> > > --
> > > Scott J. Burwell, PhD
> > > NIDA T32 Postdoctoral Research Fellow
> > > Department of Psychiatry & Behavioral Sciences
> > > University of Minnesota, Minneapolis, MN
> > > burwell at umn.edu
> > > github.com/sjburwell
> > > _______________________________________________
> > > 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
> > >
> >
> >
> > --
> > Scott J. Burwell, PhD
> > NIDA T32 Postdoctoral Research Fellow
> > Department of Psychiatry & Behavioral Sciences
> > University of Minnesota, Minneapolis, MN
> > burwell at umn.edu
> > github.com/sjburwell
> > _______________________________________________
> > 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
--
Scott J. Burwell, PhD
NIDA T32 Postdoctoral Research Fellow
Department of Psychiatry & Behavioral Sciences
University of Minnesota, Minneapolis, MN
burwell at umn.edu
github.com/sjburwell
More information about the eeglablist
mailing list