-
Andrey Filippov authored
Add a curt_cond_test path (boolean at the top of the CUAS-RT dialog) that, inside the curt_en branch, renders the 16 per-sensor images and saves them to the -CENTER instance for calibration inspection: - CuasMotion.perSensorAveragesFromTD: imclt the per-sensor TD, print the 16-sensor average spread, save -CUAS-PERSENSOR (16-slice stack, per-slice avg labels). Saves via the -CENTER instance, not gpuQuad.getQuadCLT(). - CuasMotion.perSensorFromRawJp4: read RAW /jp4/ per-sensor (oracle getJp4Tiff, one thread/sensor), force-H2D (bypass the "GPU mem already correct" verify), execConvertDirect from raw, save -CUAS-PERSENSOR-RAW (uncorrected baseline; calibration stays a separate "cheat"). RT-seed for the future SATA raw stream; GPU port later with Java as oracle. Fix the NaN border on the RT SUBAVG-CONV2D product: - CuasDetectRT subtract-average -> NaN-tolerant union (average only non-NaN scenes per pixel), matching the oracle -CUAS-MERGED-CUAS; the plain sum NaN-propagated (one missing scene poisoned the pixel in every frame -> thick border after LoG). - CuasRTUtils.convolve2DLReLU -> NaN-aware (NaN out only if the center is NaN; substitute the center value for NaN taps), so the LoG can't bloom a thin border into a thick NaN frame. - Add -SUBAVG-PRELOG save (post-subtract-avg, pre-LoG) for bisecting. Compiles (mvn -DskipTests clean package). WIP: the raw-path values/edge and the in-memory-vs-file (MERGED-CUAS) divergence are still under review; the ~28px edge residual is traced to the temporal subtract-average at the rotation-swept composite edge. See ANDREY_CONTINUE.md open items. Co-Authored-By:Claude Opus 4.8 (1M context) <noreply@anthropic.com>
d3c015c3