WaveformView (geometry mode): Alt + wheel scales x around probe x = 0, so snippets shift instead of widening on channels far from x = 0
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 68/100
Direzione di ricerca
Start in waveformview.py at the initialization around line 78 and the geometry drawing sites around lines 468, 587, 632, 1087, 1239, and 1314; compare the Qt and Panel paths, including the Panel factor update around line 1049. Check existing waveform-view tests and reproduce with a unit on a contact far from x = 0. Done when Alt + wheel widens snippets around their contact positions across shanks without shifting them out of view.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
In the WaveformView in geometry mode, Alt + mouse wheel (widen/narrow x axis) multiplies the absolute x coordinates of the snippets by factor_x. Each snippet is built around its contact position:
waveformview.py, line 78
self.xvect[chan_ind, :] = np.linspace(x - espx, x + espx, num=width)
and is then drawn as:
waveformview.py, line 468 (also lines 587, 632, 1087, 1239, 1314)
xvectors = self.xvect[common_channel_indexes, :] * self.factor_x
So the scaling happens around x = 0 of the probe, not around each contact. For units on contacts near x = 0 the snippet widens as expected. For units on contacts far from x = 0, each wheel step mostly translates the snippet sideways (by about 30% of its x position, since factor_x changes by a factor of 1.3). Because the refresh keeps the view range (keep_range=True), the waveform appears to move rather than widen and soon leaves the view.
This is very visible on multi-shank probes. With a Neuropixels 2.0 4-shank probe (shanks about 250 µm apart), widening works on shank 0 and is unusable on shanks 1–3.
To reproduce:
Open a SortingAnalyzer from a multi-shank probe (or any probe with contacts at large x).
In WaveformView (geometry mode), select a unit on a contact far from x = 0.
Alt + mouse wheel: the snippet slides horizontally instead of widening in place.
Expected: the snippet widens around its own contact position.
Possible fix: scale around each contact's x position, e.g. keep the contact x per channel and use
xvectors = xcenter[:, None] + (self.xvect[common_channel_indexes, :] - xcenter[:, None]) * self.factor_x
where xcenter holds the contact x positions of common_channel_indexes. The same applies to the other places where self.xvect * self.factor_x is used, including the Panel backend (factor_x updated at line 1049).
Environment: spikeinterface-gui 0.13.1 (same code on current main), spikeinterface 0.104.8, desktop (Qt / PySide6), Windows 10, Python 3.10.
- Lingua principale
- Python
- Stelle
- 71
- Fork
- 23
- Merge medio
- 4g 4h
- PR unite (30g)
- 5
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-gui
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
SpikeInterface/spikeinterface-gui#147 · 4 commenti ·
-
Menu Bar Rendering WrongAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
SpikeInterface/spikeinterface-gui#40 · 3 commenti ·
-
demo with NWBForse di nuovo libera @alejoe91 l’ha presa 300 giorni fa e non c’è nessuna pull request aperta. Aperta
SpikeInterface/spikeinterface-gui#27 · 3 commenti · 1 assegnatario ·
Tutte le issue di SpikeInterface/spikeinterface-gui
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
esphome/esphome.io#7657 ·
I maintainer di solito rispondono entro 1 giorno
-
comp/gateway comp/plugins duplicate P3 type/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
NousResearch/hermes-agent#137019 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Kumo-Tabular weights unreachable behind restrictive egress proxies (Xet + plain HTTP both fail)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
NVIDIA/structured-data-models#1091 ·
I maintainer di solito rispondono entro 1 giorno
-
[work-item] adam-adae-worsening-emergence: conform spec.yaml to the specification style contract (REQ-1280)Forse già presa @muse-yamaa-bot l’ha presa oggi. Apertawork-item
Difficoltà 1/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno