Audit: corrections de bugs identifiés

- rendering.py: colorbar cassée quand NaN mask actif — créer un
  ScalarMappable avec le cmap sauvegardé au lieu de rely sur
  l'image RGBA qui n'a plus de cmap
- rendering.py: nettoyage du PNG temporaire avec try/finally et
  missing_ok=True pour éviter les fichiers orphelins
- gpu.py: to_gpu() convertit en float32 au lieu de float64 pour
  réduire la consommation mémoire GPU
- dtm.py: utiliser _file_basename() de pipeline.py au lieu de
  dupliquer la logique d'extraction du basename
- pipeline.py: docstring corrigé (18 visualisations, pas 19)
- cli.py: --file supporte aussi les noms sans .copc
  (recherche .copc.laz et .copc.las en plus de .laz et .las)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jacquin Antoine
2026-05-10 12:11:13 +02:00
parent 47c20a319a
commit e31d3f0e2b
5 changed files with 37 additions and 20 deletions

View File

@ -218,12 +218,9 @@ def classify_ground(laz_file, temp_dir, method='auto', force=False):
else:
logger.info(f" Classification sol: {method.upper()} (forcé)")
# Strip all known LiDAR extensions (.copc.laz, .laz, .las)
laz_base = laz_file.name
for ext in ['.copc.laz', '.copc.las', '.laz', '.las']:
if laz_base.lower().endswith(ext):
laz_base = laz_base[:-len(ext)]
break
# Use shared basename extraction function
from .pipeline import _file_basename
laz_base = _file_basename(laz_file)
output_las = temp_dir / f"{laz_base}_ground_{method}.las"