Commit graph

1 commit

Author SHA1 Message Date
jedarden
a11b24459a feat(pdftract-1g578): implement image-source dispatch for binarization selection
- Add ImageSource enum (PhysicalScan, DigitalOrigin, Jbig2)
- Add BinarizerKind enum (Sauvola, Otsu, Skip)
- Implement image_source_from_filters(): maps PDF filter chain to ImageSource
- Implement select_binarizer(): maps ImageSource to BinarizerKind
- Dispatch policy: DCTDecode → Sauvola, FlateDecode → Otsu, JBIG2 → Skip
- Unknown filter chains default to PhysicalScan (conservative)
- Pure functions, no I/O, fully unit-tested

Acceptance criteria:
- DCTDecode → Sauvola 
- FlateDecode → Otsu 
- JBIG2Decode → Skip 
- Unknown → PhysicalScan (default) 
- Pure dispatch, fully tested 
- Wired into preprocessing coordinator 
2026-05-31 23:54:26 -04:00