code wiki / (root) / nx_photogram_front_gate.nx

nx_photogram_front_gate.nx

buildroot/runtime/nx_photogram_front_gate.nx

16849 B419 linesdepth 5pulls 6 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

nx_photogram_front_gate.nx -- proof gate for the photogrammetry front end. Every test here has an ORACLE (a ground truth computed independently of the code under test) and the two headline claims each carry a NEGATIVE CONTROL, because a rotation-invariance test that only shows "the numbers came out small" proves nothing unless you also show they come out LARGE when the mechanism is disabled. T4 disables the steering; T5b feeds pure noise. If either control fails to fire, the gate goes RED even when every positive test passed -- an instrument that cannot fail is not measuring. license_tier: ORIGINAL expect_exit: 0

dependencies 2 imports · 0 importers

nx_photogram_front.nx nx_epose.nx nx_photogram_front_gate.nx

imports: nx_photogram_front.nxnx_epose.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main pf_init pf_load_conf sys_read pf_conf_key pf_init_angles e3_isqrt gw gn gchk gw ↻ pf_popcnt g_refpop g_fill_tex g_tex pf_detect pf_init ↻ pf_harris pf_pix g_rot90 pf_orient pf_init ↻ pf_pix ↻ pf_describe pf_init ↻ pf_smooth pf_pix ↻ pf_ransac_e pf_init ↻ pf_estimate_e e3_estimate_norm e3_normset e3_isqrt ↻ e3_row e3_estimate e3_abs e3_isqrt ↻ e3_mat3T e3_mat3mul e3_abs ↻

structs

none

consts

13const G_S: i64 = 96 // synthetic image side
19const G_NPTS: i64 = 60 // synthetic 3D points
20const G_NOUT: i64 = 18 // deliberate outlier correspondences (30%)
26const G_TOL: i64 = 20

functions

31func gw(s: *u8) -> i64
called by 2: gchkmain
38func gn(v: i64) -> i64
called by 1: main
55func gchk(name: *u8, ok: i64) -> i64
called by 1: main calls 1: gw
64func g_tex(x: i64, y: i64) -> i64
called by 1: g_fill_tex
70func g_fill_tex(img: *u8, s: i64) -> i64
called by 1: main calls 1: g_tex
85func g_rot90(src: *u8, dst: *u8, s: i64) -> i64
called by 1: main
99func g_refpop(v: i64) -> i64
called by 1: main
112func main() -> i64