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

@ -57,16 +57,17 @@ def log_gpu_status():
def to_gpu(arr):
"""Send array to GPU if available, otherwise return as float64 numpy.
"""Send array to GPU if available, otherwise return as float32 numpy.
Falls back to CPU if GPU is unavailable (e.g. in forked subprocess).
Uses float32 to reduce GPU memory usage. Falls back to CPU if GPU
is unavailable (e.g. in forked subprocess).
"""
if _gpu_available():
try:
return _cp.asarray(arr.astype(np.float64))
return _cp.asarray(arr.astype(np.float32))
except Exception:
pass # Fall back to CPU
return arr.astype(np.float64)
return arr.astype(np.float32)
def to_cpu(arr):