<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
</head>
<body>
Hi,<br>
<br>
According to Makoto's preprocessing pipeline, a low-pass filter is necessary before downsampling for anti-aliasing, but EEGLAB function applies the anti-aliasing filter automatically. I would therefore use the EEGlab doe sample function, as I'm not sure if
 ERPlab implements antialiasing as part of their downsample. This is important as you filter after you downsample.
<br>
<br>
In my previous work, I also preferred to interpolate after ICA, but this does cause a few issues in eeglab. I did find a workaround which involved removing all ICA info from the data when re-referencing etc, but it's not ideal. So I decided to interpolate before
 hand and the prevent rank deficiency by either (deleting channels which are not needed or by doing PCA rank reduction. See amica and Makoto's tutorial for this).<br>
Also, I agree that removing low freq info is problematic but you can always train your ICA on a 1Hz filtered set and then apply the weights to your dataset (with the low freq info intact).
<br>
Also my advice is to check your filters work as expected by plotting the frequency response before and after filtering- you can just use matlab pwelsh to the raw data on one channel- check attenuation occurs at your desired frequencies.
<br>
Thanks,<br>
Jumana <br>
------------------------------------------<br>
Jumana Ahmad<br>
Post-Doctoral Research Worker in Cognitive Neuroscience<br>
EU-AIMS Longitudinal European Autism Project (LEAP) & SynaG Study<br>
Room M1.26.Department of Forensic and Neurodevelopmental Sciences (PO 23) | Institute of Psychiatry, Psychology & Neuroscience | King’s College London | 16 De Crespigny Park | London SE5 8AF<br>
<br>
Phone: 0207 848 5359| Email: jumana.ahmad@kcl.ac.uk | Website: www.eu-aims.eu | Facebook: www.facebook.com/euaims<br>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> eeglablist-bounces@sccn.ucsd.edu <eeglablist-bounces@sccn.ucsd.edu> on behalf of Rafał Jończyk <rafal.jonczyk@gmail.com><br>
<b>Sent:</b> 07 February 2017 16:48:26<br>
<b>To:</b> eeglablist@sccn.ucsd.edu<br>
<b>Subject:</b> [Eeglablist] Slow cortical potential analysis-preprocessing pipeline</font>
<div> </div>
</div>
<div>
<div dir="ltr">
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif">
<p style="margin-bottom:0cm;line-height:100%">Dear eeglab(list) users,</p>
<p style="margin-bottom:0cm;line-height:100%">I’m currently analysing a 64-channel dataset looking at a slow cortical potential – Stimulus Preceding Negativity (each epoch lasts 3800 ms). I'm using eeglab and erplab. I’ve been thinking which processing steps
 would be best to get the a reliable dataset, i.e., representative of what’s really going on without unintentionally getting an effect due to incorrect preprocessing analysis.<br>
</p>
<p align="justify" style="margin-bottom:0cm;line-height:100%">Below I present the pipeline I’ve been experimenting with so far. Steps marked with „*” are done in erplab. I would really appreciate your feedback, because I’m still relatively new to EEG analysis.
 Also, I shortly discuss the issue of channel interpolation/ICA below the pipeline.</p>
<p align="justify" style="margin-bottom:0cm;line-height:100%">1. Re-sample from 1000Hz to 500Hz<br>
</p>
<p align="justify" style="margin-bottom:0cm;line-height:100%">2. Edit channel locations + append Cz + re-reference to Cz</p>
<p align="justify" style="margin-bottom:0cm;line-height:100%">3. Filter: lowpass, cut-off at 20Hz, order 2 (12 dB/Octave)*</p>
<p align="justify" style="margin-bottom:0cm;line-height:100%">4. Epoch [-0.105 3.805]</p>
<p align="justify" style="margin-bottom:0cm;line-height:100%">5. Automatic Epoch Rejection (based on probability) + rejection based on visual inspection</p>
<p align="justify" style="margin-bottom:0cm;line-height:100%">6. ICA (runica)</p>
<p align="justify" style="margin-bottom:0cm;line-height:100%">7. Removing ICA components: only components related to eye movements + visual inspection</p>
<p align="justify" style="margin-bottom:0cm;line-height:100%">8. Convert epochs to a continuous dataset*</p>
<p align="justify" style="margin-bottom:0cm;line-height:100%">9. Creating event lists & assigning bins*</p>
<p align="justify" style="margin-bottom:0cm;line-height:100%">10. Epoching: [-100 3800]*</p>
<p align="justify" style="margin-bottom:0cm;line-height:100%">11. Baseline removal [-100 0]*</p>
<p align="justify" style="margin-bottom:0cm;line-height:100%">12. Artefact rejection (peak-to-peak moving window)*</p>
<p align="justify" style="margin-bottom:0cm;line-height:100%">13. Averaging + visual inspection*</p>
<p align="justify" style="margin-bottom:0cm;line-height:100%">14. Global average*</p>
<p align="justify" style="margin-bottom:0cm;line-height:100%">##Comment concerning Step 2: I assume it would be better to remove bad channels after re-sampling, then re-reference to Cz with bad channels removed, and then interpolate bad channels from previous
 dataset (one with bad channels included) so as to avoid puting noise into the average. This will be followed by filtering in step 3. The problem I have, however, is that ICA is not advised to be run on interpolated channels. Is there a possible compromise/solution
 to this issue?<br>
</p>
<p align="left" style="margin-bottom:0cm;line-height:100%">I would be very eager to follow the preprocessing and data cleaning advice suggested in Mokoto’s pipeline, PREP pipeline, or CleanLine plugin more closely, but their approach is largely based on high-pass
 filtering which would eliminate the slow drifts I’m looking at. <br>
</p>
<p align="left" style="margin-bottom:0cm;line-height:100%">Thank you for your insights!<br>
Best,<br>
Rafal</p>
<p align="justify" style="margin-bottom:0cm;line-height:100%"><span style="font-family:arial,sans-serif">-- </span><br>
</p>
</div>
<div class="gmail_signature">
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div>
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div><font size="2"><span>Rafał Jończyk</span><br>
</font></div>
<div><font size="2">Assistant Professor<br>
</font></div>
<div><font size="2">Faculty of English</font></div>
<div><font size="2">Adam Mickiewicz University, Poznań | Poland<br>
</font></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>