Record.wrsamp() fails with a TypeError when the record has no d_signal
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 70/100
Piste de recherche
Localise la classe Record (probablement dans wfdb/record.py) et inspecte wrsamp() et calc_checksum(). Exécute l'extrait de code fourni pour reproduire le TypeError. Décide entre convertir p_signal en d_signal ou lever une erreur claire ; fait signifie que l'écriture de l'enregistrement réussit ou échoue avec un message utile.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Record.wrsamp() fails with an unhelpful error for a record read with the default physical=True:
import wfdb
record = wfdb.rdrecord("sample-data/100", sampto=1000)
record.wrsamp(write_dir="out")
# TypeError: unsupported operand type(s) for %: 'NoneType' and 'int'
The record only has p_signal, so d_signal is None. Record.wrsamp() first updates the checksums with calc_checksum(), which computes np.sum(self.d_signal, 0) % 65536 and fails on None. Reading with physical=False, or calling record.d_signal = record.adc() first, works.
#543 ran into the same error. Two possible fixes:
- Convert
p_signaltod_signalwith the record'sadc_gainandbaselinewhend_signalis missing, so that a record read withrdrecordcan be written back directly (which would also help with #500). - At least raise a clear error saying that
d_signalis required, and how to get it.
- Langage dominant
- Jupyter Notebook
- Étoiles
- 856
- Forks
- 326
- Merge moyen
- 22 h 46 min
- PR mergées (30 j)
- 40
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de MIT-LCP/wfdb-python
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
MIT-LCP/wfdb-python#590 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
MIT-LCP/wfdb-python#568 ·
Les mainteneurs répondent en général sous 1 jour
-
Add validation of segments when writing a `MultiRecord`Peut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
MIT-LCP/wfdb-python#557 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 58/100
MIT-LCP/wfdb-python#554 ·
Les mainteneurs répondent en général sous 1 jour
-
WFDB path ignoredOuverte
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
MIT-LCP/wfdb-python#545 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de MIT-LCP/wfdb-python
Issues similaires
-
profiler: a mem_write or mem_read event merges into the last event of a different run or processOuvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
OCHA-DAP/topo-tools#247 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
tensorflow/datasets#11253 ·
Les mainteneurs répondent en général sous 1 jour
-
Add: Duo Comedy SD LogoOuvertecheck:passed logos:add
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 4 jours
-
Bug Needs refinement
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 2 jours