Proposal: `ConcatenateSortingAnalyzer`
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Start by reading the existing SortingAnalyzer and analyzer extension APIs to understand how extensions expose data. Then identify how child analyzers, matching unit maps, and shared recording channels should be represented; the proposal does not name specific files or tests. Done means a read-only concatenated analyzer can expose compatible extension data across its constituent analyzers and save a minimal JSON representation.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
For very long recordings, or recordings made at different times over many days, you might not want a single SortingAnalyzer. For example, it might be helpful to consider metrics as time varying measures of unit quality: if your firing rate is consistent for 3 days, then drops significantly, this might be a sign that your recoridng device can no longer record the unit. More practically, on many systems it is difficult to parallelize a post-processing computation on a 300 hour analyzer. Whereas making 300 one hour computations might be much easier. For unit matching, you almost certaintly want to sort and postprocess each session seperately, but might want a framework to compare sortings.
After discussions with Alessio, I propose to add a ConcatenateSortingAnalyzer class along these lines. Some of these we discussed, some are mine:
ConcatenateSortingAnalyzerdoes not inherit fromSortingAnalyzer(there are too many methods we don't need), but mimics the extension structure.ConcatenateAnalyzerExtensionsinherits fromAnalyzerExtenions- We do not touch the SortingAnalyzer class
- It is primarily a data reader of many analyzers => you cannot compute/modify the constituent analyzers
- The input is a dict(?) of analyzers
- Demand that recording channels are the same
- Demand that parameters (e.g. peak_sign), extensions and extension parameters are the same. Many properties are then just equal to the property of any child analyzer.
- Keep complexity of data wrangling in the
get_datamethod of each extension, which can now accept ananalyzer_index(oranalyzer_key) argument. Keep in mind that in the future, we might want to slice the concatenated analyzers. - The sparsity of the concatenated analyzer's units is the intersection of sparsities of each individual unit
- The user can provide maps to match units. Keep in mind that in the future, we might want to algoithmically generate these.
- It's ok that
main_channel_indicescan vary between analyzers. These are used primarily for computation of the sparsity and computation of metrics. savejust saves a minimal json representation of the underlying analyzers
What do people think? Thought/suggestions welcome!
- Lingua principale
- Python
- Stelle
- 866
- Fork
- 285
- Merge medio
- 2g 13h
- PR unite (30g)
- 49
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di SpikeInterface/spikeinterface
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
SpikeInterface/spikeinterface#4842 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
SpikeInterface/spikeinterface#4756 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
SpikeInterface/spikeinterface#4510 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
SpikeInterface/spikeinterface#4891 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
SpikeInterface/spikeinterface#4880 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di SpikeInterface/spikeinterface
Issue simili
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
sergey-miryanov/gcmon#230 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Azure-Samples/azure-search-openai-demo#3249 ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] Failed archive extraction deletes the dataset cacheForse già presa @dajiaohuang l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
alibaba/GraphScope#4674 ·