Commit 65664688 authored by Andrey Filippov's avatar Andrey Filippov

CLAUDE: Wire curt_synth_bg - zero real background for clean targets

curt_synth_bg was fully parsed/persisted in IntersceneMatchParameters
but never read by the detector: the synthetic grid was always ADDED on
top of the LoG-conditioned real pyramid, so "Synthetic over real
background = false" had no effect (real background noise, and any NaN
border pixels, always present). Now when curt_synth_bg=false the level
is zeroed before the synthetic targets are injected -> truly clean,
noise-free targets. Logs which path was taken.
Co-Authored-By: 's avatarClaude Opus 4.8 (1M context) <noreply@anthropic.com>
parent cc0c0f86
......@@ -1007,6 +1007,7 @@ public class CuasDetectRT {
// across levels) while the real noise is averaged. Moving cells wrap every n_synth frames
// (a deliberate recurrent-decay test case). C5P/DNN read this; legacy 3d3-conv5d does not.
int n_synth = synth_pixels.length;
boolean synth_bg = clt_parameters.imp.curt_synth_bg; // false = clean targets only: drop the real background (+its noise/NaNs) before injecting // By Claude on 06/15/2026
for (int nlev = 0; nlev < pyramid_levels; nlev++) {
if (!c5LevelSelected(c5_levels, nlev)) continue;
double [][] lev = dpixels_pyramid[nlev];
......@@ -1014,11 +1015,13 @@ public class CuasDetectRT {
for (int j = 0; j < lev.length; j++) {
float [] sp = synth_pixels[j % n_synth];
double [] d = lev[j];
if (!synth_bg) java.util.Arrays.fill(d, 0.0); // clean: replace the conditioned real background with zero, then add the synthetic target(s) // By Claude on 06/15/2026
int m = Math.min(d.length, sp.length);
for (int pix = 0; pix < m; pix++) d[pix] += sp[pix];
}
}
System.out.println(now()+" detectTargets(): injected synthetic grid (tiled "+n_synth+" frames) into selected pyramid levels");
System.out.println(now()+" detectTargets(): injected synthetic grid (tiled "+n_synth+" frames) into selected pyramid levels"
+ (synth_bg ? " (over real background)" : " (CLEAN - background zeroed, curt_synth_bg=false)")); // By Claude on 06/15/2026
}
// Direct pixel-domain fine-velocity path (-C5P): bypass the 3x3 coarse stage - // By Claude on 06/11/2026
// a single-stage velocity-matched filter straight on the LoG+LReLU frames of // By Claude on 06/11/2026
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment