csv_to_wfdb mishandles defaults, scalar broadcasting and checksums
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
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
- 853
- Fork
- 324
- Merge medio
- 17h 39m
- PR unite (30g)
- 10
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 1-3 ore Idoneità per principianti 83/100
MIT-LCP/wfdb-python#594 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
MIT-LCP/wfdb-python#590 ·
I maintainer di solito rispondono entro 1 giorno
-
pandas 3.0: three remaining set_index(<str column>.values) calls still raise TypeError (custom-labels paths)Forse già presa @wenh06 l’ha presa 7 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
MIT-LCP/wfdb-python#574 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
`find_local_peaks` ignores the sample at `i + radius`, so points on a rising slope are returned as peaksForse già presa @rmz-oz l’ha presa 29 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
MIT-LCP/wfdb-python#572 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
MIT-LCP/wfdb-python#595 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di MIT-LCP/wfdb-python
Issue simili
-
Add: Cinemax Asia HDApertacheck:passed streams:add
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
bug help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 3 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
onthegomap/planetiler#1657 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
catalystneuro/neuroconv#2170 ·
I maintainer di solito rispondono entro 1 giorno
-
BotanicApertanew-spider
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
alltheplaces/alltheplaces#20184 ·
I maintainer di solito rispondono entro 1 giorno