Tools

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

Open the tool

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.
  • Video
  • Editing
  • Workflow
  • Interactive