Giter Site home page Giter Site logo

Comments (7)

VisLab avatar VisLab commented on May 18, 2024 2

If you use the default settings for PREP is to high-pass filter at 1 Hz for calculating the robust reference only, but the postprocess keepFiltered parameter is false by default. You are not getting the filtered signal. If you want it to be high-pass filtered, you need to set keepFiltered to true.

Beyond that, it would be good to go through the tutorials for EEGLAB. They have a recommended processing pipeline. You should read through their recommendations. before proceeding. You should also join the EEGLAB mailing list. They really focus on these types of user issues and are quick to respond with useful information.

from eeg-clean-tools.

VisLab avatar VisLab commented on May 18, 2024 2

HERE are two alternative strategies for preprocessing.

  1. EEGLAB has recently gone to:
    clean_rawdata (which is line noise-> detrend -> ASR) I think ASR removes bad channels by default but you have to check.

  2. Alternatively you can use PREP which does
    line noise --> identifying bad channels and robust referencing --> postprocess(interpolate the bad channels if you want to and high-pass filter if you want to).

These are mutually exclusive. PREP is a lighter touch strategy in that it tries to do as little as possible to the signal. ASR depends on the std parameter.

After you do one (and only one of these) you should consider doing ICA and ICALabel to get rid of bad ICs.

It is important that you read the documentation. I think the easiest for someone new to the field is to use clean_rawdata. You might want to take a look at our paper describing differences in results: https://pubmed.ncbi.nlm.nih.gov/32217478/.

Again, you should join the EEGLAB mailing list and you can get some opinions on the list about the best way to proceed for your application.

from eeg-clean-tools.

VisLab avatar VisLab commented on May 18, 2024 2
  1. I would do the line noise first anyway. There are high-frequency versus low frequency tests for bad channels and if you have too much line noise left in the signal you might throw away channels that you don't need to. The clean-line used in Prep by default doesn't get all of the line noise if it is non-stationary, but it usually gets enough for the bad channel tests. There are other things you can do if you are analyzing in the gamma range, like notch filters to get it all.

  2. I would advise you to save your EEG after PREP so that you don't have to redo it if you change downstream processing as PREP is slow, especially if you don't have enough cores.

  3. you want params.removeInterpolatedChannels = false

  4. Prep isn't currently setting the ref field in EEG and the reference field in the chanlocs. Maybe it will on the next release. You should ignore. You don't need to reference.

  5. If you use PREP do not rereference. It won't hurt if you have left all of the interpolated channels in and pick the same reference channels. What PREP mainly does is compensate in average referencing for really bad channels. Bottom line: if you average reference when you have even one bad channel, you end up with all bad channels.

from eeg-clean-tools.

VisLab avatar VisLab commented on May 18, 2024 1

This is the EEGLAB menu, not the PREP pipeline menu. It looks like you have already loaded a dataset. Go to the Tools menu and select the menu item for the PREP pipeline. There will be a menu with buttons for each stage. You will need to set channel numbers in each stage. If you don't PREP uses them all. For line noise removal, you want to include EOG channels. For detrend channels, you probably want to include EOG. For doing the reference, there are actually three sets of channel numbers you need to set.

  1. evaluation channels --- used to evaluate which channels are noisy (use just EEG channels)
  2. reference channels --- used to evaluate the robust average reference (use just EEG channels)
  3. rereference channels --- these channels have the robust average reference subtracted from them (often both EEG and EOG channels are referenced, but not always --- depends on your application).

from eeg-clean-tools.

guishuyunye-lyw avatar guishuyunye-lyw commented on May 18, 2024

Thank you so much for your reply! I process my data with PREP again following your advices, step by step.
Veog channel's number is the 20. I still not clear with should I do the channel location firstly.
image
After the channel location process through eeglab edit. I ran Prep.
image
image
image
In China, the line frequency is 50hz
image
Excluded 20th channel under reference channnels and evaluation channels condition.
image
After the whole process, I went back to eeglab interface, which shows the data is still unrereference.
image

According to the introduction of PREP, I thought this process have completed the procedures for me:
1 high pass
2 line noise
3 rereference
So I just need to do a low pass process before ICA, without another rereference and other preprocesses?

I am still a amateur in processing EEG data, thx for your patience!

from eeg-clean-tools.

guishuyunye-lyw avatar guishuyunye-lyw commented on May 18, 2024

If you use the default settings for PREP is to high-pass filter at 1 Hz for calculating the robust reference only, but the postprocess keepFiltered parameter is false by default. You are not getting the filtered signal. If you want it to be high-pass filtered, you need to set keepFiltered to true.

Beyond that, it would be good to go through the tutorials for EEGLAB. They have a recommended processing pipeline. You should read through their recommendations. before proceeding. You should also join the EEGLAB mailing list. They really focus on these types of user issues and are quick to respond with useful information.

Thank you so much for your reply!
I have processed my data of last experiment through the pipeline recommended by EEGlab, and want to refine this process this time. I just cannot tell the bound between PREP and regular process. Where should I put the PREP? As I mention before, PREP's setting sometimes could mislead me to think the high-pass was completed. I just cannot figure out which part has been done after PREP?How could I find out which part is completed easily? NOW, I am even not sure about if I should remove line noise and reset reference again?
image

from eeg-clean-tools.

guishuyunye-lyw avatar guishuyunye-lyw commented on May 18, 2024

Thx for your patience again!
I have went through the discussion about prep on eeglab maillist yesterday, also sent my questions to the agent through email, which is still in holding state.

Sorry for more question below:

1 If I want to keep the interpolation completed by PREP process, should I set params.removeInterpolatedChannels from true to false?
image

2 I check the report.pdf file generated with PREP process, and found that the line noise is not omit completely at 50hz.
image

BTW, I saw someone has asked questions on eeglab maillist like: if I do a 45 low-pass filter, is it necessary to do this line noise filter? I am also feel confused with it.

3 Again, because I do not find any parameter about the setting of channel location, so I want to know if I should do it firstly? Because in my opinion, the location information is necessary for interpolation procedure.

4 lastly, after the process of PREP, should I make reference again, for the eeglab interface is still showing that reference is unknown.
image
image

Thanks a lot for your patience! I get a hard time to figure this process out, your reply is an encouragement for me!

from eeg-clean-tools.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.