Introduction
blurdetector is a fast command-line tool that scores photo sharpness and classifies every image as sharp or BLURRY, so a whole shoot can be culled in one pass — directly from RAW files (CR3, NEF, ARW, DNG, …), no conversion step required.
$ blurdetector photos --sort
file sharpness global verdict
-----------------------------------------------------
photos/IMG_0003.CR3 18.4 6.2 BLURRY
photos/IMG_0002.CR3 154.9 40.3 sharp
photos/IMG_0001.CR3 512.3 88.1 sharp
3 file(s): 2 sharp, 1 blurry [threshold = 100.0]
Highlights
- RAW-friendly and fast — RAW files are scored from the JPEG preview the camera already embeds; nothing is ever demosaiced. CR3 files get a dedicated path that reads the full-resolution embedded JPEG straight out of the container and decodes only its luminance plane.
- Bokeh-aware — the sharpness score is the mean of the best tiles of a grid, not of the whole frame: one sharp region is enough to call a photo sharp, so portraits on creamy backgrounds are not flagged as blurry.
- Parallel — files are analyzed concurrently with rayon;
--jobscaps the thread count. - Batch-safe — a corrupt or unreadable file becomes an
errorrow in the report and never aborts the run. - Calibration-stable — scores are byte-for-byte reproducible and guarded by a golden-file test suite: a threshold calibrated today keeps meaning the same thing in every future version.
Next steps
- Installation — prebuilt binaries or
cargo build. - Usage — the command line, option by option.
- Calibration — pick the right cut-off for your camera and style.
- Pipeline — what the score actually measures.
- Score Stability — why scores never drift between versions.