fullseye

defect_contrast — OPTICS illumination op

使い方

Contrast of topographic and pigment defects under a light (table).

For each facet slope in slopes_deg the radiance toward camera of a facet tilted by that slope (azimuth swept in n_azimuth steps) is compared with the flat surface at point: contrast = (L_defect − L_flat) / (L_defect + L_flat) (Michelson, −1..1; the sign says whether the flank appears brighter or darker than the surround). Reported per slope as mean, max_abs and azimuth_of_max. pigment is the contrast of a flat patch whose albedo is pigment_albedo_ratio × the surround — the number specular glare dilutes. scatter is the contrast of a rough patch (a chipped edge, a pit floor, a fine scratch: micro-facets of every slope, modelled as Lambertian with reflectance F + (1 − F)ρ, the Fresnel fraction the flat surface would have sent into its specular direction now scattered) against the surround — the defect class dark-field lighting is built for, since a smooth facet only lights up when it mirrors the source into the camera while a rough patch scatters some of any light there, and at grazing incidence that Fresnel fraction is large. regime is "bright_field" when the flat surface returns specular light to the camera (specular ≥ diffuse radiance) and "dark_field" otherwise. surface: a preset (matte, satin, glossy, mirror, brushed_metal) or a dict {albedo, roughness, f0}.

ファミリ共通の入力契約(fail-closed)

optics の全 op は入力を検証してから計算する(黙って通さない):

詳しい使い方ガイド

背景知識ガイド(この op の手前にある物理・規約)

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(table を入力に取れる)

abcd_matrix · wavefront_stats · paraxial_trace · seidel_coefficients · spot_stats · tolerance_analysis · wavefront_from_opd · spot_diagram

同カテゴリ(illumination)

light_source · irradiance_map · illumination_uniformity · lighting_sweep · illumination_design


Provenance: illumdesign.py — OPTICS operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.