Discussion: deprecate `read_imro`
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 in src/probeinterface/neuropixels_tools.py at read_imro and _read_imro_string, then inspect pull request #349 and callers to determine whether standalone IMRO reading is used. Done means the project has a settled decision on moving the inference logic and deprecating or retaining read_imro, with the resulting scope documented.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
When discussing this pull request with @chrishalcrow, I’ve been thinking about the following:
Why do we expose read_imro directly?
The private function _read_imro_string is the one actually used by SpikeGLX and Open Ephys, while read_imro is just a wrapper around it that, for a reason that I can't remember, is exposed.
To make read_imro work, we need quite a bit of logic to infer the imDatPrb_pn (probe model number) from imDatPrb_type (probe type). This code is complex and since it was determined through trial and error when we did not have a general table, maybe not very reliable:
This was necessary when our probe descriptions were based on the probe type. However, now that the official metadata table is organized around imDatPrb_pn (probe part number), this complexity is no longer needed. In other words, this logic doesn’t serve the key functionality anymore, which is reading neuropixel metadata.
Additionally, I’m not sure exposing the functionality to read IMRO tables on their own makes sense. These tables are embedded in the meta file, and trying to read them independently seems like a feature no one has asked for.
Proposed solution:
- Move the logic for inferring
imDatPrb_pnfromimDatPrb_typeout of the core function (_read_imro_string) and into the wrapper (read_imro), keeping the complexity at the periphery. - If there is no use for stand-alone reading of imro tables then deprecate
read_imroand eventually remove it. This will allow us to eliminate code that is no longer needed now that we can rely on the metadata table.
- Lingua principale
- Python
- Stelle
- 86
- Fork
- 49
- Merge medio
- 9h 43m
- PR unite (30g)
- 2
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/probeinterface
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 58/100
SpikeInterface/probeinterface#469 · 2 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
SpikeInterface/probeinterface#465 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 48/100
SpikeInterface/probeinterface#452 · 1 commento ·
-
question
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
SpikeInterface/probeinterface#449 · 7 commenti ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
SpikeInterface/probeinterface#447 · 2 commenti · 1 reazione ·
Tutte le issue di SpikeInterface/probeinterface
Issue simili
-
upstream update
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
conan-io/conan-center-index#31098 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
john-kurkowski/tldextract#382 ·
-
comp/tools duplicate P2 sweeper:risk-compatibility tool/mcp type/bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
NousResearch/hermes-agent#132042 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
deepset-ai/haystack#13092 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 85/100
feder-cr/invisible_playwright_mcp#1408 ·
I maintainer di solito rispondono entro 1 giorno