Ejemplo n.º 1
0
def run_ica(name, save_dir, lowpass, overwrite):

    ica_name = name + filter_string(lowpass) + '-ica.fif'
    ica_path = join(save_dir, ica_name)

    if overwrite or not isfile(ica_path):

        raw = io.read_filtered(name, save_dir, lowpass)
        epochs = io.read_epochs(name, save_dir, lowpass)

        ica = mne.preprocessing.ICA(n_components=0.95, method='fastica')
        ica.fit(epochs)

        eog_epochs = mne.preprocessing.create_eog_epochs(raw)
        ecg_epochs = mne.preprocessing.create_ecg_epochs(raw)

        eog_indices, eog_scores = ica.find_bads_eog(eog_epochs)
        ecg_indices, ecg_scores = ica.find_bads_ecg(ecg_epochs)

        ica.exclude += eog_indices
        ica.exclude += ecg_indices

        ica.save(ica_path)

    else:
        print('ica file: ' + ica_path + ' already exists')
Ejemplo n.º 2
0
def epoch_raw(name, save_dir, lowpass, event_id, tmin, tmax, baseline, reject,
              bad_channels, decim, overwrite):

    epochs_name = name + filter_string(lowpass) + '-epo.fif'
    epochs_path = join(save_dir, epochs_name)
    if overwrite or not isfile(epochs_path):

        events = io.read_events(name, save_dir)
        raw = io.read_filtered(
            name,
            save_dir,
            lowpass,
        )
        raw.info['bads'] = bad_channels
        picks = mne.pick_types(raw.info,
                               meg=True,
                               eog=True,
                               ecg=True,
                               exclude='bads')

        epochs = mne.Epochs(raw,
                            events,
                            event_id,
                            tmin,
                            tmax,
                            baseline,
                            reject=reject,
                            preload=True,
                            picks=picks,
                            decim=decim)

        epochs.save(epochs_path)

    else:
        print('epochs file: ' + epochs_path + ' already exists')
Ejemplo n.º 3
0
def plot_power_spectra(name, save_dir, lowpass, subject, save_plots,
                       figures_path):

    raw = io.read_filtered(name, save_dir, lowpass)
    psd_figure = raw.plot_psd(fmax=lowpass, n_jobs=1, show=False)  # n_jobs=-1)

    if save_plots:
        save_path = join(figures_path, subject, 'power_spectra_raw', name + \
                             filter_string(lowpass) + '.jpg')
        psd_figure.savefig(save_path, dpi=600)
        print 'figure: ' + save_path + ' has been saved'
    else:
        print 'Not saving plots; set "save_plots" to "True" to save'
Ejemplo n.º 4
0
def find_events(name, save_dir, stim_channel, min_duration,
                adjust_timeline_by_msec, lowpass, overwrite):

    events_name = name + '-eve.fif'
    events_path = join(save_dir, events_name)
    if overwrite or not isfile(events_path):

        raw = io.read_filtered(name, save_dir, lowpass)
        events = mne.find_events(raw, stim_channel, min_duration=min_duration)
        events[:, 0] = [ts + np.round(adjust_timeline_by_msec * 10**-3 * \
                    raw.info['sfreq']) for ts in events[:, 0]]

        mne.event.write_events(events_path, events)

    else:
        print('event file: ' + events_path + ' already exists')
Ejemplo n.º 5
0
def plot_filtered(name, save_dir, lowpass):

    raw = io.read_filtered(name, save_dir, lowpass)
    raw.plot()