1. 15 May, 2026 5 commits
    • Andrey Filippov's avatar
      CLAUDE: Add perspective remap — inverse-shift TERRAIN-DISP to per-scene perspective images · 978388ba
      Andrey Filippov authored
      perspective_remap.py: new module that inverts the terrain-reference warp
      in TERRAIN-DISP-MERGED frames using ELEV_GND depth (64×80 tiles, tilted
      plane, no NaN). Produces natural-parallax perspective images per scene,
      valid only in the overlap with the reference camera's ground footprint.
      
      elphel_to_colmap_perspective.py: new CLI script (parallel to the original
      elphel_to_colmap.py, which is kept unchanged) that adds --elev_gnd and
      applies the remap before writing COLMAP output.
      
      Tested on 185-frame NC dataset: valid-pixel min=0.10, mean=0.54, max=1.00.
      SciPy added to Dependencies in README.
      Co-authored-by: 's avatarClaude <claude@elphel.com>
      978388ba
    • Andrey Filippov's avatar
      CLAUDE: Add COLMAP sanity-check script · 925d0f34
      Andrey Filippov authored
      Verifies Phase 0 output before any OpenMVS tools run:
      - camera intrinsics (focal length, FoV)
      - camera-centre trajectory plots (XY/XZ/YZ)
      - inter-frame step statistics with outlier detection
      - consecutive rotation change (warns if > 10°)
      - sample image display with NaN/saturation diagnostics
      
      Fixed a stride-2 parse bug: empty 2D-point lines must be kept
      in the line list before the range(0,N,2) loop, otherwise only
      every other image record is parsed.
      Co-authored-by: 's avatarClaude <claude@elphel.com>
      925d0f34
    • Andrey Filippov's avatar
      0ed26856
    • Andrey Filippov's avatar
      CLAUDE: Add OpenMVS CLI pipeline script · 2c82cb3d
      Andrey Filippov authored
      Shell wrapper: elphel_to_colmap.py → InterfaceCOLMAP →
      DensifyPointCloud → ReconstructMesh → RefineMesh → TextureMesh.
      Configurable via OPENMVS_BIN, NUM_THREADS, HFOV env vars.
      Includes installation note for building OpenMVS from source.
      Co-authored-by: 's avatarClaude <claude@elphel.com>
      2c82cb3d
    • Andrey Filippov's avatar
      CLAUDE: Phase 0 — Elphel LWIR-16 → COLMAP pose+camera bridge · c7ec55ec
      Andrey Filippov authored
      Reads 32-bit float scene slices from *-TERRAIN-DISP-MERGED.tiff and
      per-scene poses from *-INTERFRAME.corr-xml, outputs COLMAP text-format
      sparse model (cameras.txt, images.txt, empty points3D.txt) plus
      16-bit PNG images for OpenMVS ingestion.
      
      Camera: PINHOLE, fl derived from 32° HFoV (1116 px for 640 px width).
      Rotation: mirrors GeometryCorrection.getCommonRotMatrix(); convention
      verified in Phase 3 Blender smoke test.
      Co-authored-by: 's avatarClaude <claude@elphel.com>
      c7ec55ec