Skip to content

Commit 44c6b4b

Browse files
committed
alessio feedback
1 parent e92de38 commit 44c6b4b

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

neo/rawio/openephysbinaryrawio.py

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -224,15 +224,18 @@ def _parse_header(self):
224224
"SYNC channel is not present in the recording. " "Set load_sync_channel to False"
225225
)
226226

227+
228+
227229
# Check if ADC and non-ADC channels are contiguous
228230
is_channel_adc = ["ADC" in ch["channel_name"] for ch in info["channels"]]
229-
first_adc_index = is_channel_adc.index(True) if any(is_channel_adc) else len(is_channel_adc)
230-
non_adc_channels_after_adc_channels = [not flag for flag in is_channel_adc[first_adc_index:]]
231-
if any(non_adc_channels_after_adc_channels):
232-
raise ValueError(
233-
"Interleaved ADC and non-ADC channels are not supported. "
234-
"ADC channels must be contiguous. Open an issue in python-neo to request this feature."
235-
)
231+
if any(is_channel_adc):
232+
first_adc_index = is_channel_adc.index(True)
233+
non_adc_channels_after_adc_channels = [not is_adc for is_adc in is_channel_adc[first_adc_index:]]
234+
if any(non_adc_channels_after_adc_channels):
235+
raise ValueError(
236+
"Interleaved ADC and non-ADC channels are not supported. "
237+
"ADC channels must be contiguous. Open an issue in python-neo to request this feature."
238+
)
236239

237240
# Find sync channel and verify it's the last channel
238241
sync_index = next(
@@ -244,10 +247,12 @@ def _parse_header(self):
244247
"SYNC channel must be the last channel in the buffer. Open an issue in python-neo to request this feature."
245248
)
246249

247-
num_neural_channels = sum(1 for ch_info in info["channels"] if "ADC" not in ch_info["channel_name"])
248-
num_non_neural_channels = sum(1 for ch_info in info["channels"] if "ADC" in ch_info["channel_name"])
250+
neural_channels = [ch for ch in info["channels"] if "ADC" not in ch["channel_name"]]
251+
adc_channels = [ch for ch in info["channels"] if "ADC" in ch["channel_name"]]
252+
num_neural_channels = len(neural_channels)
253+
num_adc_channels = len(adc_channels)
249254

250-
if num_non_neural_channels == 0:
255+
if num_adc_channels == 0:
251256
if has_sync_trace and not self.load_sync_channel:
252257
self._stream_buffer_slice[stream_id] = slice(None, -1)
253258
else:
@@ -460,10 +465,9 @@ def _parse_header(self):
460465

461466
if has_sync_trace:
462467
values = values[:-1]
463-
464-
num_neural_channels = sum(
465-
1 for ch_info in info["channels"] if "ADC" not in ch_info["channel_name"]
466-
)
468+
469+
neural_channels = [ch for ch in info["channels"] if "ADC" not in ch["channel_name"]]
470+
num_neural_channels = len(neural_channels)
467471
if is_neural_stream:
468472
values = values[:num_neural_channels]
469473
else:

0 commit comments

Comments
 (0)