def _compare_forwards(fwd, fwd_py, n_sensors, n_src, meg_rtol=1e-4, meg_atol=1e-9): """Helper to test forwards""" # check source spaces assert_equal(len(fwd['src']), len(fwd_py['src'])) _compare_source_spaces(fwd['src'], fwd_py['src'], mode='approx') for surf_ori in [False, True]: if surf_ori: # use copy here to leave our originals unmodified fwd = convert_forward_solution(fwd, surf_ori, copy=True) fwd_py = convert_forward_solution(fwd, surf_ori, copy=True) for key in ['nchan', 'source_nn', 'source_rr', 'source_ori', 'surf_ori', 'coord_frame', 'nsource']: print(key) assert_allclose(fwd_py[key], fwd[key], rtol=1e-4, atol=1e-7) assert_allclose(fwd_py['mri_head_t']['trans'], fwd['mri_head_t']['trans'], rtol=1e-5, atol=1e-8) assert_equal(fwd_py['sol']['data'].shape, (n_sensors, n_src)) assert_equal(len(fwd['sol']['row_names']), n_sensors) assert_equal(len(fwd_py['sol']['row_names']), n_sensors) # check MEG print('check MEG') assert_allclose(fwd['sol']['data'][:306], fwd_py['sol']['data'][:306], rtol=meg_rtol, atol=meg_atol) # check EEG if fwd['sol']['data'].shape[0] > 306: print('check EEG') assert_allclose(fwd['sol']['data'][306:], fwd_py['sol']['data'][306:], rtol=1e-3, atol=1e-3)
def _compare_forwards(fwd, fwd_py, n_sensors, n_src): """Helper to test forwards""" # check source spaces assert_equal(len(fwd['src']), len(fwd_py['src'])) _compare_source_spaces(fwd['src'], fwd_py['src'], mode='approx') for surf_ori in [False, True]: if surf_ori: fwd = convert_forward_solution(fwd, surf_ori, copy=False) fwd_py = convert_forward_solution(fwd, surf_ori, copy=False) for key in ['nchan', 'source_nn', 'source_rr', 'source_ori', 'surf_ori', 'coord_frame', 'nsource']: print key assert_allclose(fwd_py[key], fwd[key], rtol=1e-4, atol=1e-7) assert_allclose(fwd_py['mri_head_t']['trans'], fwd['mri_head_t']['trans'], rtol=1e-5, atol=1e-8) # check MEG assert_allclose(fwd['sol']['data'][:306], fwd_py['sol']['data'][:306], rtol=1e-4, atol=1e-9) # check EEG if fwd['sol']['data'].shape[0] > 306: assert_allclose(fwd['sol']['data'][306:], fwd_py['sol']['data'][306:], rtol=1e-3, atol=1e-3) assert_equal(fwd_py['sol']['data'].shape, (n_sensors, n_src)) assert_equal(len(fwd['sol']['row_names']), n_sensors) assert_equal(len(fwd_py['sol']['row_names']), n_sensors)
def _compare_forwards(fwd, fwd_py, n_sensors, n_src, meg_rtol=1e-4, meg_atol=1e-9): """Helper to test forwards""" # check source spaces assert_equal(len(fwd["src"]), len(fwd_py["src"])) _compare_source_spaces(fwd["src"], fwd_py["src"], mode="approx") for surf_ori in [False, True]: if surf_ori: # use copy here to leave our originals unmodified fwd = convert_forward_solution(fwd, surf_ori, copy=True) fwd_py = convert_forward_solution(fwd, surf_ori, copy=True) for key in ["nchan", "source_nn", "source_rr", "source_ori", "surf_ori", "coord_frame", "nsource"]: print(key) assert_allclose(fwd_py[key], fwd[key], rtol=1e-4, atol=1e-7) assert_allclose(fwd_py["mri_head_t"]["trans"], fwd["mri_head_t"]["trans"], rtol=1e-5, atol=1e-8) assert_equal(fwd_py["sol"]["data"].shape, (n_sensors, n_src)) assert_equal(len(fwd["sol"]["row_names"]), n_sensors) assert_equal(len(fwd_py["sol"]["row_names"]), n_sensors) # check MEG print("check MEG") assert_allclose(fwd["sol"]["data"][:306], fwd_py["sol"]["data"][:306], rtol=meg_rtol, atol=meg_atol) # check EEG if fwd["sol"]["data"].shape[0] > 306: print("check EEG") assert_allclose(fwd["sol"]["data"][306:], fwd_py["sol"]["data"][306:], rtol=1e-3, atol=1e-3)