Comments (7)
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.
HERE are two alternative strategies for preprocessing.
-
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. -
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.
-
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.
-
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.
-
you want params.removeInterpolatedChannels = false
-
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.
-
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.
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.
- evaluation channels --- used to evaluate which channels are noisy (use just EEG channels)
- reference channels --- used to evaluate the robust average reference (use just EEG channels)
- 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.
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.
After the channel location process through eeglab edit. I ran Prep.
In China, the line frequency is 50hz
Excluded 20th channel under reference channnels and evaluation channels condition.
After the whole process, I went back to eeglab interface, which shows the data is still unrereference.
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.
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?
from eeg-clean-tools.
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?
2 I check the report.pdf file generated with PREP process, and found that the line noise is not omit completely at 50hz.
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.
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)
- adding back online reference
- restoreEEGOptions not quite working correctly HOT 1
- struct2str getNumerical HOT 2
- Change to EEGLAB options HOT 1
- Change name of findpeaks
- Print out errors on command line when verbose option is set HOT 1
- should I do a low pass filter and another rereference after PREP, before ICA?
- Add reference information in EEG struct after PREP
- Crash on movefile in publishPrepReport HOT 4
- Interpolation prior to ICA HOT 2
- Minimum of three iterations in robust re-reference? HOT 2
- Error using cleanLineNoise (line 57) HOT 3
- Bad-by-dropout channels ignored during re-referencing? HOT 5
- Why is EEGlab PREP not flagging up EEG files as "problematic" if the number of interpolated channels is > 25%? HOT 1
- Out of memory error HOT 3
- Channel locations missing after the pipeline
- Computation of windowSize based on detrendCutoff in localDetrend HOT 7
- PyPrep Noisy Channel Parameters
- Keep receiving errors when running the PREPpipeline
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eeg-clean-tools.