def test_needs_eeg_average_ref_proj(): """Test checking whether a recording needs an EEG average reference""" raw = Raw(raw_fname, add_eeg_ref=False, preload=False) assert_true(_needs_eeg_average_ref_proj(raw.info)) raw = Raw(raw_fname, add_eeg_ref=True, preload=False) assert_true(not _needs_eeg_average_ref_proj(raw.info)) # No EEG channels raw = Raw(raw_fname, add_eeg_ref=False, preload=True) eeg = [raw.ch_names[c] for c in pick_types(raw.info, meg=False, eeg=True)] raw.drop_channels(eeg) assert_true(not _needs_eeg_average_ref_proj(raw.info)) # Custom ref flag set raw = Raw(raw_fname, add_eeg_ref=False, preload=False) raw.info['custom_ref_applied'] = True assert_true(not _needs_eeg_average_ref_proj(raw.info))
def test_needs_eeg_average_ref_proj(): """Test checking whether a recording needs an EEG average reference""" raw = Raw(raw_fname, add_eeg_ref=False, preload=False) assert_true(_needs_eeg_average_ref_proj(raw.info)) raw = Raw(raw_fname, add_eeg_ref=True, preload=False) assert_true(not _needs_eeg_average_ref_proj(raw.info)) # No EEG channels raw = Raw(raw_fname, add_eeg_ref=False, preload=True) eeg = [raw.ch_names[c] for c in pick_types(raw.info, meg=False, eeg=True)] raw.drop_channels(eeg) assert_true(not _needs_eeg_average_ref_proj(raw.info)) # Custom ref flag set raw = Raw(raw_fname, add_eeg_ref=False, preload=False) raw.info['custom_ref_applied'] = True assert_true(not _needs_eeg_average_ref_proj(raw.info))
def test_needs_eeg_average_ref_proj(): """Test checking whether a recording needs an EEG average reference.""" raw = read_raw_fif(raw_fname) assert _needs_eeg_average_ref_proj(raw.info) raw.set_eeg_reference(projection=True) assert not _needs_eeg_average_ref_proj(raw.info) # No EEG channels raw = read_raw_fif(raw_fname, preload=True) eeg = [raw.ch_names[c] for c in pick_types(raw.info, meg=False, eeg=True)] raw.drop_channels(eeg) assert not _needs_eeg_average_ref_proj(raw.info) # Custom ref flag set raw = read_raw_fif(raw_fname) raw.info['custom_ref_applied'] = True assert not _needs_eeg_average_ref_proj(raw.info)
def test_needs_eeg_average_ref_proj(): """Test checking whether a recording needs an EEG average reference.""" raw = read_raw_fif(raw_fname) assert _needs_eeg_average_ref_proj(raw.info) raw.set_eeg_reference(projection=True) assert not _needs_eeg_average_ref_proj(raw.info) # No EEG channels raw = read_raw_fif(raw_fname, preload=True) eeg = [raw.ch_names[c] for c in pick_types(raw.info, meg=False, eeg=True)] raw.drop_channels(eeg) assert not _needs_eeg_average_ref_proj(raw.info) # Custom ref flag set raw = read_raw_fif(raw_fname) raw.info['custom_ref_applied'] = True assert not _needs_eeg_average_ref_proj(raw.info)
def _raw_LRFCP(raw_names, sfreq, l_freq, h_freq, n_jobs, n_jobs_resample, projs, bad_file, disp_files=False, method='fir', filter_length=32768, apply_proj=True, preload=True, force_bads=False, l_trans=0.5, h_trans=0.5, allow_maxshield=False, phase='zero-double', fir_window='hann', fir_design='firwin2', pick=True, skip_by_annotation=('bad', 'skip')): """Helper to load, filter, concatenate, then project raw files""" from mne.io.proj import _needs_eeg_average_ref_proj if isinstance(raw_names, str): raw_names = [raw_names] if disp_files: print(f' Loading and filtering {len(raw_names)} ' f'file{_pl(raw_names)}.') raw = list() for rn in raw_names: r = read_raw_fif(rn, preload=True, allow_maxshield='yes') r.load_bad_channels(bad_file, force=force_bads) if pick: r.pick_types(meg=True, eeg=True, eog=True, ecg=True, exclude=[]) if _needs_eeg_average_ref_proj(r.info): r.set_eeg_reference(projection=True) if sfreq is not None: r.resample(sfreq, n_jobs=n_jobs_resample, npad='auto') fir_kwargs = _get_fir_kwargs(fir_design)[0] if l_freq is not None or h_freq is not None: r.filter(l_freq=l_freq, h_freq=h_freq, picks=None, n_jobs=n_jobs, method=method, filter_length=filter_length, phase=phase, l_trans_bandwidth=l_trans, h_trans_bandwidth=h_trans, fir_window=fir_window, **fir_kwargs) raw.append(r) _fix_raw_eog_cals(raw) raws_del = raw[1:] raw = concatenate_raws(raw, preload=preload) for r in raws_del: del r if disp_files and apply_proj and len(projs) > 0: print(' Adding and applying projectors.') raw.add_proj(projs) if apply_proj: raw.apply_proj() return raw