Why a report comes before a button
“Improve image quality” covers at least five different faults that need five different fixes. A dull frame needs light; a yellow one needs its illuminant removed; a grainy one needs its noise kept away from the sharpening; a blocky one was compressed too hard somewhere upstream; a small one simply has too few pixels. A single enhance button applies one blend of all of them to every picture, which is why it so often makes a good photograph worse and a bad one only differently bad.
So this page measures first. The readings are separate on purpose and each one is in the unit it is measured in — levels, kelvin, code values, a quality figure, a ratio, pixels — with a band printed beside it. Where the studio can do something about a reading, the row carries a button that does exactly that and nothing else. Where nothing can be done, the row says so and says why.
The bands the verdicts use
| Reading | Fine | Worth fixing |
|---|---|---|
| Median brightness | 0.4–0.56 | outside that band |
| Colour of the light | within 900 K of daylight | more than 900 K away |
| Grain σ (luma) | under 2 | over 6, or over 2 in a dark frame |
| Edge energy | at least 4 | under 4, or edges wider than 2.5 px |
| JPEG quality | 85 and up | under 60 |
| 8×8 blocking | ratio up to 1.15 | over 1.15 |
| Clipped highlights | under 0.5% | can't fix — detail is gone |
| Resolution | long edge 1,080 px and up | under 1,080 px |
These are first estimates, set against drawn test images and the published behaviour of the methods, and they are versioned with the engine so a change is never silent. They are the same constants the panel reads, so this table and the verdicts cannot disagree.
How the readings are taken
Brightness and range come from a 256-bin histogram of luminance. The colour of the light is the correlated colour temperature of the frame’s average colour over its mid-tones, in linear light. Grain is Immerkær’s estimate: a three-by-three filter that cancels flat tone and straight edges, leaving the random part, summarised by a median so a few busy edges cannot inflate it. Edge energy is the mean gradient on luminance; edge width is the ten-to-ninety per cent rise distance measured across the strongest edges in the frame.
JPEG quality is read from the file itself — its quantisation tables, in the first bytes of the file already in your browser — and the blocking ratio compares the step across every eighth pixel boundary with the step inside the blocks. The blocking grid only exists at the file’s own scale, so on a picture larger than the working copy that row says it was not measured rather than guessing from a resampled copy.
What it will not claim
- We can't rebuild a blown highlight. Where the sensor clipped to pure white there's no detail left in the file, and no amount of correction invents it — what we can do is stop the rest of the photo from suffering for it.
- A reading is a measurement, not a verdict on whether the photograph is good. A deliberately dark night scene measures as dark; the pass notices real highlights in it and goes gently, and the row is still there for you to overrule.
- Sharpening adds contrast at edges; it does not add detail. Motion blur and a badly missed focus cannot be undone here, and the report says so rather than offering a button that pretends.
Questions people ask
- What does σ mean in the grain row?
- It is the standard deviation of the noise, in 8-bit code values, estimated with Immerkær's method: a small filter that cancels smooth tone and edges and leaves the random part, then a robust median over the frame. Below 2 you will not see grain at normal size; above 6 it shows everywhere; between the two it shows in dark frames once their shadows are lifted, which is why the report weighs it against the median brightness. Luminance grain and colour grain are measured separately, because colour speckle is the one that looks worst and is the easier one to hide.
- How can you tell my JPEG's quality without the camera settings?
- Every JPEG carries its own quantisation tables — the numbers that decide how coarsely each frequency was rounded away. Most encoders build them by scaling one standard table by a quality setting, so the page reads the file's table, finds the quality whose scaled table matches it most closely, and prints that. When a camera or phone wrote its own non-standard table the figure is still close, and the row says approximate. The reading comes from the first bytes of the file already in your browser; nothing is sent anywhere.
- Why won't it fix my blown-out sky?
- Because the detail is not in the file. A pixel that reached 255 in a channel recorded only "at least this bright", and every pixel in that patch recorded the same thing. The report marks clipped highlights as can't fix whenever more than 0.5% of the frame sits there, and the pass protects everything around them instead of pretending. Pulling the brightness down only turns flat white into flat grey.
- Is there an overall quality score?
- No, deliberately. A photograph can be sharp and noisy, or clean and soft, and a single number out of a hundred would average away exactly the thing you need to know. Each reading stays in its own unit with its own verdict, and the after column is measured again on the corrected pixels rather than assumed from the settings.
- Does improving quality make the file bigger?
- Usually a little. Correcting light and colour does not add pixels, but saving at a high quality setting keeps more of what is there, and the save card prints the exact number of bytes written. If the report suggests local AI for a small or blocky picture, that step doubles the width and height, so the file grows roughly fourfold.
Where the fixes live
- The correctorOne press, then ten controls if the press did not get you all the way there.
- Image clarity enhancerClarity, sharpening and grain checked at 1:1 in a loupe on the busiest patch before you save.
- AI photo enhancer, on your deviceThe measured pass first, then local models for 2× detail — download size shown before anything is fetched.
- Shot in a dim roomOpens on the low-light starting point: shadows well open, contrast held back.
- Take the yellow outOpens on Warmth, for tube light, warm LEDs and everything else that turns a room amber.
- The one thing correction cannot undoWhere a histogram stacks against the right wall, the detail is gone from the file.