Skip to content

Commit 7bf6b70

Browse files
committed
add docstring detailed mapping
1 parent b404802 commit 7bf6b70

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

neo/rawio/openephysbinaryrawio.py

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,51 @@ class OpenEphysBinaryRawIO(BaseRawWithBufferApiIO):
5050
If this is not the case, you can select a subset of experiments with the `experiment_names`
5151
argument.
5252
53+
Expected OpenEphys Folder Structure:
54+
dirname/
55+
├── Record Node 102/ # Recording hardware node (optional, v5.x+)
56+
│ ├── settings.xml # Main settings file
57+
│ ├── settings_2.xml # Additional experiment settings
58+
│ ├── experiment1/ # Experiment folder (Neo Block 0)
59+
│ │ ├── recording1/ # Recording session (Neo Segment 0)
60+
│ │ │ ├── structure.oebin # Required: JSON metadata file
61+
│ │ │ ├── continuous/ # Signal data streams
62+
│ │ │ │ └── AP_band/ # Stream folder (becomes "Record Node 102#AP_band")
63+
│ │ │ │ ├── continuous.dat # Raw binary signal data
64+
│ │ │ │ ├── timestamps.npy # Sample timestamps (pre-v0.6)
65+
│ │ │ │ └── sample_numbers.npy # Sample numbers (v0.6+)
66+
│ │ │ └── events/ # Event data streams (optional)
67+
│ │ │ └── TTL_1/ # Event stream folder
68+
│ │ │ ├── timestamps.npy
69+
│ │ │ ├── channels.npy
70+
│ │ │ └── states.npy
71+
│ │ └── recording2/ # Recording session (Neo Segment 1)
72+
│ │ └── [same structure as recording1]
73+
│ └── experiment2/ # Experiment folder (Neo Block 1)
74+
│ └── [same structure as experiment1]
75+
└── Record Node 103/ # Second recording hardware node
76+
├── settings.xml # Must have identical experiment structure
77+
├── experiment1/ # Same experiments as Record Node 102
78+
│ └── recording1/ # Streams become "Record Node 103#AP_band"
79+
│ └── [same structure]
80+
└── experiment2/
81+
└── [same structure]
82+
83+
Multi-Node Recording Behavior:
84+
When multiple Record Nodes are present (e.g., "Record Node 102", "Record Node 103"):
85+
- All nodes must have identical experiment/recording structure
86+
- Streams from all nodes are merged into the same Neo blocks/segments
87+
- Stream names are prefixed with node name: "Record Node 102#AP_band"
88+
- This allows simultaneous recording from multiple hardware devices
89+
- Example: Two Neuropixels probes recording synchronously
90+
91+
dirname Parameter Options:
92+
- Point to root folder containing Record Nodes: Full multi-node, multi-experiment support
93+
- Point to specific Record Node folder: Single node, multi-experiment support
94+
- Point to specific experiment folder: Single experiment, multi-recording support
95+
- Point to specific recording folder: Single recording session only
96+
The reader will automatically detect the level and parse accordingly.
97+
5398
# Correspondencies
5499
Neo OpenEphys
55100
block[n-1] experiment[n] New device start/stop

0 commit comments

Comments
 (0)