confocal op• Data kinds: table → table
• Call: import fullseye as fs; fs.ledger.chromatic_confocal_limits(probe, layer_material=None, tilt_max_deg: 'float' = 30.0, n_tilt: 'int' = 61) -> 'dict' (implementation को सीधे call करना हो तो import chromconf; chromconf.chromatic_confocal_limits(probe, layer_material=None, tilt_max_deg: 'float' = 30.0, n_tilt: 'int' = 61) -> 'dict', registry से लेना हो तो opsoptics.get("chromatic_confocal_limits"))
calibration table से measuring range, axial resolution, प्रकाश लौटाने वाला अधिकतम tilt और न्यूनतम film मोटाई closed form में देता है।
> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।
• range_um —— 較正表の端から端(焦点ずれの総量)。
• fwhm_closed_um / fwhm_um —— 鏡面応答の FWHM(無収差の閉形式 0.4430 λ/(1 − cos α) と、縦球面収差込みの数値)を帯域の両端と中央で。range_over_fwhm は目盛の数(範囲 / 中央の FWHM)。
• max_tilt_deg —— 鏡面の傾きの上限(各波長の NA で sin 2θ = 2NA)。最小(最も厳しい)値。
• tilt_return —— 中央の波長の NA で、傾き 0〜*tilt_max_deg* に対する戻る光の割合(pairs)。
• min_thickness_um —— 等しい 2 つの鏡面応答が Sparrow の基準で分かれる見かけの間隔(SPARROW_FRACTION × FWHM)に、層の n(λ) と平板の球面収差の補正を掛けた最小の厚さ(中央の波長)。干渉を入れない強度の重なりだけの限界(モジュールの開示を参照)。
Raises ValueError: probe の形の誤り、材料表の外、tilt_max_deg が (0, 89] の外。
optics के सभी ops गणना से पहले input की जाँच करते हैं (कुछ भी चुपचाप पास नहीं होता):
• Unit argument के नाम में ही लिखी होती है — _mm / _um / _deg / _mrad। mm और µm की गड़बड़ी crash नहीं करती, बल्कि "सही दिखने वाला पर गलत उत्तर" देती है, इसलिए नाम से इसे रोका जाता है। मान के आकार से unit का अनुमान बिल्कुल नहीं लगाया जाता।
• String से ValueError — float('50') सफल हो जाता है, इसलिए बिना parse किया config value length के रूप में निकल जाता (मापा गया: thin_lens('50', '200') सही दिखने वाला 66.667 mm लौटा रहा था)। bool को भी True == 1 वाले implicit promotion के रूप में अस्वीकार किया जाता है।
• complex / masked array से ValueError (केवल real-valued slots; imaginary part को चुपचाप छोड़ना या mask हटाना अस्वीकार)। हर input पर NaN/Inf से ValueError।
• शून्य से भाग और उससे जुड़े मामलों को नाम लेकर अस्वीकार किया जाता है: focal length 0, radius of curvature 0, refractive index <= 0, पूरी तरह opaque aperture (सब 0, इसलिए normalisation 0/0), ऐसा PSF जिसका योग <= 0 हो, S0 = 0 वाला Stokes vector, और front focal point पर रखा object (image अनंत पर)।
• केवल 2 ops non-finite value लौटाते हैं, और वह भी contract के रूप में लिखा हुआ: depth_of_field hyperfocal distance से आगे far_mm = inf (hyperfocal distance की परिभाषा यही है) और gaussian_beam waist पर wavefront_radius_mm = inf (plane wavefront की radius of curvature)। दोनों साथ में एक finite साथी (far_is_infinite / curvature_per_mm) भी लौटाते हैं। इसके अलावा कोई भी चुपचाप आया NaN/Inf अंदर ही पकड़ा जाता है और ValueError देता है — "float64 overflow हुआ" और "उत्तर अनंत है" अलग-अलग दावे हैं, इसलिए पहले को दूसरे का चेहरा पहनाकर नहीं लौटाया जाता।
• Size की सीमा: generate होने वाले grid के लिए optics.MAX_GRID (4096), दिए गए field/PSF/aperture के लिए optics.MAX_FIELD_ELEMENTS (2^24), ABCD element chain के लिए optics.MAX_SYSTEM_ELEMENTS (1024), Zernike के लिए MAX_ZERNIKE_TERMS (512) / MAX_ZERNIKE_ORDER (40) / MAX_ZERNIKE_BASIS (2^25)। छोटे argument से बहुत बड़ा internal allocation होने वाले रास्तों (मापा गया: n_max=40 × 4096² पर 108 GB) को fail-closed ढंग से बंद किया गया है।
• भौतिक रूप से असंभव states भी अस्वीकार: degree of polarisation > 1 वाला Stokes vector, ऋणात्मक transmittance, ऋणात्मक intensity, और n-|m| odd जैसे अमान्य Zernike indices।
• 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 में दिए गए हैं।
• poc_chromatic_confocal — py -3.11 examples/poc_chromatic_confocal.py
table को input के रूप में लेते हैं)abcd_matrix · wavefront_stats · sfr_from_edge · paraxial_trace · seidel_coefficients · spot_stats · tolerance_analysis · wavefront_from_opd
confocal)chromatic_confocal_probe · confocal_axial_response · chromatic_confocal_spectrum · chromatic_confocal_peaks · chromatic_confocal_readout
*Provenance: chromconf.py — OPTICS operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.