Every frame here is measured against the seven technical pillars a credentialing body would judge it on — exposure, focus, lighting, colour, optics, framing, post-processing. Measured 2026-08-31. Hover or tap a measurement to see what it is, what scale it lives on, and what a high or low value means.
There is no score, and that is deliberate. Nineteen criteria of four different kinds do not add up. What could not be measured is listed too, because that is the half a score throws away.
1. Exposure and tonal range
| Measurement | This frame | Typical here | Objective target |
|---|
| Highlights at pure whiteShare of the frame where all three channels have hit 255, so no highlight detail is left to recover.Scale 0% to 100% of the frame.Target Only specular highlights — the reflection of the light source itself — are pure white. Everything else keeps some texture.Why that is objective Objective because it is data loss, not taste: a blown region whose interior is also blown has no detail left to recover, in any raw converter, ever. Specular highlights are exempt — they were white in the scene. Measured as this row times the one below it; the 0.5% figure is a working convention, the data loss is not.Higher Large areas are blown out.Lower Highlights hold their detail. | 0.00% | 0.00% to 4.1% | ≤ 0.5% blown flat |
|---|
| of those, with no texture around themOf the blown pixels, the share whose entire neighbourhood is also blown. This is what separates two very different things that produce the same percentage above.Scale 0% to 100% of the blown pixels.No objective target A qualifier rather than a measurement in its own right: it is what turns the row above into a target. A frame of nothing but specular highlights would read 0% here and be perfectly exposed.Higher A blown region with its interior gone — a white sky.Lower Small specular highlights, which are meant to be white. | 0.00% | 0.00% to 85.0% | — |
|---|
| Shadows at pure blackShare of the frame where all three channels have hit 0.Scale 0% to 100% of the frame.Target Shadows keep discernible detail. A pure-black region has none.Why that is objective The same data-loss argument as the highlights: three channels at zero cannot be lifted. On a film scan the number is usually zero for a different reason — base+fog sits above black — so a pass here says little about the negative.Higher Shadows are crushed into blocked black.Lower Shadow detail is held. | 0.00% | 0.00% to 0.32% | ≤ 1% of frame |
|---|
| Flat run in smooth areasHow far a smooth gradient travels before its value changes at all. Long runs are the visible stripes of posterisation.Scale From 1 px upward. Above roughly 10 px the steps start to be visible.Target A gradient advances continuously. Visible steps are an artifact of quantisation, not something the scene did.Why that is objective Viewing-dependent, and stated as such: at 100% on screen, or a 16×24 in print at arm’s length, a one-level step spanning more than roughly 10 px reads as a band. Wide, low-amplitude steps sit near the peak of human contrast sensitivity, which is why they are visible at all despite being one level of 255.Higher The gradient advances in steps rather than continuously.Lower Continuous gradation — usually because grain is dithering it. | 1.5 px | 1.2 px to 6.4 px | ≤ 10 px per step |
|---|
| Median toneThe middle brightness of the frame.Scale 0 is black, 1 is white.No objective target There is no correct median tone. A deliberate low-key portrait and an underexposed frame produce the same number, and nothing in the pixels separates them.Higher A bright frame.Lower A dark frame. Whether that was the intention is not something the file can say. | 0.17 | 0.18 to 0.70 | — |
|---|
2. Focus and depth of field
| Measurement | This frame | Typical here | Objective target |
|---|
| Frame within half the peak sharpnessHow much of the frame is nearly as sharp as its sharpest part. This is the depth-of-field measurement.Scale 0% to 100% of the frame.No objective target Depth of field is a choice. 4% sharp is a well-separated portrait or a missed focus; 90% is a landscape or a flat scene. The file cannot tell you which was wanted.Higher Deep focus — much of the frame is sharp.Lower Shallow focus. A well-separated subject and a missed focus look the same here. | 10.4% | 1.8% to 35.5% | — |
|---|
| Sharpest area against the medianHow far the sharpest part of the frame stands out from a typical part of it.Scale From 1× upward. 1× means nothing stands out.No objective target Whether the subject should stand out from its surroundings, and by how much, is the photograph’s business rather than the file’s.Higher One region is much sharper than the rest.Lower Uniformly sharp, or uniformly soft. | 6.1× | 2.6× to 32.5× | — |
|---|
| Directional detailWhether the frame’s detail runs mostly in one direction. Camera shake has an axis and defocus does not — but so do fences, rain and architecture.Scale From 1× upward. 1× means detail runs equally in every direction.No objective target Confounded by design: shake and a picket fence produce the same number. A target here would be a coin flip dressed as a measurement.Higher Detail runs mostly one way. Evidence of shake, or of a directional subject.Lower Detail runs in every direction. | 2.3× | 1.3× to 5.9× | — |
|---|
| Appropriate depth of field | not measured — Whether the aperture supported the intent requires knowing the intent. The measurement is above; the judgement is not the file’s. |
|---|
| Diffraction | not measured — These are resized exports, so the pixel pitch of the original sensor is gone. |
|---|
| Focus on the nearest iris | not measured — Needs eye landmarks. Nothing here runs a face detector, so “the peak lands on the nearest iris” cannot be checked. |
|---|
| Shutter discipline | not measured — No shutter speed in the metadata — expected on a film scan. |
|---|
3. Lighting
| Measurement | This frame | Typical here | Objective target |
|---|
| Hot spots | not measured — Blown pixels have to be intersected with skin, which needs a subject mask. |
|---|
| Lighting ratio | not measured — Key against fill needs the subject’s two sides, which needs a subject mask. |
|---|
4. Colour
| Measurement | This frame | Typical here | Objective target |
|---|
| Cast on the neutral tonesMeasured only on pixels that are already nearly grey, so a red jumper cannot be mistaken for a red cast.Scale 0 is neutral. 0.05 is a cast you would notice on a grey card.Target Neutral surfaces render neutral — red, green and blue equal.Applies only if neutral rendering was the intention: not a deliberately warm or cool grade, and not a film scan carrying the colour of its stock.Why that is objective The reference sits outside the photograph — a grey card is grey — and around a 2% channel imbalance across a large flat neutral is where a cast becomes visible rather than merely measurable. Held as conditional because most of this collection is film, where the cast belongs to the stock, the development and the scanner at least as much as to the photographer.Higher The nearly-grey pixels lean toward a colour.Lower Neutrals come out neutral. | 0.032 | 0.005 to 0.095 | ≤ 0.02 if |
|---|
| PaletteThe geometry of the dominant hues: single-hue, analogous, complementary, triadic or scattered.Scale A description, not a compliment — a street scene is “scattered”.No objective target No palette is correct. Complementary is not better than scattered; a street scene is scattered because streets are. | single-hue | — | — |
|---|
| Hue concentrationHow tightly the colour in the frame clusters around one hue.Scale 0 to 1, where 0 is colour spread evenly around the wheel.No objective target A monochrome study and a market stall sit at opposite ends of this and neither is wrong.Higher One hue dominates the frame.Lower Colour is spread around the wheel. | 0.721 | 0.163 to 0.975 | — |
|---|
| Saturation texture | not measured — Not enough saturated area to ask whether it kept its texture. |
|---|
5. Optics and perspective
| Measurement | This frame | Typical here | Objective target |
|---|
| Horizon tiltThe angle of the near-horizontal lines actually present in the frame. If there is no such line, this row is absent rather than zero.Scale Degrees. 0 is level; ±1° is visible on a sea horizon.Target A true horizon — sea, or a large lake — is horizontal in the world, so zero is correct.Applies only if the near-horizontal line it found is a true horizon — sea or a large lake — rather than a kerb, a roofline or a table edge running away from the camera. And a deliberate dutch angle is a decision, not a miss.Why that is objective Roughly 0.3° is where a tilt on a long straight horizon becomes noticeable. Held as conditional rather than binding because the line detector cannot tell a sea horizon from a receding kerb, and a receding kerb is supposed to run at an angle. Applied unconditionally it marked 93% of this collection as crooked, which was a statement about the detector rather than about the photographs.Higher Tilted clockwise.Lower Tilted anticlockwise. | -2.40° | -9.10° to +9.13° | within ±0.3° if |
|---|
| Red fringing per 1000 px of radiusLateral chromatic aberration: how far the red image separates from the green one as you move out from the centre of the frame.Scale Pixels per 1000 px of radius. 0 is perfect registration; ±1 px is visible fringing at the corners.Target Zero. The lens should form the red, green and blue images at the same size.Why that is objective A departure from the scene: nothing in the world was fringed. About half a pixel of separation out at the frame corner is where the colour edge becomes visible at 100%. The target is zero rather than “small” because a raw converter’s lens profile removes it outright — this is a correctable defect, not an inherent one.Higher Red sits outside green toward the corners.Lower Red sits inside green toward the corners. | -0.017 px | -0.025 px to +0.028 px | within ±0.5 px |
|---|
| Line bowHow far a straight line in the world bows in the frame.Scale Pixels per 1000 px of line. 0 is straight.Target Zero. A straight line in the world is straight in the frame.Why that is objective Also a departure from the scene, and also correctable in post. Around one pixel of bow across a thousand pixels of line is where a straight edge starts to look curved. A chosen fisheye or an uncorrected wide-angle look is a different thing and this number cannot tell them apart.Higher Barrel distortion — lines bow away from the centre.Lower Pincushion distortion — lines bow toward the centre. | +0.018 px | -0.286 px to +0.198 px | within ±1 px |
|---|
| Keystoning | not measured — The near-vertical lines all fall on one side of the frame. |
|---|
6. Edges and framing
| Measurement | This frame | Typical here | Objective target |
|---|
| Busy shapes touching an edgeConnected busy regions that run off the edge of the frame. A proxy for a cropped shoe or half a branch — with no object detector behind it, a kerb counts too.Scale A count, from 0 upward.No objective target Whether a shape running off the edge is a stray elbow or the composition is not something a pixel can answer. The count is a place to look.Higher More things run off the edge of the frame.Lower Quiet margins. | 4 | 1 to 7 | — |
|---|
| Largest of themThe size of the biggest of those shapes.Scale 0% to 25% of the frame; anything larger is treated as the subject.No objective target Same as above: size does not decide whether something was meant to be there.Higher A large shape is cut by the frame edge.Lower Only small things touch the edge. | 16.8% | 3.7% to 22.3% | — |
|---|
| Background isolation | not measured — Needs a silhouette to look behind. |
|---|
7. Post-processing and output
| Measurement | This frame | Typical here | Objective target |
|---|
| Sharpening halo on a typical edgeHow far the middle edge in the frame overshoots past its own bright side. An unsharp mask does not just steepen an edge, it overshoots — that overshoot is the halo.Scale As a share of that edge’s own contrast. Above roughly 15% the light line along edges becomes visible.Target Zero. The bright line along a sharpened edge is not in the scene; it is the unsharp mask overshooting.Why that is objective An added artifact rather than a matter of preference. Above roughly 10–15% of the edge’s own contrast the light piping is visible at 100%. Not literally zero, because some overshoot is inherent to any capture sharpening and to the scanner’s own — the target is “not visible”, not “not present”.Higher Edges carry a bright line: sharpening.Lower Edges rise cleanly into their plateau. | 4.5% | 2.0% to 11.7% | ≤ 10% of edge contrast |
|---|
| Colour profileWhether the file carries an ICC profile saying which colour space its numbers are in.Scale Tagged or untagged.Target The file carries an ICC profile naming the colour space its numbers are in.Why that is objective The only criterion in the whole rubric with no judgement in it: the file either declares its colour space or it does not. Untagged, browsers and most software assume sRGB — usually right for a web export, but an assumption the file could simply have stated. It is also the cheapest of these to fix. | untagged — outside the objective target | — | must be tagged |
|---|
| Plastic skin | not measured — Texture has to be measured inside skin, not across the frame. |
|---|