parser.add_option('--eog_ch', dest='eog_ch', type='str', help='4D EOG channel names', default='E63,E64') options, args = parser.parse_args() pdf_fname = options.pdf_fname if pdf_fname is None: parser.print_help() sys.exit(1) config_fname = options.config_fname head_shape_fname = options.head_shape_fname out_fname = options.out_fname rotation_x = options.rotation_x translation = options.translation ecg_ch = options.ecg_ch eog_ch = options.ecg_ch.split(',') if out_fname == 'as_data_fname': out_fname = pdf_fname + '_raw.fif' raw = read_raw_bti(pdf_fname=pdf_fname, config_fname=config_fname, head_shape_fname=head_shape_fname, rotation_x=rotation_x, translation=translation, ecg_ch=ecg_ch, eog_ch=eog_ch) raw.save(out_fname) raw.close() sys.exit(0)
def test_make_forward_solution_kit(): """Test making fwd using KIT, BTI, and CTF (compensated) files """ fname_bem = op.join(subjects_dir, 'sample', 'bem', 'sample-5120-bem-sol.fif') kit_dir = op.join(op.dirname(__file__), '..', '..', 'fiff', 'kit', 'tests', 'data') sqd_path = op.join(kit_dir, 'test.sqd') mrk_path = op.join(kit_dir, 'test_mrk.sqd') elp_path = op.join(kit_dir, 'test_elp.txt') hsp_path = op.join(kit_dir, 'test_hsp.txt') mri_path = op.join(kit_dir, 'trans-sample.fif') fname_kit_raw = op.join(kit_dir, 'test_bin.fif') bti_dir = op.join(op.dirname(__file__), '..', '..', 'fiff', 'bti', 'tests', 'data') bti_pdf = op.join(bti_dir, 'test_pdf_linux') bti_config = op.join(bti_dir, 'test_config_linux') bti_hs = op.join(bti_dir, 'test_hs_linux') fname_bti_raw = op.join(bti_dir, 'exported4D_linux.fif') fname_ctf_raw = op.join(op.dirname(__file__), '..', '..', 'fiff', 'tests', 'data', 'test_ctf_comp_raw.fif') # first set up a testing source space fname_src = op.join(temp_dir, 'oct2-src.fif') src = setup_source_space('sample', fname_src, 'oct2', subjects_dir=subjects_dir) # first use mne-C: convert file, make forward solution fwd = do_forward_solution('sample', fname_kit_raw, src=fname_src, mindist=0.0, bem=fname_bem, mri=mri_path, eeg=False, meg=True, subjects_dir=subjects_dir) # now let's use python with the same raw file fwd_py = make_forward_solution(fname_kit_raw, mindist=0.0, src=src, eeg=False, meg=True, bem=fname_bem, mri=mri_path) _compare_forwards(fwd, fwd_py, 157, 108) # now let's use mne-python all the way raw_py = read_raw_kit(sqd_path, mrk_path, elp_path, hsp_path) # without ignore_ref=True, this should throw an error: assert_raises(NotImplementedError, make_forward_solution, raw_py.info, mindist=0.0, src=src, eeg=False, meg=True, bem=fname_bem, mri=mri_path) fwd_py = make_forward_solution(raw_py.info, mindist=0.0, src=src, eeg=False, meg=True, bem=fname_bem, mri=mri_path, ignore_ref=True) _compare_forwards(fwd, fwd_py, 157, 108, meg_rtol=1e-3, meg_atol=1e-7) # BTI python end-to-end versus C fwd = do_forward_solution('sample', fname_bti_raw, src=fname_src, mindist=0.0, bem=fname_bem, mri=mri_path, eeg=False, meg=True, subjects_dir=subjects_dir) raw_py = read_raw_bti(bti_pdf, bti_config, bti_hs) fwd_py = make_forward_solution(raw_py.info, mindist=0.0, src=src, eeg=False, meg=True, bem=fname_bem, mri=mri_path) _compare_forwards(fwd, fwd_py, 248, 108) # now let's test CTF w/compensation fwd_py = make_forward_solution(fname_ctf_raw, mindist=0.0, src=src, eeg=False, meg=True, bem=fname_bem, mri=fname_mri) fwd = do_forward_solution('sample', fname_ctf_raw, src=fname_src, mindist=0.0, bem=fname_bem, mri=fname_mri, eeg=False, meg=True, subjects_dir=subjects_dir) _compare_forwards(fwd, fwd_py, 274, 108) # CTF with compensation changed in python ctf_raw = Raw(fname_ctf_raw, compensation=2) fwd_py = make_forward_solution(ctf_raw.info, mindist=0.0, src=src, eeg=False, meg=True, bem=fname_bem, mri=fname_mri) fwd = do_forward_solution('sample', ctf_raw, src=fname_src, mindist=0.0, bem=fname_bem, mri=fname_mri, eeg=False, meg=True, subjects_dir=subjects_dir) _compare_forwards(fwd, fwd_py, 274, 108)
options, args = parser.parse_args() pdf_fname = options.pdf_fname if pdf_fname is None: parser.print_help() sys.exit(1) config_fname = options.config_fname head_shape_fname = options.head_shape_fname out_fname = options.out_fname rotation_x = options.rotation_x translation = options.translation ecg_ch = options.ecg_ch eog_ch = options.ecg_ch.split(',') if out_fname == 'as_data_fname': out_fname = pdf_fname + '_raw.fif' raw = read_raw_bti(pdf_fname=pdf_fname, config_fname=config_fname, head_shape_fname=head_shape_fname, rotation_x=rotation_x, translation=translation, ecg_ch=ecg_ch, eog_ch=eog_ch) raw.save(out_fname) raw.close() sys.exit(0)