|
15 | 15 | import json |
16 | 16 |
|
17 | 17 | from pathlib import Path |
| 18 | +from natsort import natsorted |
18 | 19 |
|
19 | 20 | import numpy as np |
20 | 21 |
|
@@ -454,10 +455,18 @@ def explore_folder(dirname, experiment_names=None): |
454 | 455 | # now create all_streams, nb_block, nb_segment_per_block (from first recording Node) |
455 | 456 | recording_node = folder_structure[list(folder_structure.keys())[0]] |
456 | 457 | nb_block = len(recording_node['experiments']) |
457 | | - for block_index, experiment in enumerate(recording_node['experiments']): |
| 458 | + # natural sort experiment names so that block_index sequentially indicate experiments |
| 459 | + experiment_names = [e['name'] for e in recording_node['experiments']] |
| 460 | + experiment_order = np.argsort([int(ename.replace('experiment', '')) for ename in experiment_names]) |
| 461 | + for block_index, exp_index in enumerate(experiment_order): |
| 462 | + experiment = recording_node['experiments'][exp_index] |
458 | 463 | nb_segment_per_block[block_index] = len(experiment['recordings']) |
459 | 464 | all_streams[block_index] = {} |
460 | | - for seg_index, recording in enumerate(experiment['recordings']): |
| 465 | + # natural sort recording names so that seg_index sequentially indicate recordings |
| 466 | + recording_names = [r['name'] for r in experiment['recordings']] |
| 467 | + recording_order = np.argsort([int(rname.replace('recording', '')) for rname in recording_names]) |
| 468 | + for seg_index, rec_index in enumerate(recording_order): |
| 469 | + recording = experiment['recordings'][rec_index] |
461 | 470 | all_streams[block_index][seg_index] = {} |
462 | 471 | for stream_type in recording['streams']: |
463 | 472 | all_streams[block_index][seg_index][stream_type] = {} |
|
0 commit comments