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

Function _copy_preload_add_channels

mne/preprocessing/maxwell.py:1152–1214  ·  view source on GitHub ↗

Load data for processing and (maybe) add cHPI pos channels.

(raw, add_channels, copy, info)

Source from the content-addressed store, hash-verified

1150
1151
1152def _copy_preload_add_channels(raw, add_channels, copy, info):
1153 """Load data for processing and (maybe) add cHPI pos channels."""
1154 if copy:
1155 raw = raw.copy()
1156 with raw.info._unlock():
1157 raw.info["chs"] = info["chs"] # updated coil types
1158 if add_channels:
1159 kinds = [
1160 FIFF.FIFFV_QUAT_1,
1161 FIFF.FIFFV_QUAT_2,
1162 FIFF.FIFFV_QUAT_3,
1163 FIFF.FIFFV_QUAT_4,
1164 FIFF.FIFFV_QUAT_5,
1165 FIFF.FIFFV_QUAT_6,
1166 FIFF.FIFFV_HPI_G,
1167 FIFF.FIFFV_HPI_ERR,
1168 FIFF.FIFFV_HPI_MOV,
1169 ]
1170 out_shape = (len(raw.ch_names) + len(kinds), len(raw.times))
1171 out_data = np.zeros(out_shape, np.float64)
1172 msg = " Appending head position result channels and "
1173 if raw.preload:
1174 logger.info(msg + "copying original raw data")
1175 out_data[: len(raw.ch_names)] = raw._data
1176 raw._data = out_data
1177 else:
1178 logger.info(msg + "loading raw data from disk")
1179 with use_log_level(_verbose_safe_false()):
1180 raw._preload_data(out_data[: len(raw.ch_names)])
1181 raw._data = out_data
1182 assert raw.preload is True
1183 off = len(raw.ch_names)
1184 chpi_chs = [
1185 dict(
1186 ch_name=f"CHPI{ii:03d}",
1187 logno=ii + 1,
1188 scanno=off + ii + 1,
1189 unit_mul=-1,
1190 range=1.0,
1191 unit=-1,
1192 kind=kinds[ii],
1193 coord_frame=FIFF.FIFFV_COORD_UNKNOWN,
1194 cal=1e-4,
1195 coil_type=FWD.COIL_UNKNOWN,
1196 loc=np.zeros(12),
1197 )
1198 for ii in range(len(kinds))
1199 ]
1200 raw.info["chs"].extend(chpi_chs)
1201 raw.info._update_redundant()
1202 raw.info._check_consistency()
1203 assert raw._data.shape == (raw.info["nchan"], len(raw.times))
1204 # Return the pos picks
1205 pos_picks = np.arange(len(raw.ch_names) - len(chpi_chs), len(raw.ch_names))
1206 return raw, pos_picks
1207 else:
1208 if copy:
1209 if not raw.preload:

Callers 1

_run_maxwell_filterFunction · 0.85

Calls 10

use_log_levelClass · 0.85
_verbose_safe_falseFunction · 0.85
_unlockMethod · 0.80
infoMethod · 0.80
_preload_dataMethod · 0.80
_update_redundantMethod · 0.80
copyMethod · 0.45
extendMethod · 0.45
_check_consistencyMethod · 0.45
load_dataMethod · 0.45

Tested by

no test coverage detected