csv_to_wfdb mishandles defaults, scalar broadcasting and checksums
I maintainer di solito rispondono entro 1 giorno
Una pull request collegata è già stata integrata.
- #600 di @TheNetherWatcher — integrata
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 67/100
Direzione di ricerca
Read src/wfdb/io/convert/csv.py, especially the csv_to_wfdb section around lines 338–409, and review the related work in issue #592. Check how defaults, scalar broadcasting, checksums, and initial values behave with the examples in this issue, including record_only=True. Done means those cases use the intended values and the relevant tests pass.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Found while reviewing #591.
The code in csv_to_wfdb that fills in defaults and broadcasts scalars to all channels (https://github.com/MIT-LCP/wfdb-python/blob/b8914e1c9c777c45571c894cb7b6579550a86f13/src/wfdb/io/convert/csv.py#L338-L409) has several problems:
- Scalars are only broadcast when
type(x) is int(orstr). NumPy integers and floats such asadc_gain=200.5are not broadcast to a list. - Defaults are applied with
if not x:, so an explicit0is treated as missing. For example,baseline=0withadc_zero=1024gives a baseline of 1024. - When
adc_zerois a list andbaselineis not given, the default baseline becomes[adc_zero] * n_sig, a list of lists (https://github.com/MIT-LCP/wfdb-python/blob/b8914e1c9c777c45571c894cb7b6579550a86f13/src/wfdb/io/convert/csv.py#L355-L357). - With
record_only=True, the defaultchecksumis computed from the physical values rather than the digital samples (https://github.com/MIT-LCP/wfdb-python/blob/b8914e1c9c777c45571c894cb7b6579550a86f13/src/wfdb/io/convert/csv.py#L401-L402), andinit_valueis an approximation frombaseline + adc_gain * p_signal[0](https://github.com/MIT-LCP/wfdb-python/blob/b8914e1c9c777c45571c894cb7b6579550a86f13/src/wfdb/io/convert/csv.py#L393-L396).
The checksum and initial value could be computed from the digital signal (e.g. via Record.adc()) instead. This may be easiest to address together with #592.
- Lingua principale
- Jupyter Notebook
- Stelle
- 856
- Fork
- 326
- Merge medio
- 22h 46m
- PR unite (30g)
- 40
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 MIT-LCP/wfdb-python
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
MIT-LCP/wfdb-python#590 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
MIT-LCP/wfdb-python#568 ·
I maintainer di solito rispondono entro 1 giorno
-
Add validation of segments when writing a `MultiRecord`Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
MIT-LCP/wfdb-python#557 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 58/100
MIT-LCP/wfdb-python#554 ·
I maintainer di solito rispondono entro 1 giorno
-
WFDB path ignoredAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
MIT-LCP/wfdb-python#545 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di MIT-LCP/wfdb-python
Issue simili
-
Add: ESP 2 PTApertacheck:passed feeds:add
Difficoltà 1/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
yt-project/yt#5624 ·
I maintainer di solito rispondono entro 1 giorno
-
automation missing-model model-sync provider:fireworks-ai
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
anomalyco/models.dev#12458 ·
I maintainer di solito rispondono entro 1 giorno
-
correction metadata
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 65/100
acl-org/acl-anthology#10753 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Interactive node: valid JSON with mixed-type arrays (e.g. `[1, "a"]`) is rejectedForse già presa @phil-opp l’ha presa oggi. Apertadaemon rust
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno