Sharpness Scoring
Categories:
Sharpness Scoring
RawCull can automatically rank every image in a catalog by sharpness, so the sharpest frames rise to the top and out-of-focus or motion-blurred shots sink to the bottom.
Sharpness scores are estimates produced by automated image analysis and may be incorrect. Always verify results with your own eye — especially on borderline or low-scored frames. Use the Focus Mask overlay to inspect a frame before discarding it.
Overview
When you click Sharpness, RawCull analyses each RAW file:
- A small thumbnail is extracted from the ARW file — no full RAW decode needed.
- Apple Vision locates the main subject. The final score weights 75 % subject region + 25 % full frame. If no salient region is detected, the full-frame score is used.
- A Laplacian edge-detection kernel measures per-pixel sharpness energy. High-ISO noise is suppressed by a pre-blur whose radius scales automatically with ISO and image resolution.
- Scores are catalog-relative: the p90 of the session is anchored at 100, so every other frame is expressed as a percentage of it. A score of 60 means the frame is 60 % as sharp as the sharpest typical shot in that session.
Running a Sharpness Score
The Score Sharpness button appears in the grid toolbar. The toolbar function for showing the grid view is:
- show all thumbnails in a grid

- Open a catalog and wait for thumbnails to finish generating.
- Click Score Sharpness (scope icon) in the toolbar above the grid.
- A Scoring… label replaces the button while analysis runs (up to six images concurrently).
- When complete, a coloured score badge appears on every thumbnail and the grid re-sorts sharpest-first.

Click Re-score to run again after adjusting Focus Mask Controls or switching the aperture filter.
Reading the Score Badge
| Colour | Normalised score | Meaning |
|---|---|---|
| Green | 65 – 100 | Sharp — well-focused, fine detail visible |
| Yellow | 35 – 64 | Acceptable — slightly soft or minor motion blur |
| Red | 0 – 34 | Soft — missed focus, camera shake, or significant motion blur |
The number in the badge is the normalised score (0–100).
Sorting by Sharpness
After scoring, the grid sorts sharpest-first automatically. Toggle this off and back on with the Sharpness button in the toolbar. The same toggle is available in the sidebar for list views.
Filtering by Aperture
The Aperture picker restricts scoring and sorting to one shooting style:
| Filter | Aperture range | Typical use |
|---|---|---|
| All | All images | Default — no filtering |
| Wide (≤ f/5.6) | f/1.4 – f/5.6 | Birds, wildlife, portraits |
| Landscape (≥ f/8) | f/8 and above | Tripod landscape, architecture, macro |
Changing the filter immediately re-filters the grid and re-applies the sharpness sort within the filtered set.
Auto-Calibration from Burst
Calibration runs automatically when you click Score Sharpness. It analyses the current catalog to derive the best Threshold and Laplacian strength values for that session, then applies them to the Focus Mask Controls sliders. Pre-blur, Erosion radius, and Dilation radius are not changed.
Calibration requires at least 5 scoreable images. You can still adjust any slider manually after calibration.
The Focus Mask Overlay
Enable the Focus Mask overlay in the zoom window controls to see the same edge-detection output that drives the score, painted in red. Tight, bright lines = high score; faint glow = low score.
Focus Mask Controls
| Control | Effect |
|---|---|
| Pre-blur radius | Base Gaussian smoothing before edge detection. Scales automatically with ISO and resolution — increase for very noisy files. |
| Threshold | Minimum edge strength included in the mask — higher = only the sharpest edges |
| Erosion radius | Morphological erosion before dilation — removes isolated speckle noise |
| Dilation radius | Morphological dilation — expands edge regions to fill small gaps |
| Laplacian strength | Amplification of the raw edge response — increase to separate sharp and soft frames more aggressively |
| Feather radius | Gaussian softening on the final mask edge — visual only, does not affect the score |
| Border inset | Fraction of the image dimension excluded from each edge (default 4 %) — prevents Gaussian artifacts from inflating the score |
| Salient weight | How much the subject-region score drives the result vs. the full-frame score (default 75 %) |
| Subject size factor | Small proportional bonus based on how much of the frame the subject fills (default 0.1) |
| Subject classification | Runs an extra Vision pass to label the subject category on each thumbnail. Disable for faster re-scores |
| Show raw Laplacian | Displays the unthresholded Laplacian output — useful for diagnosing tuning issues |
Changes take effect on the next scoring run.
Understanding Low Scores
Motion blur — shutter speed too slow to freeze the subject. Focus Mask shows a diffuse halo rather than sharp lines.
Missed or soft focus — autofocus tracked the background or a wing tip. Focus Mask shows strong edges somewhere other than the subject centre.
Small or distant subject — if Vision cannot detect a salient region, the scorer falls back to the full frame, diluting the score with background. Reduce salient weight and re-score if distant subjects feel underrated.
High ISO noise — extreme noise can mimic sharp edges and temporarily inflate scores. Increase Pre-blur radius in Focus Mask Controls and re-score.
Tips
- Score after culling for exposure — removing badly exposed frames keeps the normalised scale more meaningful.
- Re-score with the aperture filter active — the 100 baseline anchors to the sharpest frame within that aperture range.
- Use the Focus Mask to validate scores — open the zoom window and enable the overlay before discarding any borderline frame. Trust your eye on close calls.
- Scores reset when you open a new catalog — each catalog has its own relative scale; scores across sessions are not comparable.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.