def test_make_scalp_surfaces(): """Test mne make_scalp_surfaces""" check_usage(mne_make_scalp_surfaces) # Copy necessary files to avoid FreeSurfer call tempdir = _TempDir() surf_path = op.join(subjects_dir, 'sample', 'surf') surf_path_new = op.join(tempdir, 'sample', 'surf') os.mkdir(op.join(tempdir, 'sample')) os.mkdir(surf_path_new) os.mkdir(op.join(tempdir, 'sample', 'bem')) shutil.copy(op.join(surf_path, 'lh.seghead'), surf_path_new) orig_fs = os.getenv('FREESURFER_HOME', None) orig_mne = os.getenv('MNE_ROOT') if orig_fs is not None: del os.environ['FREESURFER_HOME'] cmd = ('-s', 'sample', '--subjects-dir', tempdir) os.environ['_MNE_TESTING_SCALP'] = 'true' try: with ArgvSetter(cmd, disable_stdout=False, disable_stderr=False): assert_raises(RuntimeError, mne_make_scalp_surfaces.run) os.environ['FREESURFER_HOME'] = tempdir # don't need it del os.environ['MNE_ROOT'] assert_raises(RuntimeError, mne_make_scalp_surfaces.run) os.environ['MNE_ROOT'] = orig_mne mne_make_scalp_surfaces.run() assert_raises(IOError, mne_make_scalp_surfaces.run) # no overwrite finally: if orig_fs is not None: os.environ['FREESURFER_HOME'] = orig_fs os.environ['MNE_ROOT'] = orig_mne del os.environ['_MNE_TESTING_SCALP']
def test_make_scalp_surfaces(): """Test mne make_scalp_surfaces""" check_usage(mne_make_scalp_surfaces) # Copy necessary files to avoid FreeSurfer call tempdir = _TempDir() surf_path = op.join(subjects_dir, 'sample', 'surf') surf_path_new = op.join(tempdir, 'sample', 'surf') os.mkdir(op.join(tempdir, 'sample')) os.mkdir(surf_path_new) subj_dir = op.join(tempdir, 'sample', 'bem') os.mkdir(subj_dir) shutil.copy(op.join(surf_path, 'lh.seghead'), surf_path_new) orig_fs = os.getenv('FREESURFER_HOME', None) orig_mne = os.getenv('MNE_ROOT') if orig_fs is not None: del os.environ['FREESURFER_HOME'] cmd = ('-s', 'sample', '--subjects-dir', tempdir) os.environ['_MNE_TESTING_SCALP'] = 'true' try: with ArgvSetter(cmd, disable_stdout=False, disable_stderr=False): assert_raises(RuntimeError, mne_make_scalp_surfaces.run) os.environ['FREESURFER_HOME'] = tempdir # don't need it del os.environ['MNE_ROOT'] assert_raises(RuntimeError, mne_make_scalp_surfaces.run) os.environ['MNE_ROOT'] = orig_mne mne_make_scalp_surfaces.run() assert_true(op.isfile(op.join(subj_dir, 'sample-head-dense.fif'))) assert_true(op.isfile(op.join(subj_dir, 'sample-head-medium.fif'))) assert_raises(IOError, mne_make_scalp_surfaces.run) # no overwrite finally: if orig_fs is not None: os.environ['FREESURFER_HOME'] = orig_fs os.environ['MNE_ROOT'] = orig_mne del os.environ['_MNE_TESTING_SCALP']
def test_make_scalp_surfaces(): """Test mne make_scalp_surfaces""" check_usage(mne_make_scalp_surfaces) # Copy necessary files to avoid FreeSurfer call tempdir = _TempDir() surf_path = op.join(subjects_dir, "sample", "surf") surf_path_new = op.join(tempdir, "sample", "surf") os.mkdir(op.join(tempdir, "sample")) os.mkdir(surf_path_new) os.mkdir(op.join(tempdir, "sample", "bem")) shutil.copy(op.join(surf_path, "lh.seghead"), surf_path_new) orig_fs = os.getenv("FREESURFER_HOME", None) orig_mne = os.getenv("MNE_ROOT") if orig_fs is not None: del os.environ["FREESURFER_HOME"] cmd = ("-s", "sample", "--subjects-dir", tempdir) os.environ["_MNE_TESTING_SCALP"] = "true" try: with ArgvSetter(cmd, disable_stdout=False, disable_stderr=False): assert_raises(RuntimeError, mne_make_scalp_surfaces.run) os.environ["FREESURFER_HOME"] = tempdir # don't need it del os.environ["MNE_ROOT"] assert_raises(RuntimeError, mne_make_scalp_surfaces.run) os.environ["MNE_ROOT"] = orig_mne mne_make_scalp_surfaces.run() assert_raises(IOError, mne_make_scalp_surfaces.run) # no overwrite finally: if orig_fs is not None: os.environ["FREESURFER_HOME"] = orig_fs os.environ["MNE_ROOT"] = orig_mne del os.environ["_MNE_TESTING_SCALP"]
def test_make_scalp_surfaces(): """Test mne make_scalp_surfaces.""" check_usage(mne_make_scalp_surfaces) # Copy necessary files to avoid FreeSurfer call tempdir = _TempDir() surf_path = op.join(subjects_dir, 'sample', 'surf') surf_path_new = op.join(tempdir, 'sample', 'surf') os.mkdir(op.join(tempdir, 'sample')) os.mkdir(surf_path_new) subj_dir = op.join(tempdir, 'sample', 'bem') os.mkdir(subj_dir) shutil.copy(op.join(surf_path, 'lh.seghead'), surf_path_new) orig_fs = os.getenv('FREESURFER_HOME', None) if orig_fs is not None: del os.environ['FREESURFER_HOME'] cmd = ('-s', 'sample', '--subjects-dir', tempdir) os.environ['_MNE_TESTING_SCALP'] = 'true' dense_fname = op.join(subj_dir, 'sample-head-dense.fif') medium_fname = op.join(subj_dir, 'sample-head-medium.fif') try: with ArgvSetter(cmd, disable_stdout=False, disable_stderr=False): assert_raises(RuntimeError, mne_make_scalp_surfaces.run) os.environ['FREESURFER_HOME'] = tempdir # don't actually use it mne_make_scalp_surfaces.run() assert_true(op.isfile(dense_fname)) assert_true(op.isfile(medium_fname)) assert_raises(IOError, mne_make_scalp_surfaces.run) # no overwrite finally: if orig_fs is not None: os.environ['FREESURFER_HOME'] = orig_fs else: del os.environ['FREESURFER_HOME'] del os.environ['_MNE_TESTING_SCALP'] # actually check the outputs head_py = read_bem_surfaces(dense_fname) assert_equal(len(head_py), 1) head_py = head_py[0] head_c = read_bem_surfaces( op.join(subjects_dir, 'sample', 'bem', 'sample-head-dense.fif'))[0] assert_allclose(head_py['rr'], head_c['rr'])
def test_make_scalp_surfaces(): """Test mne make_scalp_surfaces.""" check_usage(mne_make_scalp_surfaces) # Copy necessary files to avoid FreeSurfer call tempdir = _TempDir() surf_path = op.join(subjects_dir, 'sample', 'surf') surf_path_new = op.join(tempdir, 'sample', 'surf') os.mkdir(op.join(tempdir, 'sample')) os.mkdir(surf_path_new) subj_dir = op.join(tempdir, 'sample', 'bem') os.mkdir(subj_dir) shutil.copy(op.join(surf_path, 'lh.seghead'), surf_path_new) orig_fs = os.getenv('FREESURFER_HOME', None) if orig_fs is not None: del os.environ['FREESURFER_HOME'] cmd = ('-s', 'sample', '--subjects-dir', tempdir) os.environ['_MNE_TESTING_SCALP'] = 'true' dense_fname = op.join(subj_dir, 'sample-head-dense.fif') medium_fname = op.join(subj_dir, 'sample-head-medium.fif') try: with ArgvSetter(cmd, disable_stdout=False, disable_stderr=False): pytest.raises(RuntimeError, mne_make_scalp_surfaces.run) os.environ['FREESURFER_HOME'] = tempdir # don't actually use it mne_make_scalp_surfaces.run() assert op.isfile(dense_fname) assert op.isfile(medium_fname) pytest.raises(IOError, mne_make_scalp_surfaces.run) # no overwrite finally: if orig_fs is not None: os.environ['FREESURFER_HOME'] = orig_fs else: del os.environ['FREESURFER_HOME'] del os.environ['_MNE_TESTING_SCALP'] # actually check the outputs head_py = read_bem_surfaces(dense_fname) assert_equal(len(head_py), 1) head_py = head_py[0] head_c = read_bem_surfaces(op.join(subjects_dir, 'sample', 'bem', 'sample-head-dense.fif'))[0] assert_allclose(head_py['rr'], head_c['rr'])
def test_make_scalp_surfaces(): """Test mne make_scalp_surfaces.""" check_usage(mne_make_scalp_surfaces) # Copy necessary files to avoid FreeSurfer call tempdir = _TempDir() surf_path = op.join(subjects_dir, "sample", "surf") surf_path_new = op.join(tempdir, "sample", "surf") os.mkdir(op.join(tempdir, "sample")) os.mkdir(surf_path_new) subj_dir = op.join(tempdir, "sample", "bem") os.mkdir(subj_dir) shutil.copy(op.join(surf_path, "lh.seghead"), surf_path_new) orig_fs = os.getenv("FREESURFER_HOME", None) if orig_fs is not None: del os.environ["FREESURFER_HOME"] cmd = ("-s", "sample", "--subjects-dir", tempdir) os.environ["_MNE_TESTING_SCALP"] = "true" dense_fname = op.join(subj_dir, "sample-head-dense.fif") medium_fname = op.join(subj_dir, "sample-head-medium.fif") try: with ArgvSetter(cmd, disable_stdout=False, disable_stderr=False): assert_raises(RuntimeError, mne_make_scalp_surfaces.run) os.environ["FREESURFER_HOME"] = tempdir # don't actually use it mne_make_scalp_surfaces.run() assert_true(op.isfile(dense_fname)) assert_true(op.isfile(medium_fname)) assert_raises(IOError, mne_make_scalp_surfaces.run) # no overwrite finally: if orig_fs is not None: os.environ["FREESURFER_HOME"] = orig_fs else: del os.environ["FREESURFER_HOME"] del os.environ["_MNE_TESTING_SCALP"] # actually check the outputs head_py = read_bem_surfaces(dense_fname) assert_equal(len(head_py), 1) head_py = head_py[0] head_c = read_bem_surfaces(op.join(subjects_dir, "sample", "bem", "sample-head-dense.fif"))[0] assert_allclose(head_py["rr"], head_c["rr"])
def test_make_scalp_surfaces(tmpdir): """Test mne make_scalp_surfaces.""" check_usage(mne_make_scalp_surfaces) has = 'SUBJECTS_DIR' in os.environ # Copy necessary files to avoid FreeSurfer call tempdir = str(tmpdir) surf_path = op.join(subjects_dir, 'sample', 'surf') surf_path_new = op.join(tempdir, 'sample', 'surf') os.mkdir(op.join(tempdir, 'sample')) os.mkdir(surf_path_new) subj_dir = op.join(tempdir, 'sample', 'bem') os.mkdir(subj_dir) shutil.copy(op.join(surf_path, 'lh.seghead'), surf_path_new) cmd = ('-s', 'sample', '--subjects-dir', tempdir) with modified_env(**{'_MNE_TESTING_SCALP': 'true'}): dense_fname = op.join(subj_dir, 'sample-head-dense.fif') medium_fname = op.join(subj_dir, 'sample-head-medium.fif') with ArgvSetter(cmd, disable_stdout=False, disable_stderr=False): with modified_env(FREESURFER_HOME=None): pytest.raises(RuntimeError, mne_make_scalp_surfaces.run) with modified_env(FREESURFER_HOME=tempdir): mne_make_scalp_surfaces.run() assert op.isfile(dense_fname) assert op.isfile(medium_fname) with pytest.raises(IOError, match='overwrite'): mne_make_scalp_surfaces.run() # actually check the outputs head_py = read_bem_surfaces(dense_fname) assert_equal(len(head_py), 1) head_py = head_py[0] head_c = read_bem_surfaces(op.join(subjects_dir, 'sample', 'bem', 'sample-head-dense.fif'))[0] assert_allclose(head_py['rr'], head_c['rr']) if not has: assert 'SUBJECTS_DIR' not in os.environ
def test_make_scalp_surfaces(tmp_path, monkeypatch): """Test mne make_scalp_surfaces.""" pytest.importorskip('nibabel') pytest.importorskip('pyvista') check_usage(mne_make_scalp_surfaces) has = 'SUBJECTS_DIR' in os.environ # Copy necessary files to avoid FreeSurfer call tempdir = str(tmp_path) surf_path = op.join(subjects_dir, 'sample', 'surf') surf_path_new = op.join(tempdir, 'sample', 'surf') os.mkdir(op.join(tempdir, 'sample')) os.mkdir(surf_path_new) subj_dir = op.join(tempdir, 'sample', 'bem') os.mkdir(subj_dir) cmd = ('-s', 'sample', '--subjects-dir', tempdir) monkeypatch.setattr( mne.bem, 'decimate_surface', lambda points, triangles, n_triangles: (points, triangles)) dense_fname = op.join(subj_dir, 'sample-head-dense.fif') medium_fname = op.join(subj_dir, 'sample-head-medium.fif') with ArgvSetter(cmd, disable_stdout=False, disable_stderr=False): monkeypatch.delenv('FREESURFER_HOME', None) with pytest.raises(RuntimeError, match='The FreeSurfer environ'): mne_make_scalp_surfaces.run() shutil.copy(op.join(surf_path, 'lh.seghead'), surf_path_new) monkeypatch.setenv('FREESURFER_HOME', tempdir) mne_make_scalp_surfaces.run() assert op.isfile(dense_fname) assert op.isfile(medium_fname) with pytest.raises(IOError, match='overwrite'): mne_make_scalp_surfaces.run() # actually check the outputs head_py = read_bem_surfaces(dense_fname) assert_equal(len(head_py), 1) head_py = head_py[0] head_c = read_bem_surfaces( op.join(subjects_dir, 'sample', 'bem', 'sample-head-dense.fif'))[0] assert_allclose(head_py['rr'], head_c['rr']) if not has: assert 'SUBJECTS_DIR' not in os.environ