def test_filterestimator(): """Test methods of FilterEstimator """ raw = io.Raw(raw_fname, preload=False) events = read_events(event_name) picks = pick_types(raw.info, meg=True, stim=False, ecg=False, eog=False, exclude="bads") picks = picks[1:13:3] epochs = Epochs(raw, events, event_id, tmin, tmax, picks=picks, baseline=(None, 0), preload=True) epochs_data = epochs.get_data() # Add tests for different combinations of l_freq and h_freq filt = FilterEstimator(epochs.info, l_freq=1, h_freq=40) y = epochs.events[:, -1] with warnings.catch_warnings(record=True): # stop freq attenuation warning X = filt.fit_transform(epochs_data, y) assert_true(X.shape == epochs_data.shape) assert_array_equal(filt.fit(epochs_data, y).transform(epochs_data), X) filt = FilterEstimator(epochs.info, l_freq=0, h_freq=40) y = epochs.events[:, -1] with warnings.catch_warnings(record=True): # stop freq attenuation warning X = filt.fit_transform(epochs_data, y) filt = FilterEstimator(epochs.info, l_freq=1, h_freq=1) y = epochs.events[:, -1] with warnings.catch_warnings(record=True): # stop freq attenuation warning assert_raises(ValueError, filt.fit_transform, epochs_data, y) filt = FilterEstimator(epochs.info, l_freq=1, h_freq=None) with warnings.catch_warnings(record=True): # stop freq attenuation warning X = filt.fit_transform(epochs_data, y) # Test init exception assert_raises(ValueError, filt.fit, epochs, y) assert_raises(ValueError, filt.transform, epochs, y)
def test_filterestimator(): """Test methods of FilterEstimator.""" raw = io.read_raw_fif(raw_fname) events = read_events(event_name) picks = pick_types(raw.info, meg=True, stim=False, ecg=False, eog=False, exclude='bads') picks = picks[1:13:3] epochs = Epochs(raw, events, event_id, tmin, tmax, picks=picks, baseline=(None, 0), preload=True) epochs_data = epochs.get_data() # Add tests for different combinations of l_freq and h_freq filt = FilterEstimator(epochs.info, l_freq=40, h_freq=80) y = epochs.events[:, -1] X = filt.fit_transform(epochs_data, y) assert (X.shape == epochs_data.shape) assert_array_equal(filt.fit(epochs_data, y).transform(epochs_data), X) filt = FilterEstimator(epochs.info, l_freq=None, h_freq=40, filter_length='auto', l_trans_bandwidth='auto', h_trans_bandwidth='auto') y = epochs.events[:, -1] X = filt.fit_transform(epochs_data, y) filt = FilterEstimator(epochs.info, l_freq=1, h_freq=1) y = epochs.events[:, -1] with pytest.warns(RuntimeWarning, match='longer than the signal'): pytest.raises(ValueError, filt.fit_transform, epochs_data, y) filt = FilterEstimator(epochs.info, l_freq=40, h_freq=None, filter_length='auto', l_trans_bandwidth='auto', h_trans_bandwidth='auto') X = filt.fit_transform(epochs_data, y) # Test init exception pytest.raises(ValueError, filt.fit, epochs, y) pytest.raises(ValueError, filt.transform, epochs)
rt_client.send_data(rt_epochs, picks, tmin=0, tmax=90, buffer_size=1000) # Decoding in sensor space using a linear SVM n_times = len(rt_epochs.times) from sklearn import preprocessing # noqa from sklearn.svm import SVC # noqa from sklearn.pipeline import Pipeline # noqa from sklearn.model_selection import cross_val_score, ShuffleSplit # noqa from mne.decoding import Vectorizer, FilterEstimator # noqa scores_x, scores, std_scores = [], [], [] # don't highpass filter because it's epoched data and the signal length # is small filt = FilterEstimator(rt_epochs.info, None, 40, fir_design='firwin') scaler = preprocessing.StandardScaler() vectorizer = Vectorizer() clf = SVC(C=1, kernel='linear') concat_classifier = Pipeline([('filter', filt), ('vector', vectorizer), ('scaler', scaler), ('svm', clf)]) data_picks = mne.pick_types(rt_epochs.info, meg='grad', eeg=False, eog=True, stim=False, exclude=raw.info['bads']) ax = plt.subplot(111) ax.set_xlabel('Trials')
def test_filterestimator(): """Test methods of FilterEstimator.""" raw = io.read_raw_fif(raw_fname) events = read_events(event_name) picks = pick_types(raw.info, meg=True, stim=False, ecg=False, eog=False, exclude='bads') picks = picks[1:13:3] epochs = Epochs(raw, events, event_id, tmin, tmax, picks=picks, baseline=(None, 0), preload=True) epochs_data = epochs.get_data() # Add tests for different combinations of l_freq and h_freq filt = FilterEstimator(epochs.info, l_freq=40, h_freq=80, filter_length='auto', l_trans_bandwidth='auto', h_trans_bandwidth='auto') y = epochs.events[:, -1] with warnings.catch_warnings(record=True): # stop freq attenuation warning X = filt.fit_transform(epochs_data, y) assert_true(X.shape == epochs_data.shape) assert_array_equal(filt.fit(epochs_data, y).transform(epochs_data), X) filt = FilterEstimator(epochs.info, l_freq=None, h_freq=40, filter_length='auto', l_trans_bandwidth='auto', h_trans_bandwidth='auto') y = epochs.events[:, -1] with warnings.catch_warnings(record=True): # stop freq attenuation warning X = filt.fit_transform(epochs_data, y) filt = FilterEstimator(epochs.info, l_freq=1, h_freq=1) y = epochs.events[:, -1] with warnings.catch_warnings(record=True): # stop freq attenuation warning assert_raises(ValueError, filt.fit_transform, epochs_data, y) filt = FilterEstimator(epochs.info, l_freq=40, h_freq=None, filter_length='auto', l_trans_bandwidth='auto', h_trans_bandwidth='auto') with warnings.catch_warnings(record=True): # stop freq attenuation warning X = filt.fit_transform(epochs_data, y) # Test init exception assert_raises(ValueError, filt.fit, epochs, y) assert_raises(ValueError, filt.transform, epochs, y)
# send raw buffers rt_client.send_data(rt_epochs, picks, tmin=0, tmax=90, buffer_size=1000) # Decoding in sensor space using a linear SVM n_times = len(rt_epochs.times) from sklearn import preprocessing # noqa from sklearn.svm import SVC # noqa from sklearn.pipeline import Pipeline # noqa from sklearn.cross_validation import cross_val_score, ShuffleSplit # noqa from mne.decoding import Vectorizer, FilterEstimator # noqa scores_x, scores, std_scores = [], [], [] filt = FilterEstimator(rt_epochs.info, 1, 40) scaler = preprocessing.StandardScaler() vectorizer = Vectorizer() clf = SVC(C=1, kernel='linear') concat_classifier = Pipeline([('filter', filt), ('vector', vectorizer), ('scaler', scaler), ('svm', clf)]) data_picks = mne.pick_types(rt_epochs.info, meg='grad', eeg=False, eog=True, stim=False, exclude=raw.info['bads']) for ev_num, ev in enumerate(rt_epochs.iter_evoked()):
# The with statement is necessary to ensure a clean exit with StimServer('localhost', port=4218) as stim_server: # The channels to be used while decoding picks = mne.pick_types(raw.info, meg='grad', eeg=False, eog=True, stim=True, exclude=raw.info['bads']) rt_client = MockRtClient(raw) # Constructing the pipeline for classification filt = FilterEstimator(raw.info, 1, 40) scaler = preprocessing.StandardScaler() concatenator = ConcatenateChannels() clf = SVC(C=1, kernel='linear') concat_classifier = Pipeline([('filter', filt), ('concat', concatenator), ('scaler', scaler), ('svm', clf)]) stim_server.start(verbose=True) # Just some initially decided events to be simulated # Rest will decided on the fly ev_list = [4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4] score_c1, score_c2, score_x = [], [], []
# The channels to be used while decoding picks = mne.pick_types(raw.info, meg='grad', eeg=False, eog=False, stim=False, exclude=raw.info['bads']) rt_client = MockRtClient(raw) # Constructing the pipeline for classification # don't highpass filter because of short signal length of epochs filt = FilterEstimator( raw.info, None, 40, # keep all channels that are picked from the # RtClient picks=np.arange(len(picks), dtype=int)) scaler = preprocessing.StandardScaler() vectorizer = Vectorizer() clf = SVC(C=1, kernel='linear') concat_classifier = Pipeline([('filter', filt), ('vector', vectorizer), ('scaler', scaler), ('svm', clf)]) stim_server.start(verbose=True) # Just some initially decided events to be simulated # Rest will decided on the fly ev_list = [4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4]
rt_client.send_data(rt_epochs, picks, tmin=0, tmax=90, buffer_size=1000) # Decoding in sensor space using a linear SVM n_times = len(rt_epochs.times) from sklearn import preprocessing # noqa from sklearn.svm import SVC # noqa from sklearn.pipeline import Pipeline # noqa from sklearn.cross_validation import cross_val_score, ShuffleSplit # noqa from mne.decoding import Vectorizer, FilterEstimator # noqa scores_x, scores, std_scores = [], [], [] # don't highpass filter because it's epoched data and the signal length # is small filt = FilterEstimator(rt_epochs.info, None, 40) scaler = preprocessing.StandardScaler() vectorizer = Vectorizer() clf = SVC(C=1, kernel='linear') concat_classifier = Pipeline([('filter', filt), ('vector', vectorizer), ('scaler', scaler), ('svm', clf)]) data_picks = mne.pick_types(rt_epochs.info, meg='grad', eeg=False, eog=True, stim=False, exclude=raw.info['bads']) ax = plt.subplot(111) ax.set_xlabel('Trials')