|
@@ -953,18 +953,25 @@ class ReachGraspIO(BlackrockIO):
|
|
|
|
|
|
def __annotate_channel_infos(self, block):
|
|
|
if self.odmldoc:
|
|
|
+
|
|
|
+ # updating array annotations of neuronal analogsignals
|
|
|
+ for seg in block.segments:
|
|
|
+ for obj in seg.analogsignals:
|
|
|
+ if 'neural_signal' in obj.annotations and obj.annotations[
|
|
|
+ 'neural_signal'] and 'channel_ids' in obj.array_annotations:
|
|
|
+ chids = obj.array_annotations['channel_ids']
|
|
|
+ ca_ids, *coordinates = self.__convert_chids_and_coordinates(chids)
|
|
|
+ obj.array_annotations.update(dict(connector_aligned_ids=ca_ids,
|
|
|
+ coordinates_x=coordinates[0],
|
|
|
+ coordinates_y=coordinates[1]))
|
|
|
+
|
|
|
+ # updating annotations of groups and spiketrains
|
|
|
objs = block.groups
|
|
|
for seg in block.segments:
|
|
|
- objs.extend(seg.analogsignals + seg.spiketrains)
|
|
|
+ objs.extend(seg.spiketrains)
|
|
|
|
|
|
for obj in objs:
|
|
|
- if hasattr(obj, 'array_annotations') and ('channel_ids' in obj.array_annotations):
|
|
|
- chids = obj.array_annotations['channel_ids']
|
|
|
- ca_ids, *coordinates = self.__convert_chids_and_coordinates(chids)
|
|
|
- obj.array_annotations.update(dict(connector_aligned_ids=ca_ids,
|
|
|
- coordinates_x=coordinates[0],
|
|
|
- coordinates_y=coordinates[1]))
|
|
|
- elif 'channel_id' in obj.annotations:
|
|
|
+ if 'channel_id' in obj.annotations:
|
|
|
chid = obj.annotations['channel_id']
|
|
|
ca_id, *coordinates = self.__convert_chids_and_coordinates([chid])
|
|
|
obj.annotate(connector_aligned_id=ca_id[0],
|