Skip to content

Commit e2a8a9d

Browse files
committed
merge
2 parents 0717ced + a8437ff commit e2a8a9d

File tree

1 file changed

+25
-17
lines changed

1 file changed

+25
-17
lines changed

neo/rawio/openephysbinaryrawio.py

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@ def explore_folder(dirname, experiment_names=None):
410410
# here we skip if experiment_names is not None
411411
experiment_folder = root.parents[0]
412412
experiment_name = experiment_folder.stem
413-
experiment_id = experiment_name.replace('experiment', '')
413+
experiment_id = int(experiment_name.replace('experiment', ''))
414414
if experiment_name not in possible_experiment_names:
415415
possible_experiment_names.append(experiment_name)
416416
if experiment_names is not None and experiment_name not in experiment_names:
@@ -428,7 +428,7 @@ def explore_folder(dirname, experiment_names=None):
428428

429429
recording_folder = root
430430
recording_name = root.stem
431-
recording_id = recording_name.replace('recording', '')
431+
recording_id = int(recording_name.replace('recording', ''))
432432
# add recording
433433
recording = {}
434434
recording['name'] = recording_name
@@ -490,27 +490,35 @@ def explore_folder(dirname, experiment_names=None):
490490
folder_structure[node_name]['experiments'][experiment_id]['recordings'][recording_id] \
491491
= recording
492492

493-
# now create all_streams, nb_block, nb_segment_per_block (from first recording Node)
493+
# now create all_streams, nb_block, nb_segment_per_block
494494
# nested dictionary: block_index > seg_index > data_type > stream_name
495495
all_streams = {}
496496
nb_segment_per_block = {}
497497
recording_node = folder_structure[list(folder_structure.keys())[0]]
498+
499+
# nb_block needs to be consistent across record nodes. Use the first one
498500
nb_block = len(recording_node['experiments'])
499501

500-
exp_ids_sorted = sorted(list(recording_node['experiments'].keys()))
501-
for block_index, exp_id in enumerate(exp_ids_sorted):
502-
experiment = recording_node['experiments'][exp_id]
503-
nb_segment_per_block[block_index] = len(experiment['recordings'])
504-
all_streams[block_index] = {}
505-
506-
rec_ids_sorted = sorted(list(experiment['recordings'].keys()))
507-
for seg_index, rec_id in enumerate(rec_ids_sorted):
508-
recording = experiment['recordings'][rec_id]
509-
all_streams[block_index][seg_index] = {}
510-
for stream_type in recording['streams']:
511-
all_streams[block_index][seg_index][stream_type] = {}
512-
for stream_name, signal_stream in recording['streams'][stream_type].items():
513-
all_streams[block_index][seg_index][stream_type][stream_name] = signal_stream
502+
for node_id, recording_node in folder_structure.items():
503+
exp_ids_sorted = sorted(list(recording_node['experiments'].keys()))
504+
for block_index, exp_id in enumerate(exp_ids_sorted):
505+
experiment = recording_node['experiments'][exp_id]
506+
nb_segment_per_block[block_index] = len(experiment['recordings'])
507+
if block_index not in all_streams:
508+
all_streams[block_index] = {}
509+
510+
rec_ids_sorted = sorted(list(experiment['recordings'].keys()))
511+
for seg_index, rec_id in enumerate(rec_ids_sorted):
512+
recording = experiment['recordings'][rec_id]
513+
if seg_index not in all_streams[block_index]:
514+
all_streams[block_index][seg_index] = {}
515+
for stream_type in recording['streams']:
516+
if stream_type not in all_streams[block_index][seg_index]:
517+
all_streams[block_index][seg_index][stream_type] = {}
518+
for stream_name, signal_stream in recording['streams'][stream_type].items():
519+
all_streams[block_index][seg_index][stream_type][stream_name] = \
520+
signal_stream
521+
514522
# natural sort possible experiment names
515523
experiment_order = np.argsort([int(exp.replace('experiment', ''))
516524
for exp in possible_experiment_names])

0 commit comments

Comments
 (0)