Deblur evidence you can rerun
Frames with a known sharp state, damaged in named ways, put through the same code the tools run — with the error before and after, the time it took and the cases where the right answer is no.
Pixels stay in this tab; only the file you save leaves it.
Run it yourself
Press the button and eight cases run in this browser, one after another, on the same background worker the tools use. Each one shows the reference, the damaged frame and the result, the verdict the product reached, the method it chose and the error against the reference. Blur cases also run the pass with the kernel the damage really used, which separates a measurement miss from a reconstruction miss. Each case downloads as a ZIP with its three frames and a settings file, so anyone can check the arithmetic.
The reconstruction paths against known kernels
Measured offline on 31 October 2026 on a 640 × 448 drawn scene with half a level of noise added: mean absolute error per channel against the sharp scene (lower is better). Kernels under 33 taps take the iterative spatial path automatically; longer ones take the frequency-domain path, whose cost does not grow with the kernel.
| Kernel | Blurred | Spatial path | FFT path | Chosen |
|---|---|---|---|---|
| Motion 0°, 9 taps | 3.38 | 3.28 | 4.07 | spatial |
| Motion 0°, 15 taps | 4.58 | 4.19 | 4.50 | spatial |
| Motion 30°, 21 taps | 7.76 | 6.67 | 6.38 | spatial |
| Motion 0°, 31 taps | 6.60 | 5.65 | 5.98 | spatial |
| Motion 60°, 41 taps | 13.06 | 10.16 | 8.75 | FFT |
| Motion 0°, 61 taps | 9.77 | 7.26 | 8.43 | FFT |
| Defocus, 9 taps | 4.31 | 4.03 | 4.25 | spatial |
| Defocus, 21 taps | 7.52 | 6.58 | 6.03 | spatial |
| Defocus, 33 taps | 9.83 | 8.21 | 7.47 | FFT |
The same run checks that a render done in bands, or on a crop with its margin, equals a whole-frame render byte for byte, and that strength 0 returns the original exactly. All three held on the spatial, frequency-domain and sharpen paths.
The newer tools against known damage
Measured the same way on the same day. The blind kernel estimator, given a scene smeared by an 11-pixel motion kernel at 30°, proposed a kernel whose weights correlate 0.92 with the true one; deconvolving with it brought the error from 4.66 to 3.92 (the true kernel reaches 3.15). The block-scaling reader found a 6-pixel grid at the right phase and read the native picture back with zero error. The dot-screen reader found a 5-pixel screen and found no screen at all in the same scene without one.
- Evidence on drawn frames is evidence about the arithmetic, not a promise about every photo.
- A wrong kernel adds artifacts rather than removing blur; every tool here lets you compare before you save.
- Detail averaged away — mosaic, block grids, heavy blur — does not come back, and these cases check that the product says so.
Questions
Why drawn frames instead of real photos?
Because a drawn frame's sharp state is known exactly, so the error of a result can be measured rather than judged by eye. Real photos have no sharp original to compare with. The drawn frame has hard edges, thin strokes and smooth gradients — the cases a deblur gets right or wrong.
Are the numbers on this page the same in my browser?
The error figures should match to within rounding, because the arithmetic is the same and nothing random is involved. The times are your device's, measured as the cases run.
Why do some cases end in “no pass”?
Because that is the correct answer. A block grid has lost the detail inside each block, and a sharp frame has nothing to undo. A tool that “improves” them anyway is inventing or damaging; these two cases check that this site refuses.
What does the error figure mean?
The mean absolute difference per colour channel, in 8-bit levels, between a frame and the reference, ignoring a narrow border. Lower is closer. For the dot-screen case the reference is the screen's average tone; for block scaling it is the small picture the blocks came from.
When won't these results carry over to my photo?
When your photo's blur is not one of these clean kernels — real camera shake curves, focus varies across a scene, and compression adds its own damage. The evidence shows what the method does on known damage, not a promise about every photo.
Related
- How it worksWhich engine ran, how each verdict is reached, and the model licence chain.
- Deblur with your own kernelPaint, estimate or import a 2D kernel and deconvolve with it.
- Clear a pixelated imageRead block scaling back to its native grid and enlarge it smoothly; mosaic is refused.
- What can be reconstructedLearned priors, the GoPro corpus, and reading a result sceptically.



Evidence