fullseye

chromatic_confocal_spectrum — OPTICS confocal op

使い方

面の位置と層構成から、クロマティック共焦点の戻りスペクトルを合成する(順モデル)。

戻りスペクトル S(λ) = 光源(λ) × 検出器(λ) × Σ_界面 [反射率 × 往復の透過 × 傾き・粗さ × 共焦点の軸応答(界面の見かけの位置 − 近軸焦点(λ); λ, NA(λ), LSA(λ))]、それを分光器の 応答(ガウス、FWHM)でぼかし、光子のショット雑音と読出し雑音を足す。

probe: :func:chromatic_confocal_probe の dict。波長の格子は較正の帯域を wl_step_nm で刻む。 surface_um: 最上面の位置(較正表の z、µm)。 stack: 最上面の下の透明な層の列 ((材料, 厚さ µm), ...)。材料は材料表の名前(:data:GLASS_CROWN / "PMMA" / "WATER" …)か屈折率の数。k があれば往復の吸収 exp(−4πk·2t/λ) が入る。 substrate: 最下層の下の媒質(材料表の名前 —— "AL" / "AU" / "CU" / "SI" … —— か数、 空気なら 1.0)。界面の反射率は両側の複素屈折率から垂直入射の Fresnel |(m₁ − m₂)/(m₁ + m₂)|²。 source / detector: 光源の分光分布と検出器の分光感度(pairs、帯域を覆うこと)。None は平坦。 tilt_deg: 面の傾き(全界面に共通)。鏡面成分は瞳との重なりの割合だけ戻る(sin 2θ ≥ 2NA で 0)。 roughness_nm: 面の粗さ σ(RMS)。最上面の鏡面成分は exp(−(4πσ/λ)²)、残りは Lambert で NA² だけ 戻り、点物体の応答で広がる。 spectrometer_fwhm_nm: 分光器の線幅(0 は理想)。 photons_per_peak: 0 なら雑音なしの期待値(最大を 1 に規格化)。正なら最大が平均この光子数になる ように拡大し、Poisson のショット雑音を足す。read_noise: 読出し雑音(光子数の単位の σ)。 seed: 雑音の乱数の種(整数)。

返り値: pairs(λ [nm], 強度)。負は 0 に切る(分光器は負の光を読まない)。 Raises ValueError: probe の形の誤り、帯域を覆わない source / detector、層の厚さ ≤ 0、 材料表の区間外の波長、どの界面にも焦点が合わない(全部の界面が較正の範囲外)。

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

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

詳しい使い方ガイド

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

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

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

mtf50 · energy_to_photons · spectral_product · spectral_integral · spectral_stats · kubelka_munk_reflectance · hyperspectral_capture · film_thickness_fft

同カテゴリ(confocal)

chromatic_confocal_probe · confocal_axial_response · chromatic_confocal_peaks · chromatic_confocal_readout · chromatic_confocal_limits


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

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