Skip to content

Commit 15c5d9f

Browse files
author
Letizia Signorelli
committed
fixed channels selection in AxonaRawIO
1 parent 315f485 commit 15c5d9f

1 file changed

Lines changed: 18 additions & 4 deletions

File tree

neo/rawio/axonarawio.py

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -374,8 +374,7 @@ def _get_analogsignal_chunk(self, block_index, seg_index, i_start, i_stop, strea
374374
if channel_indexes is None:
375375
channel_indexes = [i for i in range(bin_dict["num_channels"])]
376376
elif isinstance(channel_indexes, slice):
377-
channel_indexes_all = [i for i in range(bin_dict["num_channels"])]
378-
channel_indexes = channel_indexes_all[channel_indexes]
377+
channel_indexes = self.get_active_channels()
379378

380379
num_samples = i_stop - i_start
381380

@@ -558,6 +557,20 @@ def get_active_tetrode(self):
558557
tetrode_id = int(key.strip("collectMask_"))
559558
active_tetrodes.append(tetrode_id)
560559
return active_tetrodes
560+
561+
def get_active_channels(self):
562+
"""
563+
Returns the ID numbers of the active channels as a list.
564+
E.g.: [20,21,22,23] for tetrode 6 active.
565+
"""
566+
active_tetrodes = self.get_active_tetrode()
567+
active_channels = []
568+
569+
for tetrode in active_tetrodes:
570+
chan = self._get_channel_from_tetrode(tetrode)
571+
active_channels.append(chan)
572+
573+
return np.concatenate(active_channels)
561574

562575
def _get_channel_from_tetrode(self, tetrode):
563576
"""
@@ -629,12 +642,13 @@ def _get_signal_chan_header(self):
629642
gain_list = self._get_channel_gain()
630643
offset = 0 # What is the offset?
631644

645+
first_channel = (active_tetrode_set[0] - 1)*elec_per_tetrode
632646
sig_channels = []
633647
for itetr in range(num_active_tetrode):
634648

635649
for ielec in range(elec_per_tetrode):
636-
cntr = (itetr * elec_per_tetrode) + ielec
637-
ch_name = f"{itetr + 1}{letters[ielec]}"
650+
cntr = (itetr * elec_per_tetrode) + ielec + first_channel
651+
ch_name = "{}{}".format(itetr + active_tetrode_set[0], letters[ielec])
638652
chan_id = str(cntr)
639653
gain = gain_list[cntr]
640654
stream_id = "0"

0 commit comments

Comments
 (0)