polarization_dolp_map — SPECULAR polarization op

• Data kinds: polsweep → image2d

• Call: import fullseye as fs; fs.ledger.polarization_dolp_map(images, angles_deg=(0.0, 45.0, 90.0, 135.0), max_violation_frac=0.0) (implementation को सीधे call करना हो तो import specularity; specularity.polarization_dolp_map(images, angles_deg=(0.0, 45.0, 90.0, 135.0), max_violation_frac=0.0), registry से लेना हो तो opsspecular.get("polarization_dolp_map"))

उपयोग

हर pixel पर degree of linear polarisation। → (H, W), [0, 1] में।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

sqrt(S1^2 + S2^2) / S0, from the same sinusoid fit as polarization_separate. It answers the question that decides whether a polariser is worth mounting at all: 1 means the light at that pixel is fully linearly polarised and a crossed analyser extinguishes it completely, 0 means the polariser will only cost you a stop of exposure.

Being a ratio, it is invariant to exposure: scaling every frame by 1e-4, 1e4 or 1e8 moves it by at most 3.9e-16 (measured), which is what makes it comparable across a production line where the lamps age. Not *bit*- identical — the least-squares fit rounds differently at a different scale — and the difference between "invariant" and "bit-identical" is the kind of claim this library measures rather than asserts.

Pixels with zero total radiance have no degree of polarisation (every ratio would be 0/0) and are returned as 0.0 rather than as NaN; that is a convention, and it is stated here because a NaN spreading into a thresholding routine is exactly the silent failure this library refuses.

Raises ValueError: as polarization_separate.

उपयोग की विस्तृत guide

• specular_photometric family guide

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• poc_polarization_specular — py -3.11 examples/poc_polarization_specular.py

• polarization_camera_pipeline — py -3.11 examples/polarization_camera_pipeline.py

• specular_photometric — py -3.11 examples/specular_photometric.py

वे अगले ops जिनसे type जुड़ता है (image2d को input के रूप में लेते हैं)

polarization_render

इसी category के (polarization)

polarization_render · polarization_separate · polarization_stokes


*Provenance: specularity.py — SPECULAR operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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