MCPcopy
hub / github.com/mne-tools/mne-python / _compare_forwards

Function _compare_forwards

mne/forward/tests/test_make_forward.py:105–187  ·  view source on GitHub ↗

Test forwards.

(
    fwd,
    fwd_py,
    n_sensors,
    n_src,
    meg_rtol=1e-4,
    meg_atol=1e-9,
    meg_corr_tol=0.99,
    meg_rdm_tol=0.01,
    eeg_rtol=1e-3,
    eeg_atol=1e-3,
    eeg_corr_tol=0.99,
    eeg_rdm_tol=0.01,
)

Source from the content-addressed store, hash-verified

103
104
105def _compare_forwards(
106 fwd,
107 fwd_py,
108 n_sensors,
109 n_src,
110 meg_rtol=1e-4,
111 meg_atol=1e-9,
112 meg_corr_tol=0.99,
113 meg_rdm_tol=0.01,
114 eeg_rtol=1e-3,
115 eeg_atol=1e-3,
116 eeg_corr_tol=0.99,
117 eeg_rdm_tol=0.01,
118):
119 """Test forwards."""
120 # check source spaces
121 assert len(fwd["src"]) == len(fwd_py["src"])
122 _compare_source_spaces(fwd["src"], fwd_py["src"], mode="approx")
123 for surf_ori, force_fixed in product([False, True], [False, True]):
124 # use copy here to leave our originals unmodified
125 fwd = convert_forward_solution(
126 fwd, surf_ori, force_fixed, copy=True, use_cps=True
127 )
128 fwd_py = convert_forward_solution(
129 fwd_py, surf_ori, force_fixed, copy=True, use_cps=True
130 )
131 check_src = n_src // 3 if force_fixed else n_src
132
133 for key in (
134 "nchan",
135 "source_rr",
136 "source_ori",
137 "surf_ori",
138 "coord_frame",
139 "nsource",
140 ):
141 assert_allclose(fwd_py[key], fwd[key], rtol=1e-4, atol=1e-7, err_msg=key)
142 # In surf_ori=True only Z matters for source_nn
143 if surf_ori and not force_fixed:
144 ori_sl = slice(2, None, 3)
145 else:
146 ori_sl = slice(None)
147 assert_allclose(
148 fwd_py["source_nn"][ori_sl], fwd["source_nn"][ori_sl], rtol=1e-4, atol=1e-6
149 )
150 assert_allclose(
151 fwd_py["mri_head_t"]["trans"],
152 fwd["mri_head_t"]["trans"],
153 rtol=1e-5,
154 atol=1e-8,
155 )
156
157 assert fwd_py["sol"]["data"].shape == (n_sensors, check_src)
158 assert len(fwd["sol"]["row_names"]) == n_sensors
159 assert len(fwd_py["sol"]["row_names"]) == n_sensors
160
161 # check MEG
162 fwd_meg = fwd["sol"]["data"][:306, ori_sl]

Calls 4

_compare_source_spacesFunction · 0.90
convert_forward_solutionFunction · 0.90
_col_corrsFunction · 0.85
_rdmFunction · 0.85

Tested by

no test coverage detected