Automatic Image Analysis
Every wallpaper is analysed when it is scanned or uploaded. The results power the filters: brightness, dominant hue, aspect ratio and orientation are all derived here, along with a numeric luminance value.
When analysis runs
Section titled “When analysis runs”- On startup and on every
POST /api/refresh, when folders are scanned. - Immediately after an upload.
Rescanning re-analyses images, so re-running a scan will pick up changes.
What is measured
Section titled “What is measured”The image is sampled on a grid (every 50 pixels) and averaged. From the average colour the server derives:
Luminance and brightness
Section titled “Luminance and brightness”Luminance is a 0.0–1.0 value computed with the standard weighting:
luminance = (0.299 × R + 0.587 × G + 0.114 × B) / 255It maps to a brightness category:
| Luminance | Brightness |
|---|---|
< 0.3 | dark |
0.3 to 0.7 | medium |
> 0.7 | light |
Dominant hue
Section titled “Dominant hue”The averaged colour is normalised and categorised:
- If the channels are close together (low spread), the hue is
neutral. - Otherwise the strongest channel decides: a red-dominant image is
warmwhen green is also high, otherwisered; green-dominant isgreen; blue-dominant iscool.
Possible values: red, green, blue, warm, cool, neutral.
Aspect ratio and orientation
Section titled “Aspect ratio and orientation”Aspect ratio is derived from width ÷ height, with tolerances around common
ratios: 16:9, 4:3, ultrawide, square, portrait, or custom when it
fits none. Orientation is coarser: wider than tall is landscape, taller than
wide is portrait, near-square is square.
Related
Section titled “Related”- Filter reference
- Querying metadata — every analysis field appears in the wallpaper JSON.