dichromatic op• Data kinds: rgbimage → image2d
• Call: import specularity; specularity.specular_coefficient_map(image_rgb, illuminant_rgb=(1.0, 1.0, 1.0), body_rgb=None, max_rank_ratio=0.1, max_negative_frac=0.02) (or opsspecular.get("specular_coefficient_map"))
The scalar interface (specular) coefficient of the dichromatic model. → (H, W).
The same decomposition as :func:specular_diffuse_split, returning the
scalar `m_s(x) instead of the coloured image m_s(x) * G`. That scalar
is what an inspection routine thresholds: it is the amount of light the
surface reflected *as a mirror does*, in the units of the input radiance,
and it is zero wherever the surface behaved as a Lambertian body.
`specular_coefficient_map(...) * illuminant_unit` equals the second return
value of :func:specular_diffuse_split exactly, by construction — the two
operators share one core.
Arguments, guards and honest limits are identical to
:func:specular_diffuse_split — including the fact that the two guards
bound gross violations only.
Raises `ValueError`: exactly the same conditions as
:func:specular_diffuse_split (invalid image, invalid illuminant,
identically zero image, body colour parallel to the illuminant, either
guard firing, fewer than 3 pixels on the uniform-body route, invalid
*body_rgb*).
• specular_photometric family guide
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• The canonical algorithm (author, year) and its uses are named in the family usage guide above.
• specular_photometric — py -3.11 examples/specular_photometric.py
image2d as input)dichromatic)specular_diffuse_split · specular_free_transform · illuminant_from_dichromatic_planes
*Provenance: specularity.py — SPECULAR operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.