tb_specular_coefficient_map — 2D typed op

Data kinds: rgbimageimage

Call: fullseye.apply(img, "tb_specular_coefficient_map", a=0.5, b=0.5) (the 2-D model is one image plus two scalar knobs a,b∈[0,1])

Usage

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*).

Typed bridge of the specular op `specular_coefficient_map into the 2-D evolution registry: the same implementation, called under the op(v, a, b) convention. a drives max_rank_ratio (default 0.1) and b drives max_negative_frac` (default 0.02).

References (sample data, literature)

• 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.

Runnable examples (verified samples that actually call this op)

• (none yet)

Ops the type connects to (they accept image as input)

identity · gaussian · mean_box · bilateral · unsharp · median · min_filter · max_filter

Same category (typed)

tb_points_to_voxel · tb_estimate_point_normals · tb_iss_keypoints · tb_angle_3points · tb_project_points · tb_render_point_depth · tb_statistical_outlier_removal · tb_radius_outlier_removal


*Provenance: ops.py — 2D 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.