-
Andrey Filippov authored
getNadirDisparityMaps() returns pXpYD in the SEGMENT REFERENCE frame (Cuas.transformFromVirtual() output), but renderNadirSequence() passed it to renderGPUFromDSI() with ZERO3 pose and the scene as its own reference, so each scene image was sampled at reference-frame coordinates. Each nadir frame thus carried an extra ref->scene terrain warp: effective camera poses vs the segment reference were ~doubled (ground translation 2x, small rotations ~2x), and the identity transform also canceled ERS compensation. On flat terrain the extra plane homography mimics a valid pose change, so COLMAP converged self-consistently but disagreed with the exported poses (Sim(3)/free monocular scale absorbs the 2x translation; rotations do not scale, explaining the large angular residuals, worst on high-rotation-rate sequences). Now transformToScenePxPyD() maps the reference-frame pXpYD into each scene's own frame (pose + ERS, same machinery as the verified frozen-terrain path) before rendering with ZERO3/self, where the identity pass is an exact pass-through. Output becomes a global-shutter virtual view at each scene's nominal pose. Also converts disparity to the scene frame for 16-sensor parallax compensation, and drops the defensive clone (the transform returns new arrays). Docs updated to state the frame conventions. Co-authored-by:Claude <claude@elphel.com>
a3f665e2
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| calibration | ||
| cameras | ||
| common | ||
| correction | ||
| cuas | ||
| dct | ||
| gpu | ||
| ims | ||
| jp4 | ||
| lwir | ||
| mcp | ||
| orthomosaic | ||
| readers | ||
| tensorflow | ||
| tileprocessor | ||
| vegetation | ||
| x3d/export |