Go to file
NoahC 4f1ae7f7c4 Parallelize embed and thermal stretch (configurable workers)
Both conversion steps ran their hot loops serially. Now they fan out across a
configurable worker pool (default min(cpu, 16); the rig has 20 cores + NVMe):

- embed_metadata: parallel image copy (thread pool) + tagging split across
  several concurrent exiftool processes via new run_exiftool_parallel().
- stretch_thermal: parallel session histogram, parallel render/save, and
  parallel exiftool embedding (reuses run_exiftool_parallel); GPS verify +
  retry preserved.
- CLI: --workers N on both tools. GUI: shared "Parallel workers" spinbox.

Measured on a 135-frame session (270 embed pairs), workers 1 -> 16:
  render+embed 38.9s -> 6.0s (6.5x), embed copy+tag 73.5s -> 13.0s (5.7x),
  histogram 1.7s -> 0.7s. 0 frames missing GPS in every run.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 11:38:59 +02:00
.gitignore Add FireMapper post-processing toolchain 2026-06-26 09:39:54 +02:00
CLAUDE.md Parallelize embed and thermal stretch (configurable workers) 2026-06-26 11:38:59 +02:00
embed_metadata.py Parallelize embed and thermal stretch (configurable workers) 2026-06-26 11:38:59 +02:00
firemapper_gui.py Parallelize embed and thermal stretch (configurable workers) 2026-06-26 11:38:59 +02:00
manual.html Add FireMapper post-processing toolchain 2026-06-26 09:39:54 +02:00
session_map.py Add FireMapper post-processing toolchain 2026-06-26 09:39:54 +02:00
stretch_thermal.py Parallelize embed and thermal stretch (configurable workers) 2026-06-26 11:38:59 +02:00