feat(classify): gate halftone-scan to a peak band (MK-7) #28
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/classify-halftone-ceiling-MK-7"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
MK-7: gate
halftone-scanto a peak BAND instead of just a floor. Adds a configurablehalftone_maxceiling; the halftone score is nowsoft_ge(peak, halftone_min) * soft_le(peak, halftone_max) * low_sat. Scoring change only, no change to the autocorrelation detector.Changes
halftone_maxfield inFeatureThresholds+classify.toml, same XDG override path as the rest.halftone_dotsfixture previously autocorrelated at exactly 1.0 (a digital screen, not a scan) which the ceiling correctly rejects. It now jitters a fraction of dot cells so the peak lands at ~0.80, inside the realistic 0.70-0.95 band, and still classifies as halftone-scan (conf >= 0.5).ceiling_rejects_perfect_periodic_grid: the un-jittered grid (peak ~1.0) is kept out of halftone-scan.Acceptance status
halftone_maxloads fromclassify.tomlalongsidehalftone_min.classifies_halftonestill passes (now with conf >= 0.5).tests/fixtures/classify/halftone-scan/— blocked on fixtures.Blocked / needs input
The default band (0.55..0.95) is a placeholder. The observed signature-scan peak from MK-6 validation was 0.641, which is above the 0.55 floor, so the current band does not yet reject it. Excluding it needs the floor raised (~0.68), but the real-halftone low-end peak is unknown without the user's fixtures, so I have not guessed the final values.
To finish: please drop the real halftone scan(s) (newspaper/magazine) and the signature-scanned PNG into the repo. I will measure their peaks, set the band to admit real halftone and reject the signature, and add the checked-in fixture test. Tuning lands as a follow-up commit on this branch.
🤖 Generated with Claude Code