-s3_fast with -r, -g or -b also runs the full step 3 with LED fits

Offen Anfängerfreundlich
#176 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

@imshah-id arbeitet bereits daran.

Seit 31.10.2026.

  • #180 von @imshah-id — offen

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
84/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
python
Bereich
cli, testing

Rechercherichtung

Lies ledsa/core/parser_arguments_run.py etwa in den Zeilen 60–75 und verfolge, wie die Farbflags step_3 und step_3_fast setzen. Füge Tests dafür hinzu, dass -s3_fast -r nur den schnellen Schritt ausführt und dass -r allein weiterhin Schritt 3 ausführt; führe die relevante Testsuite aus. Fertig ist die Aufgabe, wenn beide Kombinationen von Befehlszeilenargumenten den vorgesehenen Schritt auswählen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug

Problem

python -m ledsa -s3_fast -r runs the full step 3, with the LED fit on every LED of every image, and then the fast step 3 again. -g and -b behave the same way. Only -s3_fast -rgb, the combination the README shows, runs the fast step alone.

Cause

parser_arguments_run.py, line 60:

if args.red or args.green or args.blue or args.rgb and not args.step_3_fast:
    args.step_3 = True

and binds tighter than or, so the condition reads red or green or blue or (rgb and not step_3_fast), and the not step_3_fast guard only applies to -rgb. With -r, step_3 is set, so the full step 3 runs (line 70) before the fast one (line 75).

Impact

The fast run overwrites the result files of the full run, so the values that end up in analysis/channel*/ are those of the fast step. What is lost is the runtime of the LED fits, by far the slowest part of step 3, and logfiles/warnings.log collects the warnings of failed fits that were never asked for.

Fix

Group the colour flags before the guard:

if (args.red or args.green or args.blue or args.rgb) and not args.step_3_fast:
    args.step_3 = True

and add a test that -s3_fast -r runs only the fast step 3, while -r alone still runs step 3.

Vorherrschende Sprache
Python
Sterne
7
Forks
4
Ø Merge
3 Std. 58 Min.
Gemergte PRs (30 T.)
35

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus FireDynamics/LEDSmokeAnalysis

Alle Issues in FireDynamics/LEDSmokeAnalysis

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

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