Comments (11)
Currently I am trying to write my own script that will map my recording and sorting to a Neo object, and then export it to a Neo-Nix object using the NeoIO. I havent had much time to work on this though. When I am done, I could try to add this to SpikeInterface if you want. I am trying to generalize it as much as a I can so it is not only specific to my MEA design.
One thing that might be nice with the SpikeInterface documentation is for the Compatible Technology to have a table that shows the current capabilities of each extractor (whether it can read and/or write, and what data it can extract/write). It might also be nice to have an infographic overview of the SpikeInterface data structure, to make it easier for mapping the data?
from spikeinterface.
Hi All.
Using NixIO format can be easy.
I can do it.
from spikeinterface.
Ooh, I think I understand your question (I deleted my previous response). I misunderstood the first time. It seems like you want to export recordings and sorting to the same file. As you mentioned, it doesnโt appear that any exporter will do this although in principal, NWB or NIX should be capable of storing it in one file. I should maybe bring that up with those developers.
I will say that the toolkit.export_to_phy saves both a recording and sorting into the phy format although it is a bit heavy to run.
from spikeinterface.
Thanks! I can work with just the sorted data for now, but it would be a nice addition to NWB/NIX, and the Neo extractor as well when that come out.
I have tried to export_to_phy previously to try manual sorting, and unfortunately it crashes with a memory error (at least on Windows).
from spikeinterface.
As it is now, export_to_phy tries to extract all the spikes from the recording so you can do manual curation later. This will unfortunately not scale to large datasets. I am not sure exactly how to deal with that. @alejoe91 any ideas or plans for this? I am not sure where we left it.
from spikeinterface.
As it is now, export_to_phy tries to extract all the spikes from the recording so you can do manual curation later. This will unfortunately not scale to large datasets. I am not sure exactly how to deal with that. @alejoe91 any ideas or plans for this? I am not sure where we left it.
@colehurwitz unfortunately phy needs to extract all spikes to compute features from all of them. Otherwise the manual curation would be biased as some spikes will not show...I don't think there is a way around that
from spikeinterface.
Currently I am trying to write my own script that will map my recording and sorting to a Neo object, and then export it to a Neo-Nix object using the NeoIO. I havent had much time to work on this though. When I am done, I could try to add this to SpikeInterface if you want. I am trying to generalize it as much as a I can so it is not only specific to my MEA design.
One thing that might be nice with the SpikeInterface documentation is for the Compatible Technology to have a table that shows the current capabilities of each extractor (whether it can read and/or write, and what data it can extract/write). It might also be nice to have an infographic overview of the SpikeInterface data structure, to make it easier for mapping the data?
Hi @McD-NMI
I think having a function in spikeextractors that exports to NEO will be a good addition. The user should be able to pass any combination of recording and sorting extractor:
neo_block = se.export_to_neo(recording=rec_extractor, sorting=sort_extractor)
neo_block = se.export_to_neo(recording=rec_extractor, sorting=None)
neo_block = se.export_to_neo(recording=None, sorting=sort_extractor)
@samuelgarcia can probably help! I think it could go in the extraction_tools.
from spikeinterface.
@alejoe91 thanks for replying! You are much more knowledgeable about this part than I am.
Do you think the memory limitations of the phy exporter could potentially be overcome by extracting and writing out in chunks?
from spikeinterface.
mmm the waveforms are extracted to compute PCA features, so it's a bit more complicated than that. One could load a subset of features to compute the PCA model, then waveforms could be loaded, transformed, and saved out in chunks. But this would require an extensive rewrite.. I think that for large-scale recordings one needs an appropriate machine :)
from spikeinterface.
Right, we would still need to extract waveforms for PCA, although I think we can pick an appropriate amount of spikes for that. It would be quite nice if this worked on regular sized machines as well. Also, I think some recordings will be too big for even the largest machines!
I think I will make an issue for this that we can address at any point (low priority).
from spikeinterface.
Done in 0.90
from spikeinterface.
Related Issues (20)
- ValueError for si.extract_waveforms() for many spikeforest datasets HOT 8
- 'spikeinterface.full' has no attribute 'plot_traces' HOT 11
- Question about SI "group" property for multi-shank probe HOT 2
- Curation Tutorial Broken HOT 7
- Having troubles importing TDT files using TDTRecordingExtractor HOT 2
- How to sort only a segment of an Open Ephys recording HOT 12
- Exporting consensus sorting to Phy HOT 6
- Getting KeyError: 'relative_path' while implementing any sorting algorithms. HOT 2
- Quality Metrics Test Failure `Amplitude Cutoff` HOT 6
- Unexpected need to protect lines inside script for multiprocessing HOT 4
- Cannot load mearec dataset HOT 2
- Re-add `relative_to` to `dump_to_pickle`
- Import sorted Kilosort3 data that was run in MATLAB HOT 2
- The `get_extremum_channels` should have an `auto` option. HOT 2
- Unable to use backend of "ipywidgets" in any plotting function HOT 5
- KeyError: 'probe_name' in OpenEphysBinaryRecordingExtractor HOT 4
- Can't run Kilosort2_5 from local repository HOT 4
- help with understanding Spike waveforms (basic) HOT 9
- Windows Permission Errors in SI HOT 5
- Support reading `nex5 ` files with NeuroExplorer
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spikeinterface.