def task_fetch_data(): """Step 00: Download the openfmri ds117 dataset files.""" for subject in subjects: t1_fname = fname.t1(subject=subject) sss_fnames = [fname.sss(subject=subject, run=run) for run in range(1, 7)] flash5_fname = fname.flash5(subject=subject) yield dict( name=subject, file_dep=['00_fetch_data.py'], targets=[t1_fname, flash5_fname] + sss_fnames, actions=['python 00_fetch_data.py %s' % subject], )
def task_filter(): """Step 02: Bandpass-filter the data""" for subject in subjects: sss_fnames = [fname.sss(subject=subject, run=run) for run in range(1, 7)] filt_fnames = [fname.filt(subject=subject, run=run, fmin=bandpass_fmin, fmax=bandpass_fmax) for run in range(1, 7)] yield dict( name=subject, task_dep=['anatomy'], file_dep=sss_fnames + ['02_filter.py'], targets=filt_fnames, actions=['python 02_filter.py %s' % subject], )
mne.set_log_level('INFO') # Handle command line arguments parser = argparse.ArgumentParser(description=__doc__) parser.add_argument('subject', metavar='sub###', help='The subject to process') args = parser.parse_args() subject = args.subject print('Processing subject:', subject) # Keep track of PSD plots before and after filtering figs_before = [] figs_after = [] for run in range(1, 7): # Load the SSS transformed data. raw = mne.io.read_raw_fif(fname.sss(subject=subject, run=run), preload=True) # The EOG and ECG channels have been erroneously flagged as EEG channels. raw.set_channel_types({'EEG061': 'eog', 'EEG062': 'eog', 'EEG063': 'ecg', 'EEG064': 'misc'}) # EEG064 free-floating el. raw.rename_channels({'EEG061': 'EOG061', 'EEG062': 'EOG062', 'EEG063': 'ECG063'}) # Drop EEG channels (they are very noisy in this dataset) raw.pick_types(meg=True, eeg=False, eog=True, ecg=True, stim=True) # Bandpass the data.