Assert a minimum shielding factor using empty-room power.
(raw_sss, erm_power, min_factor, max_factor=np.inf, meg="mag")
| 1065 | |
| 1066 | |
| 1067 | def _assert_shielding(raw_sss, erm_power, min_factor, max_factor=np.inf, meg="mag"): |
| 1068 | """Assert a minimum shielding factor using empty-room power.""" |
| 1069 | __tracebackhide__ = True |
| 1070 | picks = pick_types(raw_sss.info, meg=meg, ref_meg=False) |
| 1071 | if isinstance(erm_power, BaseRaw): |
| 1072 | picks_erm = pick_types(raw_sss.info, meg=meg, ref_meg=False) |
| 1073 | assert_allclose(picks, picks_erm) |
| 1074 | erm_power = np.sqrt((erm_power[picks_erm][0] ** 2).sum()) |
| 1075 | sss_power = raw_sss[picks][0].ravel() |
| 1076 | sss_power = np.sqrt(np.sum(sss_power * sss_power)) |
| 1077 | factor = erm_power / sss_power |
| 1078 | assert min_factor <= factor < max_factor, ( |
| 1079 | f"Shielding factor not {min_factor:0.3f} <= {factor:0.3f} < {max_factor:0.3f}" |
| 1080 | ) |
| 1081 | |
| 1082 | |
| 1083 | @pytest.mark.slowtest |
no test coverage detected