Skip to content

Analysis fixes - #1009

Merged
Josef-Haupt merged 1 commit into
mainfrom
analyze-fixes
Oct 20, 2026
Merged

Josef-Haupt merged 1 commit into
mainfrom
analyze-fixes

Conversation

@Josef-Haupt

@Josef-Haupt Josef-Haupt commented Oct 20, 2026 •

Copy link
Copy Markdown
Member
  • No crash when an analysis has zero detections (all result types).
  • Kaleidoscope output now uses Kaleidoscope's layout: INDIR, FOLDER, IN FILE, OFFSET, DURATION, TOP1MATCH, TOP1DIST. The names live in config.KALEIDOSCOPE_COLUMNS. segments reads these files and 2.x ones.
    Format change: the scientific name and the 2.x extra columns are gone.
  • segments reads quoted fields containing commas, e.g. the 3.0 label "Whales, Dolphins and Porpoises".
  • --split_tables writes inside the output folder for relative and linked inputs.
  • Latitude/longitude 0 survive a params-file reload.
  • Labels without _ (Perch) keep their name.
  • The --additional_columns warning is shown again, with corrected text.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

Static review identified no blocking issues, and regression tests cover the corrected behaviors; tests were not executed.

No open issues 🎉

What changed in this PR

Fixes analysis output handling and improves compatibility between result writers and segment extraction.

Changes:

  • Handles empty detections, split-output paths, and zero-valued coordinates.
  • Standardizes Kaleidoscope output while preserving legacy parsing and quoted CSV fields.
  • Improves CLI warnings and adds regression tests.
File Description
tests/​segments/​test_segments.py Tests legacy Kaleidoscope compatibility.
tests/​analyze/​test_writers.py Tests empty outputs and writer/parser compatibility.
tests/​analyze/​test_analyze.py Tests output paths, saved coordinates, and warnings.
birdnet_analyzer/​segments/​utils.py Parses current and legacy Kaleidoscope formats and quoted CSV fields.
birdnet_analyzer/​config.py Defines shared Kaleidoscope columns.
birdnet_analyzer/​analyze/​core.py Fixes output paths, empty results, species labels, and coordinate persistence.
birdnet_analyzer/​analyze/​cli.py Logs a corrected additional-columns warning.

Review effort: Balanced

@Josef-Haupt
Josef-Haupt merged commit 1d6aac7 into main Oct 20, 2026
11 checks passed
@Josef-Haupt
Josef-Haupt deleted the analyze-fixes branch October 20, 2026 02:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants