CLAUDE: JNA getCorrIndices propagates num_corr_tiles to base field (real fix)
Root cause of the CORR2D-all-NaN / 0-targets: the inter-correlation actually
works (probe showed num_corr_tiles=8850 = 4425 tiles x (1 sensor + 1 sum)), but
the TD readback dropped it. Base GpuQuad.getCorrIndices() sets the num_corr_tiles
field ("also sets num_corr_tiles"); GpuQuadJna.getCorrIndices() read the native
count locally and returned the array WITHOUT setting the field. So
TDCorrTile.getFromGpu (num_tiles = getNumCorrTiles()/num_pairs) and base
getCorrTilesTd (uses the field directly) saw a stale 0 -> built 0 tiles ->
empty target sequence -> null ROUND_ONE image -> saveImagePlusInModelDirectory
NPE (the misplaced-null-guard latent bug is just the messenger).
Fix: GpuQuadJna.getCorrIndices() sets num_corr_tiles = n (native count); field
made protected so the subclass can. Java-only.
Co-Authored-By:
Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Showing