MIT-LCP / MIT-LCP/wfdb-python

Change rounding method for low-resolution / smooth_frames?

Offen
#335 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Jupyter Notebook
Sterne
853
Forks
322
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

The method used by WFDB to downsample signals in "low-resolution mode" is inaccurate (samples are rounded towards zero rather than to the nearest integer.) I'm intending to improve this by using a more accurate method in WFDB 10.7:

https://github.com/bemoody/wfdb/commit/bbfecc133932ae61f3c32491fe4679067b75c9ec

The method used by WFDB 10.6 and earlier is (as far as I know) equivalent to what rdrecord currently does by default (i.e. with smooth_frames=True).

I'm looking for opinions here. Should we make the same change in wfdb-python for the sake of better accuracy? Should we keep the existing inaccurate rounding for the sake of backward reproducibility?

(Implementing this change efficiently with numpy might be a little difficult, but let's ignore that for now.)

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit dem rdrecord-Pfad, der bei smooth_frames=True verwendet wird, und vergleiche dessen Rundungsverhalten mit dem verlinkten WFDB-10.7-Commit. Kläre vor jeder Änderung, ob Genauigkeit oder Rückwärtsreproduzierbarkeit Vorrang hat, und evaluiere anschließend einen effizienten NumPy-Ansatz und definiere die erwarteten Ergebnisse bei niedriger Auflösung.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
numpy, python
Bereich
data
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.