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

Function test_shielding_factor

mne/preprocessing/tests/test_maxwell.py:1161–1464  ·  view source on GitHub ↗

Test Maxwell filter shielding factor using empty room.

(tmp_path)

Source from the content-addressed store, hash-verified

1159@pytest.mark.slowtest
1160@testing.requires_testing_data
1161def test_shielding_factor(tmp_path):
1162 """Test Maxwell filter shielding factor using empty room."""
1163 raw_erm = read_crop(erm_fname).load_data().pick("meg")
1164 erm_power = raw_erm[pick_types(raw_erm.info, meg="mag")][0]
1165 erm_power = np.sqrt(np.sum(erm_power * erm_power))
1166 erm_power_grad = raw_erm[pick_types(raw_erm.info, meg="grad")][0]
1167 erm_power_grad = np.sqrt(np.sum(erm_power * erm_power))
1168
1169 # Vanilla SSS (second value would be for meg=True instead of meg='mag')
1170 _assert_shielding(read_crop(sss_erm_std_fname), erm_power, 10) # 1.5)
1171 raw_sss = maxwell_filter(raw_erm, coord_frame="meg", regularize=None)
1172 _assert_shielding(raw_sss, erm_power, 12, 13) # 1.5)
1173 _assert_shielding(raw_sss, erm_power_grad, 0.45, 0.55, "grad") # 1.5)
1174
1175 # No external basis
1176 raw_sss_0 = maxwell_filter(raw_erm, coord_frame="meg", regularize=None, ext_order=0)
1177 _assert_shielding(raw_sss_0, erm_power, 1.0, 1.1)
1178 del raw_sss_0
1179
1180 # Regularization
1181 _assert_shielding(read_crop(sss_erm_std_fname), erm_power, 10) # 1.5)
1182 raw_sss = maxwell_filter(raw_erm, coord_frame="meg")
1183 _assert_shielding(raw_sss, erm_power, 14.5, 15.5)
1184
1185 #
1186 # Extended (eSSS)
1187 #
1188
1189 # Show that using empty-room projectors increase shielding factor
1190 proj = mne.compute_proj_raw(
1191 raw_erm, meg="combined", verbose="error", n_mag=15, n_grad=15
1192 )
1193 raw_sss = maxwell_filter(
1194 raw_erm, coord_frame="meg", regularize=None, extended_proj=proj[:3]
1195 )
1196 _assert_shielding(raw_sss, erm_power, 38, 39)
1197 raw_sss = maxwell_filter(
1198 raw_erm, coord_frame="meg", regularize=None, extended_proj=proj
1199 )
1200 _assert_shielding(raw_sss, erm_power, 49, 51)
1201 # Now with reg
1202 raw_sss = maxwell_filter(raw_erm, coord_frame="meg", extended_proj=proj[:3])
1203 _assert_shielding(raw_sss, erm_power, 42, 44)
1204 raw_sss = maxwell_filter(raw_erm, coord_frame="meg", extended_proj=proj)
1205 _assert_shielding(raw_sss, erm_power, 59, 61)
1206
1207 #
1208 # Different mag_scale values
1209 #
1210 raw_sss = maxwell_filter(
1211 raw_erm, coord_frame="meg", regularize=None, mag_scale="auto"
1212 )
1213 _assert_shielding(raw_sss, erm_power, 12, 13)
1214 _assert_shielding(raw_sss, erm_power_grad, 0.48, 0.58, "grad")
1215 raw_sss = maxwell_filter(
1216 raw_erm, coord_frame="meg", regularize=None, mag_scale=1.0
1217 ) # not a good choice
1218 _assert_shielding(raw_sss, erm_power, 7.3, 8.0)

Callers

nothing calls this directly

Calls 12

pick_typesFunction · 0.90
_record_warningsFunction · 0.90
read_cropFunction · 0.85
_assert_shieldingFunction · 0.85
maxwell_filterFunction · 0.85
get_n_projectedFunction · 0.85
sqrtMethod · 0.80
writeMethod · 0.80
splitMethod · 0.80
pickMethod · 0.45
load_dataMethod · 0.45
sumMethod · 0.45

Tested by

no test coverage detected