[Eeglablist] Handling Abrupt Changes After ASR Preprocessing
Arnaud Delorme
adelorme at ucsd.edu
Thu Oct 10 08:30:06 PDT 2024
There are two ways to using clean_rawdata in EEGLAB on continuous data:
- Window rejections (default): This will not affect the phase; it is similar to manually rejecting portions of data.
- ASR correction (uncheck the “remove bad data periods” checkbox as recommended by Makoto): This will attempt to correct the EEG using the ASR method and could potentially affect the signal.
Arno
> On Oct 9, 2024, at 22:11, 和田真孝 via eeglablist <eeglablist at sccn.ucsd.edu> wrote:
>
> Hi all,
>
> I appreciate all of your support and advice. The filter function in EEG sounds great, as it doesn’t affect the boundary. So, I think most of my concerns for power analysis are resolved. However, as you mentioned, this method still distorts the phase data, and I believe it's impossible to correct after epoch rejection. I think using clean_rawdata with ASR, without the window rejection function, is really helpful as it keeps the data continuous.
>
> Thank you all for the valuable information.
>
> Best,
> Masa
>
> From: eeglablist <eeglablist-bounces at sccn.ucsd.edu> on behalf of Makoto Miyakoshi via eeglablist <eeglablist at sccn.ucsd.edu>
> Date: Wednesday, October 9, 2024 at 15:09
> To: eeglab list <eeglablist at sccn.ucsd.edu>
> Subject: Re: [Eeglablist] Handling Abrupt Changes After ASR Preprocessing
> John is absolutely right.
> The original ASR, which is the core part of clean_rawdata, DOES address
> this issue by using the exact solution John has suggested.
> If I remember correctly, clean_rawdata (written by Christian) uses linear
> blending, while CleanLine (written by Tim) uses sigmoidal curves. Users can
> even specify the slope coeffs.
> However, when Arno implemented the current version of clean_rawdata (I used
> to manage it until 2017 ish), he added 'window rejection instead of ASR'
> with the default 'on'. This disables ASR.
>
> I once showed the time-frequency plot of a simulated signal with
> discontinuities. You can see that demo in the following Youtube video from
> NIH HBCD summer seminar in 2023.
> https://urldefense.com/v3/__https://youtu.be/NHKIPU_T7-0?t=1861__;!!Mih3wA!Gc6HvV3RyZbgy0n8c_IucAWN5J5fZXKIU3ul5G4MFaNKLvl9yAF3i2RC5hfB8i_GE4ZRp7nVFEj6F8LXzpm4n0_XjrY$<https://urldefense.com/v3/__https:/youtu.be/NHKIPU_T7-0?t=1861__;!!Mih3wA!Gc6HvV3RyZbgy0n8c_IucAWN5J5fZXKIU3ul5G4MFaNKLvl9yAF3i2RC5hfB8i_GE4ZRp7nVFEj6F8LXzpm4n0_XjrY$>
> Note that, as Arno explained, their filter functions are designed not to go
> over the 'boundary' event markers. So as long as you use EEGLAB functions,
> you do not experience the problem shown in the movie.
>
> However, the basic problem is still there. When I process the data on my
> own, writing extra lines to exclude data windows that contain 'boundary' is
> cumbersome.
> If you feel the same, I recommend you try the following steps.
>
> 1. Use clean_rawdata with ASR 'on' (i.e. uncheck the window rejection
> instead of ASR)
> 2. Disable the final window rejection
>
> The step 2 means that clean_rawdata checks whether ASR could really clean
> the data. When it finds the ASR cleaning was not effective enough, it
> rejects that window (default 0.5 or 1.0 s, I forget).
> However, you can disable it. The reason for disabling it is so that
> clean_rawdata does not change data length or event structures.
> If you perform event-related potential analysis, you can reject 'bad
> epochs' after all of these preprocessing and filtering, which is more
> streamlined in my opinion.
>
> As I discussed the issue with Masa yesterday, I heard that he was concerned
> with the possibility that ASR may throw in some artificial signal in the
> process of interpolation. Well, if you see my demonstration in the video,
> you will find out your concern is probably unnecessary.
>
> There is a very brief commentary on ASR. If you are not familiar with ASR,
> you might find it informative.
> https://urldefense.com/v3/__https://academic.oup.com/sleep/article/46/12/zsad241/7275639__;!!Mih3wA!Gc6HvV3RyZbgy0n8c_IucAWN5J5fZXKIU3ul5G4MFaNKLvl9yAF3i2RC5hfB8i_GE4ZRp7nVFEj6F8LXzpm4pjvstZQ$<https://urldefense.com/v3/__https:/academic.oup.com/sleep/article/46/12/zsad241/7275639__;!!Mih3wA!Gc6HvV3RyZbgy0n8c_IucAWN5J5fZXKIU3ul5G4MFaNKLvl9yAF3i2RC5hfB8i_GE4ZRp7nVFEj6F8LXzpm4pjvstZQ$>
>
> I have published several thousands of EEG datasets (see my schizophrenia
> papers with UCSD Psychiatry--this alone should count >3000) so far that
> were processed with ASR. I also published technical papers reporting ASR's
> behavior.
> For example, see this paper--this is a study on systematic comparison with
> no cleaning, ASR, ASR+ICA_level1, and ASR+ICA_level2.
> https://urldefense.com/v3/__https://www.sciencedirect.com/science/article/pii/S0920121121002643?via*3Dihub__;JQ!!Mih3wA!Gc6HvV3RyZbgy0n8c_IucAWN5J5fZXKIU3ul5G4MFaNKLvl9yAF3i2RC5hfB8i_GE4ZRp7nVFEj6F8LXzpm4w5a2_LU$<https://urldefense.com/v3/__https:/www.sciencedirect.com/science/article/pii/S0920121121002643?via*3Dihub__;JQ!!Mih3wA!Gc6HvV3RyZbgy0n8c_IucAWN5J5fZXKIU3ul5G4MFaNKLvl9yAF3i2RC5hfB8i_GE4ZRp7nVFEj6F8LXzpm4w5a2_LU$>
>
> My post-doc Heyonseok and I have submitted a paper entitled "Juggler's ASR"
> which is under review now. I advocate ASR. Without ASR, how do you process
> EEG data recorded during three-ball juggling?
> The Three-ball juggling EEG presentation (July 2023, Tel Aviv)
> https://urldefense.com/v3/__https://youtu.be/t777R12DYhA__;!!Mih3wA!Gc6HvV3RyZbgy0n8c_IucAWN5J5fZXKIU3ul5G4MFaNKLvl9yAF3i2RC5hfB8i_GE4ZRp7nVFEj6F8LXzpm4L9sJd00$<https://urldefense.com/v3/__https:/youtu.be/t777R12DYhA__;!!Mih3wA!Gc6HvV3RyZbgy0n8c_IucAWN5J5fZXKIU3ul5G4MFaNKLvl9yAF3i2RC5hfB8i_GE4ZRp7nVFEj6F8LXzpm4L9sJd00$>
>
> Makoto
>
> On Tue, Oct 8, 2024 at 1:21 PM Hanna Szakács via eeglablist <
> eeglablist at sccn.ucsd.edu> wrote:
>
>> In the case of a phase analysis, would the abrupt changes introduce noise,
>> masking the phase alignments, or introduce false data?
>>
>> Arnaud Delorme via eeglablist <eeglablist at sccn.ucsd.edu> ezt írta
>> (időpont:
>> 2024. okt. 8., Ke 3:55):
>>
>>> If you are using the clean_rawdata plugin on EEGLAB, it will add
>>> discontinuity events between segments (i.e. ‘boundary’ events). When you
>>> perform spectral decompositions in EEGLAB, the spectral decomposition
>> will
>>> not cross these boundaries and will process each chunk individually (this
>>> is true for both the dataset and the study level).
>>>
>>> Arno
>>>
>>>> On Oct 7, 2024, at 11:53, Hanna Szakács via eeglablist <
>>> eeglablist at sccn.ucsd.edu> wrote:
>>>>
>>>> Hi, this is something that interests me as well and I haven't found a
>>> clear
>>>> answer online or on the EEGLAB forums so far. So I'm piggybacking on
>>> Masa's
>>>> message to ask the community for clarification.
>>>>
>>>> Best,
>>>> Hanna
>>>>
>>>> 和田真孝 via eeglablist <eeglablist at sccn.ucsd.edu> ezt írta (időpont:
>> 2024.
>>>> okt. 6., Vas 3:22):
>>>>
>>>>> Hi all,
>>>>>
>>>>> I usually use ASR for preprocessing in resting-state EEG analysis.
>> This
>>>>> function removes segments of data that contain excessive noise. It
>> works
>>>>> quite well; however, after the rejection, it directly concatenates the
>>>>> periods before and after the removed segments, resulting in abrupt
>>> changes
>>>>> in the waveform. I am concerned that these abrupt changes may
>> introduce
>>>>> additional noise, such as ripples, in subsequent steps of the
>> analysis,
>>>>> such as time-frequency or connectivity analysis.
>>>>>
>>>>> Is this approach acceptable for further analysis? Or do you know of
>> any
>>>>> good solutions to avoid this problem?
>>>>>
>>>>> Best,
>>>>> Masa
>>>>>
>>>>> --
>>>>> Masataka Wada
>>>>> Postdoctoral Scholar, Brain Stimulation Lab
>>>>> Department of Psychiatry and Behavioral Sciences
>>>>> Stanford University
>>>>> _______________________________________________
>>>>> 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
> _______________________________________________
> 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
More information about the eeglablist
mailing list