-
Notifications
You must be signed in to change notification settings - Fork 240
Add experiment_name argument to OpenEphysBinaryRecordingExtractor
#4177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add experiment_name argument to OpenEphysBinaryRecordingExtractor
#4177
Conversation
|
Thanks @h-mayorquin Please let's not deprecate |
alejoe91
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but let's not deprecate block_index pls :)
|
Undid the deprecation. I was thinking that only this extractor uses the block index but I realize some others do: MaxwellRecordingExtractor, MCSRawRecordingExtractor NixRecordingExtractor,TdtRecordingExtractor So now the logic is that you can use either but not both. |
Perfect! |
| │ │ │ │ └── timestamps.npy | ||
| │ │ │ └── events/ # Event streams | ||
| │ │ └── recording2/ # Additional recording (additional segment) | ||
| │ └── experiment2/ # Different experiment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe add settings_2.xml which is generated for experiment2?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
Hello, think we'll need to pin neo to >=0.14.3 so that |
Agree. I should not have used a private internal detail of neo as well : / |
The current
block_indexparameter exposes a Neo implementation detail that most users won't understand. Since Open Ephys organizes data into named experiment folders (experiment1, experiment2, etc.), I've added anexperiment_nameparameter that lets users specify experiments directly by folder name (e.g.,experiment_name="experiment2"). I've also improved error messages to list available experiments instead of just mentioningblock_index.I add the
experiment_nameparameter toOpenEphysBinaryRecordingExtractorwith full backward compatibility. I deprecateblock_indexwith aFutureWarning(removal in 0.105.0) and add aget_available_experiments()class method for discovery. My implementation passesexperiment_names=[experiment_name]to Neo to filter efficiently. I've enhanced the docstring with the Open Ephys binary format and how it maps to SpikeInterface concepts.I'm also deprecating
experiment_names(plural). This parameter was added to Neo in PR #1159 to handle inconsistent stream configurations across experiments, but this doesn't apply to SpikeInterface since we only load one experiment at a time. The newexperiment_name(singular) is clearer for our single-block loading model and achieves the same goal of filtering out incompatible streams so the data can be loaded.[EDIT] After discussion below, we are keeping block index.