Skip to content

Commit 9de8729

Browse files
committed
Do not separate ADC buffer for OneBox
1 parent 923109d commit 9de8729

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

neo/rawio/openephysbinaryrawio.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -274,10 +274,22 @@ def _parse_header(self):
274274
"SYNC channel must be the last channel in the buffer. Open an issue in python-neo to request this feature."
275275
)
276276

277-
neural_channels = [ch for ch in info["channels"] if "ADC" not in ch["channel_name"]]
278-
adc_channels = [ch for ch in info["channels"] if "ADC" in ch["channel_name"]]
279-
num_neural_channels = len(neural_channels)
280-
num_adc_channels = len(adc_channels)
277+
if "OneBox" not in info["stream_name"]:
278+
# If recording system is not OneBox, which has already a separate stream for ADC channels,
279+
# we need to separate ADC channels from neural channels.
280+
# We do this by defining different stream_ids for ADC and non-ADC channels
281+
# (see above when creating signal_channels and signal_streams)
282+
283+
# Split neural and ADC channels
284+
# SYNC channel is handled separately below
285+
neural_channels = [ch for ch in info["channels"] if "ADC" not in ch["channel_name"]]
286+
adc_channels = [ch for ch in info["channels"] if "ADC" in ch["channel_name"]]
287+
num_neural_channels = len(neural_channels)
288+
num_adc_channels = len(adc_channels) if "OneBox" not in info["stream_name"] else 0
289+
else:
290+
# OneBox already has a separate stream for ADC channels, so no need to split them here
291+
num_neural_channels = num_channels - 1 if has_sync_trace else num_channels
292+
num_adc_channels = 0
281293

282294
if num_adc_channels == 0:
283295
if has_sync_trace and not self.load_sync_channel:

0 commit comments

Comments
 (0)