[Eeglablist] Inconsistent results clean_artifacts follow up

Daniele Scanzi dsca347 at aucklanduni.ac.nz
Fri Mar 4 21:47:40 PST 2022


Hi there,

I thought to follow up this thread here (
https://sccn.ucsd.edu/pipermail/eeglablist/2020/015456.html) about
inconsistent results using *clean_artifacts* to detect and remove bad
channels.

I was processing a dataset and encountered the same problem. After
investigating for a while, I observed that the results are inconsistent
when:


   1. The recording is short (less than 10 minutes recorded at 1000Hz
   before downsampling at 250Hz). So, in general, when the data has less than
   150.000 samples. The less the number of samples, the more inconsistent the
   results are.
   2. The cut-off for the low-pass filter is 0.1 (as used in ERP research).


It seems that these two conditions need to be both met to run into
inconsistencies. Furthermore, the two conditions appear to be related. In
general, the lower the number of sample, the higher the cut-off at which
inconsistencies appears.

As reported in the thread above, I suspect that the reason relies on the
use of *rand()* in *clean_channels *(line 187). Setting rng('default')
before calling *clean_artifacts* produces consistent results. Although they
are not reliable as it is unsure whether the flagged channels are actually
noisy or not.

I do not think there is much that needs to be done (maybe having a message
in case someone is trying to use a short dataset?). I will try to open an
issue on Github to introduce this. But I thought that having this thread
here might help someone in the future looking on Google for this behaviour.

Thank you for your work,

Daniele Scanzi



More information about the eeglablist mailing list