def test_anova_parc(): "Test ANOVA with parc argument and source space data" set_log_level('warning', 'mne') ds = datasets.get_mne_sample(src='ico', sub="side.isin(('L', 'R'))") y = ds['src'].sub(source=('lateraloccipital-lh', 'cuneus-lh')) y1 = y.sub(source='lateraloccipital-lh') y2 = y.sub(source='cuneus-lh') kwa = dict(ds=ds, tstart=0.2, tstop=0.3, samples=100) resp = testnd.anova(y, "side*modality", pmin=0.05, parc='source', **kwa) c1p = resp.find_clusters(source='lateraloccipital-lh') c2p = resp.find_clusters(source='cuneus-lh') del c1p['p_parc', 'id'] del c2p['p_parc', 'id'] res1 = testnd.anova(y1, "side*modality", pmin=0.05, **kwa) c1 = res1.find_clusters() del c1['id'] res2 = testnd.anova(y2, "side*modality", pmin=0.05, **kwa) c2 = res2.find_clusters() del c2['id'] assert_dataset_equal(c1p, c1) assert_dataset_equal(c2p, c2) assert_array_equal(c2['p'], [ 0.85, 0.88, 0.97, 0.75, 0.99, 0.99, 0.98, 0.0, 0.12, 0.88, 0.25, 0.97, 0.34, 0.96 ]) # without multiprocessing configure(n_workers=0) ress = testnd.anova(y, "side*modality", pmin=0.05, parc='source', **kwa) c1s = ress.find_clusters(source='lateraloccipital-lh') c2s = ress.find_clusters(source='cuneus-lh') del c1s['p_parc', 'id'] del c2s['p_parc', 'id'] assert_dataset_equal(c1s, c1) assert_dataset_equal(c2s, c2) configure(n_workers=True) # parc but single label resp2 = testnd.anova(y2, "side*modality", pmin=0.05, parc='source', **kwa) c2sp = resp2.find_clusters(source='cuneus-lh') del c2sp['p_parc', 'id'] assert_dataset_equal(c2sp, c2) # not defined assert_raises(NotImplementedError, testnd.anova, y, "side*modality", tfce=True, parc='source', **kwa)
def test_anova_parc(): "Test ANOVA with parc argument and source space data" set_log_level('warning', 'mne') ds = datasets.get_mne_sample(src='ico', sub="side.isin(('L', 'R'))") y = ds['src'].sub(source=('lateraloccipital-lh', 'cuneus-lh')) y1 = y.sub(source='lateraloccipital-lh') y2 = y.sub(source='cuneus-lh') kwa = dict(ds=ds, tstart=0.2, tstop=0.3, samples=100) resp = testnd.anova(y, "side*modality", pmin=0.05, parc='source', **kwa) c1p = resp.find_clusters(source='lateraloccipital-lh') c2p = resp.find_clusters(source='cuneus-lh') del c1p['p_parc', 'id'] del c2p['p_parc', 'id'] res1 = testnd.anova(y1, "side*modality", pmin=0.05, **kwa) c1 = res1.find_clusters() del c1['id'] res2 = testnd.anova(y2, "side*modality", pmin=0.05, **kwa) c2 = res2.find_clusters() del c2['id'] assert_dataset_equal(c1p, c1) assert_dataset_equal(c2p, c2) assert_array_equal(c2['p'], [0.85, 0.88, 0.97, 0.75, 0.99, 0.99, 0.98, 0.0, 0.12, 0.88, 0.25, 0.97, 0.34, 0.96]) # without multiprocessing testnd.configure(0) ress = testnd.anova(y, "side*modality", pmin=0.05, parc='source', **kwa) c1s = ress.find_clusters(source='lateraloccipital-lh') c2s = ress.find_clusters(source='cuneus-lh') del c1s['p_parc', 'id'] del c2s['p_parc', 'id'] assert_dataset_equal(c1s, c1) assert_dataset_equal(c2s, c2) testnd.configure(-1) # parc but single label resp2 = testnd.anova(y2, "side*modality", pmin=0.05, parc='source', **kwa) c2sp = resp2.find_clusters(source='cuneus-lh') del c2sp['p_parc', 'id'] assert_dataset_equal(c2sp, c2) # not defined assert_raises(NotImplementedError, testnd.anova, y, "side*modality", tfce=True, parc='source', **kwa)
def test_select_epochs(): "Test Select-Epochs GUI Document" set_log_level('warning', 'mne') ds = datasets.get_mne_sample(sns=True) tempdir = TempDir() path = os.path.join(tempdir, 'rej.pickled') # create a file doc = Document(ds, 'meg') doc.set_path(path) doc.set_case(1, False, 'tag', None) doc.set_case(2, None, None, ['2']) doc.set_bad_channels([1]) # check modifications eq_(doc.accept[1], False) eq_(doc.tag[1], 'tag') eq_(doc.interpolate[1], []) eq_(doc.interpolate[2], ['2']) eq_(doc.bad_channels, [1]) assert_array_equal(doc.accept[2:], True) # save doc.save() # check the file ds_ = load.unpickle(path) eq_(doc.epochs.sensor.dimindex(ds_.info['bad_channels']), [1]) # load the file ds = datasets.get_mne_sample(sns=True) doc = Document(ds, 'meg', path=path) # modification checks eq_(doc.accept[1], False) eq_(doc.tag[1], 'tag') eq_(doc.interpolate[1], []) eq_(doc.interpolate[2], ['2']) eq_(doc.bad_channels, [1]) assert_array_equal(doc.accept[2:], True) # Test model # ========== ds = datasets.get_mne_sample(sns=True) doc = Document(ds, 'meg') model = Model(doc) # accept model.set_case(0, False, None, None) eq_(doc.accept[0], False) model.history.undo() eq_(doc.accept[0], True) model.history.redo() eq_(doc.accept[0], False) # interpolate model.toggle_interpolation(2, '3') eq_(doc.interpolate[2], ['3']) model.toggle_interpolation(2, '4') eq_(doc.interpolate[2], ['3', '4']) model.toggle_interpolation(2, '3') eq_(doc.interpolate[2], ['4']) model.toggle_interpolation(3, '3') eq_(doc.interpolate[2], ['4']) eq_(doc.interpolate[3], ['3']) model.history.undo() model.history.undo() eq_(doc.interpolate[2], ['3', '4']) eq_(doc.interpolate[3], []) model.history.redo() eq_(doc.interpolate[2], ['4']) # bad channels model.set_bad_channels([1]) model.set_bad_channels([1, 10]) eq_(doc.bad_channels, [1, 10]) model.history.undo() eq_(doc.bad_channels, [1]) model.history.redo() eq_(doc.bad_channels, [1, 10]) # reload to reset model.load(path) # tests eq_(doc.accept[1], False) eq_(doc.tag[1], 'tag') eq_(doc.interpolate[1], []) eq_(doc.interpolate[2], ['2']) eq_(doc.bad_channels, [1]) assert_array_equal(doc.accept[2:], True)
def test_select_epochs(): "Test Select-Epochs GUI Document" set_log_level('warning', 'mne') ds = datasets.get_mne_sample(sns=True) tempdir = TempDir() path = os.path.join(tempdir, 'rej.pickled') # Test Document # ============= # create a file doc = Document(ds, 'meg') doc.set_path(path) doc.set_case(1, False, 'tag', None) doc.set_case(2, None, None, ['2']) doc.set_bad_channels([1]) # check modifications eq_(doc.accept[1], False) eq_(doc.tag[1], 'tag') eq_(doc.interpolate[1], []) eq_(doc.interpolate[2], ['2']) eq_(doc.bad_channels, [1]) assert_array_equal(doc.accept[2:], True) # save doc.save() # check the file ds_ = load.unpickle(path) eq_(doc.epochs.sensor._array_index(ds_.info['bad_channels']), [1]) # load the file ds = datasets.get_mne_sample(sns=True) doc = Document(ds, 'meg', path=path) # modification checks eq_(doc.accept[1], False) eq_(doc.tag[1], 'tag') eq_(doc.interpolate[1], []) eq_(doc.interpolate[2], ['2']) eq_(doc.bad_channels, [1]) assert_array_equal(doc.accept[2:], True) # Test Model # ========== ds = datasets.get_mne_sample(sns=True) doc = Document(ds, 'meg') model = Model(doc) # accept model.set_case(0, False, None, None) eq_(doc.accept[0], False) model.history.undo() eq_(doc.accept[0], True) model.history.redo() eq_(doc.accept[0], False) # interpolate model.toggle_interpolation(2, '3') eq_(doc.interpolate[2], ['3']) model.toggle_interpolation(2, '4') eq_(doc.interpolate[2], ['3', '4']) model.toggle_interpolation(2, '3') eq_(doc.interpolate[2], ['4']) model.toggle_interpolation(3, '3') eq_(doc.interpolate[2], ['4']) eq_(doc.interpolate[3], ['3']) model.history.undo() model.history.undo() eq_(doc.interpolate[2], ['3', '4']) eq_(doc.interpolate[3], []) model.history.redo() eq_(doc.interpolate[2], ['4']) # bad channels model.set_bad_channels([1]) model.set_bad_channels([1, 10]) eq_(doc.bad_channels, [1, 10]) model.history.undo() eq_(doc.bad_channels, [1]) model.history.redo() eq_(doc.bad_channels, [1, 10]) # reload to reset model.load(path) # tests eq_(doc.accept[1], False) eq_(doc.tag[1], 'tag') eq_(doc.interpolate[1], []) eq_(doc.interpolate[2], ['2']) eq_(doc.bad_channels, [1]) assert_array_equal(doc.accept[2:], True) # Test GUI # ======== frame = gui.select_epochs(ds) assert_false(frame.CanBackward()) ok_(frame.CanForward()) frame.OnForward(None)
def test_select_epochs(): "Test Select-Epochs GUI Document" set_log_level('warning', 'mne') data_path = mne.datasets.testing.data_path() raw_path = join(data_path, 'MEG', 'sample', 'sample_audvis_trunc_raw.fif') raw = mne.io.Raw(raw_path, preload=True).pick_types('mag', stim=True) ds = load.fiff.events(raw) ds['meg'] = load.fiff.epochs(ds, tmax=0.1) tempdir = TempDir() path = join(tempdir, 'rej.pickled') # Test Document # ============= # create a file doc = Document(ds, 'meg') doc.set_path(path) doc.set_case(1, False, 'tag', None) doc.set_case(2, None, None, ['2']) doc.set_bad_channels([1]) # check modifications assert doc.accept[1] == False assert doc.tag[1] == 'tag' assert doc.interpolate[1] == [] assert doc.interpolate[2] == ['2'] assert doc.bad_channels == [1] assert_array_equal(doc.accept[2:], True) # save doc.save() # check the file ds_ = load.unpickle(path) assert doc.epochs.sensor._array_index(ds_.info['bad_channels']) == [1] # load the file doc = Document(ds, 'meg', path=path) # modification checks assert doc.accept[1] == False assert doc.tag[1] == 'tag' assert doc.interpolate[1] == [] assert doc.interpolate[2] == ['2'] assert doc.bad_channels == [1] assert_array_equal(doc.accept[2:], True) # Test Model # ========== doc = Document(ds, 'meg') model = Model(doc) # accept model.set_case(0, False, None, None) assert doc.accept[0] == False model.history.undo() assert doc.accept[0] == True model.history.redo() assert doc.accept[0] == False # interpolate model.toggle_interpolation(2, '3') assert doc.interpolate[2] == ['3'] model.toggle_interpolation(2, '4') assert doc.interpolate[2] == ['3', '4'] model.toggle_interpolation(2, '3') assert doc.interpolate[2] == ['4'] model.toggle_interpolation(3, '3') assert doc.interpolate[2] == ['4'] assert doc.interpolate[3] == ['3'] model.history.undo() model.history.undo() assert doc.interpolate[2] == ['3', '4'] assert doc.interpolate[3] == [] model.history.redo() assert doc.interpolate[2] == ['4'] # bad channels model.set_bad_channels([1]) model.set_bad_channels([1, 10]) assert doc.bad_channels == [1, 10] model.history.undo() assert doc.bad_channels == [1] model.history.redo() assert doc.bad_channels == [1, 10] # reload to reset model.load(path) # tests assert doc.accept[1] == False assert doc.tag[1] == 'tag' assert doc.interpolate[1] == [] assert doc.interpolate[2] == ['2'] assert doc.bad_channels == [1] assert_array_equal(doc.accept[2:], True) # Test GUI # ======== frame = gui.select_epochs(ds, nplots=9) assert not frame.CanBackward() assert frame.CanForward() frame.OnForward(None) frame.SetVLim(1e-12)