Focus Recovery Lab
See what sharpening can and cannot fix in a soft shot.
Working Runs in your browser, and nothing is uploaded. Try it below on sample data.
The problem
With a soft shot, it's tempting to push the sharpen slider until halos and grain appear.
What I built
A comparison tool that shows classic sharpening side by side, with numbers for both quality and artifacts, before you decide between fixing and reshooting.
- Methods side by side
- Measured against a sharp original
- Halos and grain measured too
Features and limits
Built and tested
- A synthetic frame with a known sharp original: gradient, bars, a thin line, a disc and a fine checker.
- Adjustable softness and noise; unsharp mask and Laplacian sharpening side by side with no sharpening.
- Metrics against the original: PSNR for closeness, a halo score for overshoot at edges, and grain in a flat patch.
- Picks the best result without halos; QA checklist and a handoff decision (use, restore elsewhere, or replace).
Limits
- Classic sharpening only, on a synthetic grayscale frame. It is not a restoration model and does not process your footage.
- PSNR alone can favor over-sharpening; the halo and grain numbers are there to balance it.
Planned
Artifact zoom, no hallucinated accuracy claims and provenance notes.
How to use
- Set how soft and noisy the frame is.
- Raise the sharpening amounts and watch halo and grain climb.
- Tick the QA items and choose a decision.
How it works
- Separable Gaussian blur; unsharp mask = original + amount × (original − blurred); Laplacian with a 4-neighbor kernel.
- Halo sums overshoot beyond the local range of the original around edges.
- A test shows PSNR barely penalizing heavy sharpening while halo and grain do.
Download
No download yet. A download appears here only after the package is built from reviewed code, installed and tested.
Tested versions & limits
- Pass Unit: degradation and recovery measured by PSNR Node 22, Linux
- Pass Unit: halo and grain catch over-sharpening that PSNR misses Node 22, Linux
- Pass Unit: comparison of every method Node 22, Linux
- Pass Browser: panels, best pick, halo on heavy sharpening Chromium (Playwright), 1280px
Last verified 2026-10-31.
A comparison lab for classic sharpening on a synthetic frame; not a restoration model.
Details
- Input
- Synthetic low-quality clips
- Output
- Comparison and QA checklist
- Runs in
- Any modern browser. Runs locally on a synthetic frame; nothing is uploaded.
- Source
- Original comparison lab for classic sharpening. Real footage restoration is done with third-party tools; no restoration model was built here.