fullseye

言語 / Language: 日本語 · English

紙面の計測館 —— 装置の棟(センサーと計測器を物理から再現する)

紙面の計測館 総合案内 の一棟です。ほかの棟・用語・テーゼは案内にあります。

この棟には 32 点を掛けています。番号は収蔵番号で、棟を移しても分けても変わりません。

各展示の「使用 op」から、その op のノート(型契約・罠・図・Studio で走るプログラム)へ飛べます: オペレータ目録 / op ノートの索引。

装置の棟 ―― 生の出力から、装置固有の壊れ方まで再現する

計測装置を名前だけ借り、都合のよい画像を出すのは簡単です。この部屋の 32 点は逆に、光子・電子・干渉・熱拡散・走査・光線追跡から装置の生出力を作り、そこから普段の測定値までを一続きにしています。

同じ距離でも iToF と dToF では多重反射と pile-up の現れ方が違い、同じ粒子でも SEM と TEM では直径が違って読めます。TDI は段数を増やせば暗い欠陥が見える一方、同期ずれを段数ぶん積み重ねます。装置名が同じでも、物理を省いた模型では壊れる場所を再現できません。

各展示は閉形式、公開実測値、独立実装のいずれかを門にしています。狙いは実機の完全な代用品を名乗ることではなく、どの物理を入れ、何をまだ入れていないかを明示したうえで、測定値がいつ信用できなくなるかを実機に触れる前に確かめることです。

No.2026.010 —— 投影数を減らすと CT 再構成はどこから壊れるか

Shepp-Logan を 180 → 12 本で撮り直し、FBP(フィルタ補正逆投影) を空白画像と無フィルタ逆投影の 2 つの零点と並べた図。12 本の FBP(RMSE 0.2576)は空白画像(0.2420)より悪い。サイノグラムの行和という再構成を見ない検算が、RMSE では見えない質量欠損 -3.34 % を捕まえ、ランプフィルタの DC ビンを直して -0.0099 % に。

投影数を減らすと CT 再構成はどこから壊れるか

↑ 投影数を減らすと CT 再構成はどこから壊れるか ―― Shepp-Logan を 180 → 12 本で撮り直し、FBP(フィルタ補正逆投影) を空白画像と無フィルタ逆投影の 2 つの零点と並べた図。12 本の FBP(RMSE 0.2576)は空白画像(0.2420)より悪い。サイノグラムの行和という再構成を見ない検算が、RMSE では見えない質量欠損 -3.34 % を捕まえ、ランプフィルタの DC ビンを直して -0.0099 % に。

用語: FBP — 投影データを周波数フィルタで補正してから各方向へ逆投影し、断層像を再構成する手法。

RMSE で見ると 12 本は空白画像 0.2420 より悪い。相関とストリークは別のことを言う。

↑ 測定の図 ―― RMSE で見ると 12 本は空白画像 0.2420 より悪い。相関とストリークは別のことを言う。

零点 A = 空白画像、零点 B = 無フィルタ逆投影(どちらも水平・ほぼ水平)。

↑ 零点 A = 空白画像、零点 B = 無フィルタ逆投影(どちらも水平・ほぼ水平)。

py -3.11 examples/poc_ct_fidelity.py

ソース: examples/poc_ct_fidelity.py

この回が作った図は全部で 3 枚あります —— 全部見る

使用 op(ノートへ): backproject_sinogram · ellipse_phantom · ellipse_sinogram · filtered_backprojection · projection_angles · radon_transform · rmse · ssim · stat_correlation

No.2026.016 —— 光子を数えて距離を測る ―― 何個数えれば何ミリまで出るのか

往復時刻にガウシアンをビン積分で置き Poisson 標本を引いた到達時刻ヒストグラムから距離を読む図。N = 200 光子でピーク位置そのまま 11.02 mm、ゲート重心 2.29 mm、理論限界 31.83 mm/√N に 1.00〜1.07 倍で乗る。背景が入ると素の重心は 2 桁崩れ(SBR 0.031 で 564 mm)、族が推すガウス当てはめ 8.82 mm は利用者が 6 行で書くゲート重心に負ける。

光子を数えて距離を測る ―― 何個数えれば何ミリまで出るのか

↑ 光子を数えて距離を測る ―― 何個数えれば何ミリまで出るのか ―― 主図は48フレーム、576×432の光前線動画。反射振幅を1–99.5 %で伸張してγ=0.7を適用した灰色像へ、奥行き範囲の7 %に広げた表示窓の琥珀色の光帯が近距離から遠距離まで重なる。別図は飛び画素の8倍拡大、壁隅の湾曲、低反射物体の雑音を示す。

飛び画素(8倍拡大)、壁隅の系統的な湾曲、低反射物体の距離雑音を同じ尺度で示す。

↑ 測定の図 ―― 飛び画素(8倍拡大)、壁隅の系統的な湾曲、低反射物体の距離雑音を同じ尺度で示す。

距離出力|反射振幅(γ=0.5)|ピーク/背景比。

↑ 距離出力|反射振幅(γ=0.5)|ピーク/背景比。

平面、角、暗い物体。

↑ 平面、角、暗い物体。

背景が無ければ素の重心で足りる。

↑ 背景が無ければ素の重心で足りる。

ゲート重心は CRB に寄り添って落ちる。

↑ ゲート重心は CRB に寄り添って落ちる。

py -3.11 examples/poc_dtof_ranging.py

ソース: examples/poc_dtof_ranging.py

この回が作った図は全部で 8 枚あります —— 全部見る

使用 op(ノートへ): dtof_cube_depth · dtof_cube_simulate · dtof_depth · gaussian · median · spad_deadtime_apply · tcspc_background_subtract · tcspc_coates_correct · tcspc_simulate

No.2026.022 —— 白色干渉計でナノメートルの段差をどこまで正確に測れるか

白色干渉計の走査スタックを合成し、50〜500 nm の段差を測り返した図。雑音 1 % で偏り 2.4 nm 以内・標準偏差 14.1 nm 以内、しかも段差の大きさにほぼ依らない。ゼロ点(包絡線の最大サンプル)の誤差は走査ステップの半分に厳密一致し、Nyquist 上限 0.15 µm の手前 0.14 µm では雑音なしでも +14.1 nm。

白色干渉計でナノメートルの段差をどこまで正確に測れるか

↑ 白色干渉計でナノメートルの段差をどこまで正確に測れるか ―― 白色干渉計の走査スタックを合成し、50〜500 nm の段差を測り返した図。雑音 1 % で偏り 2.4 nm 以内・標準偏差 14.1 nm 以内、しかも段差の大きさにほぼ依らない。ゼロ点(包絡線の最大サンプル)の誤差は走査ステップの半分に厳密一致し、Nyquist 上限 0.15 µm の手前 0.14 µm では雑音なしでも +14.1 nm。

Truth, recovered height, error and low-modulation dropout map; pseudo-colour bars carry units.

↑ 測定の図 ―― Truth, recovered height, error and low-modulation dropout map; pseudo-colour bars carry units.

包絡線の中心が段差ぶんずれる。

↑ 包絡線の中心が段差ぶんずれる。

0.02〜0.12 µm は 0.05 nm 以内で平ら。

↑ 0.02〜0.12 µm は 0.05 nm 以内で平ら。

centroid は散らばりが gaussian の 1/3〜1/5 なのに総合誤差では上に来る。

↑ centroid は散らばりが gaussian の 1/3〜1/5 なのに総合誤差では上に来る。

4 種の段差でゲインが揃う = オフセットではなく倍率の誤差。

↑ 4 種の段差でゲインが揃う = オフセットではなく倍率の誤差。

48 raw uint8 coherence-scan frames; the localized envelope sweeps over the tilted step.

↑ 動く図 ―― 48 raw uint8 coherence-scan frames; the localized envelope sweeps over the tilted step.

動画(148 コマ): 仕込む段差を 0 → 0.90 µm へ連続に増やし、同じ表面を 2 つの方法で測る(雑音なし)。左は低い側・高い側 1 画素ずつのコヒーレンス走査の信号で、縦線は csi_height_map(gaussian)が

↑ 動く図 ―― 動画(148 コマ): 仕込む段差を 0 → 0.90 µm へ連続に増やし、同じ表面を 2 つの方法で測る(雑音なし)。左は低い側・高い側 1 画素ずつのコヒーレンス走査の信号で、縦線は csi_height_map(gaussian)が包絡線から読んだ高さ。右は測った段差 vs 仕込んだ段差。包絡線(だいだい)は全域で対角線に乗り、誤差は最大 8.5e-11 nm —— 包絡線には周期が無いので巻き戻らない。位相シフト法(水色、4 段)は段差 0.153 µm(λ/4 = 0.150 µm の直後)で初めて λ/2 ぶん飛び、以後 λ/2 ごとに鋸の歯になる。

py -3.11 examples/poc_interferometry_step.py

ソース: examples/poc_interferometry_step.py

この回が作った図は全部で 8 枚あります —— 全部見る

使用 op(ノートへ): axes_frame · axes_transform · color_bar · csi_contrast_map · csi_design · csi_height_map · csi_stack_simulate · decode_fringe · gaussian · plot_series · synthesize_fringes · text_box · ticks

No.2026.023 —— ライトフィールドから深度を出す ―― 既知の深度で作った光場に、ゼロ点を並べて突きつける

9×9 の光場を解析的な逆写像で描き、真値スロープ地図に対して焦点度・EPI(エピポーラ平面画像)・2 眼ブロックマッチングを採点した図。定数ゼロ点には 22 倍勝つが、視点 2 枚だけ使う 2 眼に対しては cubic でようやく 1.6 倍。既定の linear 補間は整数スロープに吸着し、真値 1.30 を 1.4750 と読む(深度で 11.9 %)。

ライトフィールドから深度を出す ―― 既知の深度で作った光場に、ゼロ点を並べて突きつける

↑ ライトフィールドから深度を出す ―― 既知の深度で作った光場に、ゼロ点を並べて突きつける ―― 9×9 の光場を解析的な逆写像で描き、真値スロープ地図に対して焦点度・EPI(エピポーラ平面画像)・2 眼ブロックマッチングを採点した図。定数ゼロ点には 22 倍勝つが、視点 2 枚だけ使う 2 眼に対しては cubic でようやく 1.6 倍。既定の linear 補間は整数スロープに吸着し、真値 1.30 を 1.4750 と読む(深度で 11.9 %)。

用語: EPI — ライトフィールドの位置と視点の二軸を切り出した画像で、同じ三次元点が奥行きに応じた傾きの線として現れる。

9 by 9 sub-aperture views; disparity is in pixels per adjacent view.

↑ 測定の図 ―― 9 by 9 sub-aperture views; disparity is in pixels per adjacent view.

Raw micro-image array with an 8-times-area centre inset; display resize uses Lanczos filtering.

↑ Raw micro-image array with an 8-times-area centre inset; display resize uses Lanczos filtering.

Slanted EPI lines encode disparity in px/view; benchmark format is 9 by 9 views.

↑ Slanted EPI lines encode disparity in px/view; benchmark format is 9 by 9 views.

linear は 1.08/1.15 を 1.0 へ、1.85 を 2.0 側へ引く。

↑ linear は 1.08/1.15 を 1.0 へ、1.85 を 2.0 側へ引く。

EPI は SNR 20 で既に -35 %。

↑ EPI は SNR 20 で既に -35 %。

Twenty-four uint8 refocus frames, 0 to 3 px/view.

↑ 動く図 ―― Twenty-four uint8 refocus frames, 0 to 3 px/view.

py -3.11 examples/poc_lightfield_depth.py

ソース: examples/poc_lightfield_depth.py

この回が作った図は全部で 12 枚あります —— 全部見る

使用 op(ノートへ): color_bar · lf_depth_from_focus · lf_disparity_to_depth · lf_epi · lf_epi_slope · lf_refocus · lf_to_mla

No.2026.033 —— 偏光で鏡面反射を剥がす ―― フレネルの式で真値を作り、分離結果を突き合わせる

拡散と鏡面を s/p 成分で合成し、フレネルの式から偏光度を出して分離結果を採点した図。偏光を使う手は入射角 20 度では 1.2 倍しか勝たない。拡散成分の誤差は閉形式 R_p·E に一致してブリュースター角 56.31 度で 0 ―― polarization_separate の拡散はその分だけ系統的に大きい。

偏光で鏡面反射を剥がす ―― フレネルの式で真値を作り、分離結果を突き合わせる

↑ 偏光で鏡面反射を剥がす ―― フレネルの式で真値を作り、分離結果を突き合わせる ―― 拡散と鏡面を s/p 成分で合成し、フレネルの式から偏光度を出して分離結果を採点した図。偏光を使う手は入射角 20 度では 1.2 倍しか勝たない。拡散成分の誤差は閉形式 R_p·E に一致してブリュースター角 56.31 度で 0 ―― polarization_separate の拡散はその分だけ系統的に大きい。

Half-resolution analyzer samples separated from the mosaic (one quarter of the pixels each).

↑ 測定の図 ―― Half-resolution analyzer samples separated from the mosaic (one quarter of the pixels each).

Stokes fields, polarization degree, hue-wheel angle and the minimum-polarized component.

↑ Stokes fields, polarization degree, hue-wheel angle and the minimum-polarized component.

R_p がブリュースター角で 0 を横切る。

↑ R_p がブリュースター角で 0 を横切る。

実測と閉形式が重なる。

↑ 実測と閉形式が重なる。

残差はローブと同じ形。

↑ 残差はローブと同じ形。

py -3.11 examples/poc_polarization_specular.py

ソース: examples/poc_polarization_specular.py

この回が作った図は全部で 7 枚あります —— 全部見る

使用 op(ノートへ): fresnel_reflectance · polarization_dolp_map · polarization_render · polarization_separate · polarization_stokes · rmse

No.2026.078 —— 太陽光発電所のドローン熱画像 —— 温度差を測っているつもりで、風と角度を測っている

定常熱収支の閉形式でメガソーラーのアレイを合成し、既知の故障(セル内ホットスポット・ストリング故障)と、故障ではない温度差(影・汚れ)を仕込んだ図。余剰発熱 320 W/m² のホットスポットは薄まる前 11.20 K なのにカメラには 4.23 K しか届かず、薄めているのは予想した熱伝導(×0.960)ではなくカメラ(×0.511)だった。電気的故障をひとつも置かない対照群でも、画像平均を基準にすると塊が 6 個上がる(健全 1・非故障の温度差 5)。崖はしきい値ではなく面積の門が決め、ホットスポットは風速 1.0 m/s で消える(面積基準の予測 1.1 m/s、ピーク基準の予測 3.0 m/s は外れ)。列間影は同じストリングの日向側を +4.68 K 熱くし、本物のストリング故障 +5.55 K との差は 0.87 K しかない。

太陽光発電所のドローン熱画像 —— 温度差を測っているつもりで、風と角度を測っている

↑ 太陽光発電所のドローン熱画像 —— 温度差を測っているつもりで、風と角度を測っている ―― 定常熱収支の閉形式でメガソーラーのアレイを合成し、既知の故障(セル内ホットスポット・ストリング故障)と、故障ではない温度差(影・汚れ)を仕込んだ図。余剰発熱 320 W/m² のホットスポットは薄まる前 11.20 K なのにカメラには 4.23 K しか届かず、薄めているのは予想した熱伝導(×0.960)ではなくカメラ(×0.511)だった。電気的故障をひとつも置かない対照群でも、画像平均を基準にすると塊が 6 個上がる(健全 1・非故障の温度差 5)。崖はしきい値ではなく面積の門が決め、ホットスポットは風速 1.0 m/s で消える(面積基準の予測 1.1 m/s、ピーク基準の予測 3.0 m/s は外れ)。列間影は同じストリングの日向側を +4.68 K 熱くし、本物のストリング故障 +5.55 K との差は 0.87 K しかない。

「偽」= 故障でも影でも汚れでもない場所に出た塊。しきい値 3.0 K、風速 1.0 m/s。

↑ 測定の図 ―― 「偽」= 故障でも影でも汚れでもない場所に出た塊。しきい値 3.0 K、風速 1.0 m/s。

U(v) = 1.75·(5.7 + 3.8v + h_rad)。

↑ U(v) = 1.75·(5.7 + 3.8v + h_rad)。

ε(θ) は Fresnel(等価屈折率 1.8)。

↑ ε(θ) は Fresnel(等価屈折率 1.8)。

上段の塊はすべて偽か非故障の温度差。

↑ 上段の塊はすべて偽か非故障の温度差。

Module-level correction preserves the detection chapters and their thresholds.

↑ Module-level correction preserves the detection chapters and their thresholds.

py -3.11 examples/poc_pv_thermal_survey.py

ソース: examples/poc_pv_thermal_survey.py

この回が作った図は全部で 10 枚あります —— 全部見る

使用 op(ノートへ): beer_lambert_transmittance · blob_features · blob_label · blob_select · color_bar · fresnel_dielectric · gauss_filter · median · overlay_mask · surface_form_remove · volume_downsample · warp_by_plane · zoom_image_factor

No.2026.113 —— 熱画像は温度画像ではない ―― 放射率・反射・透過を取り違えたまま「温度」と呼ぶ

画像DN雑音は黒レベルを光子数に含めず、EMVA 1288形の電子・暗・量子化分散を用い、NETDと二重計上しない。放射率0.60プラスマイナス0.05、反射温度300プラスマイナス5 K、未測定の相関0.7を仮定すると、相関を無視するRSSは4.5086 K、GUMの共分散項つき線形則は5.6518 K。20000試行の95%包含率はRSS 88.03%、相関を知るMonte Carlo 94.44%。

熱画像は温度画像ではない ―― 放射率・反射・透過を取り違えたまま「温度」と呼ぶ

↑ 熱画像は温度画像ではない ―― 放射率・反射・透過を取り違えたまま「温度」と呼ぶ ―― 画像DN雑音は黒レベルを光子数に含めず、EMVA 1288形の電子・暗・量子化分散を用い、NETDと二重計上しない。放射率0.60プラスマイナス0.05、反射温度300プラスマイナス5 K、未測定の相関0.7を仮定すると、相関を無視するRSSは4.5086 K、GUMの共分散項つき線形則は5.6518 K。20000試行の95%包含率はRSS 88.03%、相関を知るMonte Carlo 94.44%。

用語: EMVA 1288 — 産業用画像センサの感度・雑音・飽和・不均一性などを、共通の測定手順と量で表す標準。; GUM — 測定の不確かさの見積もり方と書き方を定めた国際的な指針。入力ごとのばらつきを合成して結果の幅を示す。

LWIR・350 K・ε=0.95。校正表と直接積分の相対差は最大 8.9e-16。以下の誤差はすべてこの床の上。

↑ 測定の図 ―― LWIR・350 K・ε=0.95。校正表と直接積分の相対差は最大 8.9e-16。以下の誤差はすべてこの床の上。

n = d ln L_bb/d ln T。

↑ n = d ln L_bb/d ln T。

LWIR・T_obj = 350 K・T_refl = 300 K。

↑ LWIR・T_obj = 350 K・T_refl = 300 K。

20000 試行 / 点。

↑ 20000 試行 / 点。

止まるのは校正表の範囲外に落ちたときだけ。

↑ 止まるのは校正表の範囲外に落ちたときだけ。

py -3.11 examples/poc_thermal_radiometry.py

ソース: examples/poc_thermal_radiometry.py

この回が作った図は全部で 18 枚あります —— 全部見る

使用 op(ノートへ): beer_lambert_transmittance · interp_linear · mat_eigh · noise_sigma · photon_uncertainty · poly_fit · stat_correlation · stat_covariance · stat_describe · stat_histogram

No.2026.043 —— パルスサーモグラフィで内部欠陥の深さを測る

フラッシュ加熱後の表面温度を 1 次元熱伝導の厳密解で作り、剥離の深さを画像から当てる図。直径が深さの 4 倍以上なら数 % で当たるが、深さ 0.5 mm・直径 2 mm では +627 %。原因は横拡散ではなく当てはめる時間窓で、窓を 25 s → 4 s に切り詰めると -9 % に戻る。

パルスサーモグラフィで内部欠陥の深さを測る

↑ パルスサーモグラフィで内部欠陥の深さを測る ―― フラッシュ加熱後の表面温度を 1 次元熱伝導の厳密解で作り、剥離の深さを画像から当てる図。直径が深さの 4 倍以上なら数 % で当たるが、深さ 0.5 mm・直径 2 mm では +627 %。原因は横拡散ではなく当てはめる時間窓で、窓を 25 s → 4 s に切り詰めると -9 % に戻る。

右下三角(直径が深さの 4 倍以上)は数 %。左上は横拡散で壊れる。

↑ 測定の図 ―― 右下三角(直径が深さの 4 倍以上)は数 %。左上は横拡散で壊れる。

Viewer-gamma grayscale; NETD 0.02 K, low-frequency NUC residual 0.08 K RMS, four dead pixels.

↑ Viewer-gamma grayscale; NETD 0.02 K, low-frequency NUC residual 0.08 K RMS, four dead pixels.

Sequential turbo-like depth scale in millimetres; signed error at right.

↑ Sequential turbo-like depth scale in millimetres; signed error at right.

早期の勾配は -1/2。

↑ 早期の勾配は -1/2。

Forty-eight uint8 cooling frames after a non-uniform flash.

↑ 動く図 ―― Forty-eight uint8 cooling frames after a non-uniform flash.

py -3.11 examples/poc_thermography_ndt.py

ソース: examples/poc_thermography_ndt.py

この回が作った図は全部で 7 枚あります —— 全部見る

使用 op(ノートへ): color_bar

No.2026.178 —— カメラを買わずにカメラを測る ―― EMVA 1288(画像センサ特性の測定標準) の手順で、既知の値を仕込んだセンサから量子効率・ゲイン・暗雑音を取り戻す

カメラのデータシートにある量子効率 η・システムゲイン K・暗雑音 σ_d・飽和・SNR・ダイナミックレンジ・DSNU(暗信号不均一性)・PRNU(光応答不均一性) は、EMVA 1288(画像センサ特性の測定標準) Release 4.0 Linear の手順で出した数である。この展示は物理モデルでセンサを合成し(光子のポアソン → 電子 → 暗雑音・暗電流 → K 倍 → 量子化・飽和、列・行・画素の DSNU と PRNU の模様つき)、新しい op 族 sensorchar(10 op)の規格の推定手順で仕込んだ値を取り戻す。合成と推定は別の式。門: 復元 —— 同じ露光で 2 枚ずつ撮った平均と時間分散(式 16・18)の photon transfer(式 50)から K -0.66 %、暗画像から σ_d +0.13 %(式 53)、応答の傾きから η +0.67 %(式 52)、暗電流 +0.6 %、列・行・画素の空間分散(式 42)と DSNU +0.6 %・PRNU -0.1 % / 恒等式 —— SNR(μ_p.min) = 1(式 26 と 21 は独立)・理想センサ = √μ_p(式 23)を機械精度、傾き 1 → 1/2(式 22)/ 適用範囲 —— 暗画像の分散が 0.24 DN² 未満では σ_d を推定しない(式 53・54)が、平らなセンサでは本当に推定の壊れる境界 / 公表値 —— メーカーが公表した EMVA 1288 データ 38 型番で最大 SNR = √μ_e.sat(式 55)が全型番 0.49 dB 以内 / 直線性 —— 直線性の誤差(式 58〜63)の閉形式が独立の重みつき最小二乗と 3.9e-13 / 欠陥画素 —— 仕込んだ 9 個を数え直す。見つけたこと: σ_d を photon transfer の切片から出すと +53.5 %(規格は暗画像から直接)。DSNU の模様があると画素ごとの暗レベルのずれが量子化のディザになり、規格が「推定できない」とする K = 0.10 でも 0.7 %(平ら 29.8 %)—— 規格の境界は保守側。台帳の 8 番目は飽和 21.0 ke⁻・暗雑音 7 e⁻ からは DR 68.9 dB なのに台帳は 74 dB —— どちらかの欄が別条件の値と見られる(未確認、台帳は直さず門で名指し)。★★規格の残りの式(2026-10-13): 規格 5 節の模擬カメラ(640 × 480、DSNU に振幅 1.5 DN の正弦 2 本、照明が端へ 3 % 落ちる)で、8.1 節の高域フィルタをかけないと PRNU は 0.831 %(仕込み 0.5 %、+66 %)、かけると 0.497 %(白い利得 0.9885 の分だけ低い)。DSNU は波長 25 画素の正弦が 38 % に減るぶん 21.25 → 18.83 e⁻ で、伝達関数からの予測と一致。8.6 節のスペクトログラムの式 72 で正弦の振幅 1.46 / 1.50 DN を取り戻す。付録 C.5 の式 86 が書く 0.92 は実測 0.960(Parseval 1 − 1/25)と合わない。★式 51(photon transfer の直線性、局所の傾きの相対偏差の平均 < 3 %)は画素数が要る: 線形なセンサでも 128 × 160 では 6 回中 1 回落ち、512 × 640 では落ちない。正直に: 合成センサ、1〜7 節の照明は一様、公表値は整数に丸めた値で K が無いので DR の検算は量子化雑音を 0 とみなす。前処理が数をどう動かすかは続編 poc_emva1288_in_camera_processing。14 門、約 4 秒。

カメラを買わずにカメラを測る ―― EMVA 1288(画像センサ特性の測定標準) の手順で、既知の値を仕込んだセンサから量子効率・ゲイン・暗雑音を取り戻す

↑ カメラを買わずにカメラを測る ―― EMVA 1288(画像センサ特性の測定標準) の手順で、既知の値を仕込んだセンサから量子効率・ゲイン・暗雑音を取り戻す ―― 主図は640×480の暗画像・平坦画像・飽和像を等倍で並べ、行1 DN・列1.5 DN・画素4 DNの固定模様と9個の欠陥画素を見える形にした。

用語: EMVA 1288 — 産業用画像センサの感度・雑音・飽和・不均一性などを、共通の測定手順と量で表す標準。; DSNU — 光を遮ったときの平均信号が画素ごとに異なる、画像センサの固定的な暗信号むら。; PRNU — 同じ光を当てても画素ごとに感度が異なる、画像センサの空間的な応答むら。

平坦画像2枚の差(時間雑音)|平坦平均−暗平均(空間雑音)|6σ欠陥画素図。固定模様を無効化する検査では中央の空間模様が消え、ゲートは赤になる。

↑ 測定の図 ―― 平坦画像2枚の差(時間雑音)|平坦平均−暗平均(空間雑音)|6σ欠陥画素図。固定模様を無効化する検査では中央の空間模様が消え、ゲートは赤になる。

規格の模擬カメラ。

↑ 規格の模擬カメラ。

白い DSNU は平らな床(高さ = 標準偏差 1.5 DN)、正弦は鋭い山(横 0.04・縦 0.2 c/px)。

↑ 白い DSNU は平らな床(高さ = 標準偏差 1.5 DN)、正弦は鋭い山(横 0.04・縦 0.2 c/px)。

線形なセンサを乱数を変えて撮り、式 51(局所の傾きの相対偏差の平均)を出す。

↑ 線形なセンサを乱数を変えて撮り、式 51(局所の傾きの相対偏差の平均)を出す。

暗画像の分散が 0.24 DN² より小さいと、規格は σ_d を推定しない(式 53・54)。

↑ 暗画像の分散が 0.24 DN² より小さいと、規格は σ_d を推定しない(式 53・54)。

露光を上げながら同じ露光で 2 枚ずつ撮り、平均と時間分散(2 枚の差から、式 18)を 1 点ずつ置く。直線の傾きがシステムゲイン K = 0.2086 DN/e⁻(仕込み 0.21)。飽和の近くでは分散が潰れるので、規格は 0〜70 %

↑ 動く図 ―― 露光を上げながら同じ露光で 2 枚ずつ撮り、平均と時間分散(2 枚の差から、式 18)を 1 点ずつ置く。直線の傾きがシステムゲイン K = 0.2086 DN/e⁻(仕込み 0.21)。飽和の近くでは分散が潰れるので、規格は 0〜70 % の点だけで当てる。

py -3.11 examples/poc_emva1288_sensor.py

ソース: examples/poc_emva1288_sensor.py

この回が作った図は全部で 10 枚あります —— 全部見る

使用 op(ノートへ): emva_dark_current · emva_defect_pixels · emva_dynamic_range · emva_exposure_for_snr · emva_highpass · emva_linearity_error · emva_pair_statistics · emva_photon_exposure · emva_photon_transfer · emva_ptc_linearity_check · emva_quantum_efficiency · emva_sensitivity_threshold · emva_snr_curve · emva_spatial_nonuniformity · emva_spectrogram · emva_total_snr · spectrogram · text_box

No.2026.090 —— 溶接 X 線透過像の気孔 ―― 等級を 1 段間違える画像の割合で締める

溶接の X 線透過像で気孔を数え損なうと、溶接の等級を間違える。固定しきい値は余盛の縁まで気孔と数え、塊を 124 個も出した。背景を推定してから検出すると本物の気孔に絞れ、等級を誤る画像が大きく減った。

溶接 X 線透過像の気孔 ―― 等級を 1 段間違える画像の割合で締める

↑ 溶接 X 線透過像の気孔 ―― 等級を 1 段間違える画像の割合で締める ―― 板厚 10 mm + 円弧の余盛 + 球形気孔を Beer–Lambert(吸収による指数減衰則) で閉形式に描き、散乱・不鋭度・粒状雑音を足した透過像。固定しきい値のゼロ点は余盛のつま先を気孔に数える(塊 124 個、合計面積 15.19 mm²、真値 7.93)。検出の崖は CNR = 16.12·d² から先に予測でき、50 % 検出径は Rose の CNR = 4 では 0.50 mm と外れ、平滑化と最小面積 3 px を入れた予測 0.58 mm に対し実測 0.57 mm。背景推定 op の窓上限(矩形オープニング 9 px)は 2.0 mm から検出率 50 % を割り 2.5 mm で 0 % の崖になる ―― op を選ぶことが測定範囲を選ぶ。散乱 SPR=1 は体積径を (1+SPR)^(-1/3) で -22.6 %(予測 -20.6 %)縮める。等級を 1 段間違える画像はゼロ点 90 % → 体積径 23 %。

用語: Beer–Lambert — 均一な吸収媒体を通る光の透過率が、濃度と光路長に対して指数関数的に減るという法則。

測定の図

↑ 測定の図

小さい側の崖は CNR で予測どおり。

↑ 小さい側の崖は CNR で予測どおり。

面積径は小さい側で縮む(等高線が内側)。

↑ 面積径は小さい側で縮む(等高線が内側)。

図

↑ この回の図

体積径は (1+SPR)^(-1/3) で縮む。

↑ 体積径は (1+SPR)^(-1/3) で縮む。

py -3.11 examples/poc_weld_radiograph_porosity.py

ソース: examples/poc_weld_radiograph_porosity.py

この回が作った図は全部で 12 枚あります —— 全部見る

使用 op(ノートへ): blob_features · blob_label · blob_overlay · blob_select · estimate_noise · gauss_image · gen_measure_rectangle2 · gray_opening_rect · identity · log_image · measure_pairs · measure_pos · median_rect · sk_rolling_ball · xsitk_grayscale_grindpeak

No.2026.214 —— 粉末 X 線回折の 2-D 検出器像から相を 1 つずつ剥がす ―― 較正・方位積分・NNLS・残差の未知相。真値は NIST SRM 640g の証明書と COD の CIF、合成と解析が模型を共有する分は食い違わせて測る

混合物の粉末に X 線を当てると、検出器には相ごとのデバイ環(粉末回折の同心円状回折線)が重なって写る。新モジュール pxrd(14 op)は学習なしに、標準 Si の環で検出器の中心・距離・傾きを較正し(傾き 3° で中心 0.011 px、距離 0.0009 %、傾き 3.004°・向き −40.01°、rms 0.019°)、方位積分で 2θ のプロファイルに落とし、山の幅から Scherrer で結晶子径を出し(354 Å、真 350 Å)、CIF から作った参照の辞書で相を 1 つずつ剥がし(NNLS の前進選択、NaCl > CaF₂ > コランダムの順、rwp 0.546 → 0.179)、残差に残った 8 本の山を立方晶 F・a = 4.2170 Å(真 4.2170)と指数付けして、候補 4 つ(MgO・NiO・CaO・KCl)から MgO を名指しする。4 相(35 / 30 / 20 / 15 wt%)の分率の誤差は 0.04 wt%。外の真値は NIST SRM 640g の証明書: a = 0.543 110 9 nm と Cu Kα1 から、表の線 11 本を Bragg + 消滅則で最大 0.00044° に再現し、140° までに他の線は 1 本も出ない。相は COD の CIF(CC0、repo の外)。罠: 傾き 5° を無視して積分すると環が楕円になり、山 10 本が 23 本に割れる。試料の格子が参照より 0.4 % 大きいだけで分率が崩れ、格子の追い込みで戻る。正直に: 合成と解析は同じ物理模型を共有するので、0.04 wt% は「幾何・画素・雑音・重なりを通り抜けても模型の量が戻る」確認にとどまる。模型をわざと食い違わせて漏れを測った: 山の形の取り違え 0.33 wt%、イオンと中性原子 0.06 wt%、結晶子径 −29 % で 0.97 wt%。微視的吸収・選択配向・異常分散は模型に無く、強度の外部真値(実測の相対強度)もまだ無い。

粉末 X 線回折の 2-D 検出器像から相を 1 つずつ剥がす ―― 較正・方位積分・NNLS・残差の未知相。真値は NIST SRM 640g の証明書と COD の CIF、合成と解析が模型を共有する分は食い違わせて測る

↑ 粉末 X 線回折の 2-D 検出器像から相を 1 つずつ剥がす ―― 較正・方位積分・NNLS・残差の未知相。真値は NIST SRM 640g の証明書と COD の CIF、合成と解析が模型を共有する分は食い違わせて測る ―― 混合物の粉末に X 線を当てると、検出器には相ごとのデバイ環(粉末回折の同心円状回折線)が重なって写る。新モジュール pxrd(14 op)は学習なしに、標準 Si の環で検出器の中心・距離・傾きを較正し(傾き 3° で中心 0.011 px、距離 0.0009 %、傾き 3.004°・向き −40.01°、rms 0.019°)、方位積分で 2θ のプロファイルに落とし、山の幅から Scherrer で結晶子径を出し(354 Å、真 350 Å)、CIF から作った参照の辞書で相を 1 つずつ剥がし(NNLS の前進選択、NaCl > CaF₂ > コランダムの順、rwp 0.546 → 0.179)、残差に残った 8 本の山を立方晶 F・a = 4.2170 Å(真 4.2170)と指数付けして、候補 4 つ(MgO・NiO・CaO・KCl)から MgO を名指しする。4 相(35 / 30 / 20 / 15 wt%)の分率の誤差は 0.04 wt%。外の真値は NIST SRM 640g の証明書: a = 0.543 110 9 nm と Cu Kα1 から、表の線 11 本を Bragg + 消滅則で最大 0.00044° に再現し、140° までに他の線は 1 本も出ない。相は COD の CIF(CC0、repo の外)。罠: 傾き 5° を無視して積分すると環が楕円になり、山 10 本が 23 本に割れる。試料の格子が参照より 0.4 % 大きいだけで分率が崩れ、格子の追い込みで戻る。正直に: 合成と解析は同じ物理模型を共有するので、0.04 wt% は「幾何・画素・雑音・重なりを通り抜けても模型の量が戻る」確認にとどまる。模型をわざと食い違わせて漏れを測った: 山の形の取り違え 0.33 wt%、イオンと中性原子 0.06 wt%、結晶子径 −29 % で 0.97 wt%。微視的吸収・選択配向・異常分散は模型に無く、強度の外部真値(実測の相対強度)もまだ無い。

用語: Debye rings — 粉末中の無作為な結晶方位が同じ格子面間隔の回折円錐を作り、二次元検出器上に現れる同心円状の回折線。

the detector image coloured by phase (1:1 pixels, lossless PNG)

↑ 測定の図 ―― the detector image coloured by phase (1:1 pixels, lossless PNG)

the observed detector image (background removed, gamma 0.5)

↑ the observed detector image (background removed, gamma 0.5)

integrated profile, NNLS fit and each phase's contribution

↑ integrated profile, NNLS fit and each phase’s contribution

図

↑ この回の図

図

↑ この回の図

py -3.11 examples/poc_pxrd_phase_peel.py

ソース: examples/poc_pxrd_phase_peel.py

この回が作った図は全部で 9 枚あります —— 全部見る

使用 op(ノートへ): axes_frame · axes_transform · azimuthal_integrate · cif_read · cubic_index · cubic_prototype · debye_ring_image · detector_calibrate · detector_two_theta · difference · diffraction_peaks · grid_lines · intensity · legend_box · nice_ticks · phase_dictionary · phase_fractions · phase_peel · plot_series · powder_reflections · scherrer_size · text_box · ticks · unexplained_peaks

No.2026.221 —— 黒光沢とガラスの形を偏光で測る ―― 陰影が無くても、偏光は傾きを覚えている

黒光沢樹脂のドーム(n 1.57)とガラスのレンズ(n 1.52)を、4 方位のオンチップ偏光子を持つセンサの生のモザイク 1 枚から測る。真値は描画に使った解析的な法線と高さ。★★法線の誤差の中央値はドーム 0.53° / レンズ 1.09°、ドームの高さの RMS 誤差 0.62 px(高さ 37.9 px)。同じドームを 4 方向の照明の照度差ステレオにかけると光沢の点しか写らず中央値 26.4°(50 倍、7,921 画素中 2,408 画素は法線を返せない)。★★曖昧さは隠さない: 解消する前は全画素に法線 4 本(Brewster を挟む天頂角 2 × π の方位 2)、2 つの天頂角の差は Brewster 角 57.5° の上で 0 に縮む。凸 + Brewster の稜線で 1 本を選ぶ。★屈折率は較正球の DoLP に Fresnel の曲線を当てはめて 1.5691(真値 1.57)、DoLP 最大の位置から読む近道は 1.715 と雑音の山を拾う。★★どこで壊れるか: 屈折率を 1.50 と仮定すると 0.89°・1.40 で 2.21°(谷は真値でちょうど 0)、雑音の誤差は Brewster の輪(1.27°)と頂点(4.87°)に集まり中腹は 0.57°、拡散が 30 % 混ざると平均 7.4°(偏光が 90° ずれて打ち消し合う)。裏面反射・相互反射・消光比は入っていない合成であることは docstring に明記。検査 11 件・約 2 秒。

黒光沢とガラスの形を偏光で測る ―― 陰影が無くても、偏光は傾きを覚えている

↑ 黒光沢とガラスの形を偏光で測る ―― 陰影が無くても、偏光は傾きを覚えている ―― 黒光沢樹脂のドーム(n 1.57)とガラスのレンズ(n 1.52)を、4 方位のオンチップ偏光子を持つセンサの生のモザイク 1 枚から測る。真値は描画に使った解析的な法線と高さ。★★法線の誤差の中央値はドーム 0.53° / レンズ 1.09°、ドームの高さの RMS 誤差 0.62 px(高さ 37.9 px)。同じドームを 4 方向の照明の照度差ステレオにかけると光沢の点しか写らず中央値 26.4°(50 倍、7,921 画素中 2,408 画素は法線を返せない)。★★曖昧さは隠さない: 解消する前は全画素に法線 4 本(Brewster を挟む天頂角 2 × π の方位 2)、2 つの天頂角の差は Brewster 角 57.5° の上で 0 に縮む。凸 + Brewster の稜線で 1 本を選ぶ。★屈折率は較正球の DoLP に Fresnel の曲線を当てはめて 1.5691(真値 1.57)、DoLP 最大の位置から読む近道は 1.715 と雑音の山を拾う。★★どこで壊れるか: 屈折率を 1.50 と仮定すると 0.89°・1.40 で 2.21°(谷は真値でちょうど 0)、雑音の誤差は Brewster の輪(1.27°)と頂点(4.87°)に集まり中腹は 0.57°、拡散が 30 % 混ざると平均 7.4°(偏光が 90° ずれて打ち消し合う)。裏面反射・相互反射・消光比は入っていない合成であることは docstring に明記。検査 11 件・約 2 秒。

鏡面の DoLP は Brewster 角でちょうど 1 になり、その両側に同じ値が 2 回出る。拡散は単調だが弱い(最大 (n²−1)/(n²+1))。

↑ 測定の図 ―― 鏡面の DoLP は Brewster 角でちょうど 1 になり、その両側に同じ値が 2 回出る。拡散は単調だが弱い(最大 (n²−1)/(n²+1))。

左 = 黒光沢樹脂のドーム(n = 1.57)、右 = ガラスのレンズ(n = 1.52)。

↑ 左 = 黒光沢樹脂のドーム(n = 1.57)、右 = ガラスのレンズ(n = 1.52)。

鏡面の DoLP は Brewster を挟んで 2 つの天頂角を持ち、方位は偏光子にとって π が同じ。

↑ 鏡面の DoLP は Brewster を挟んで 2 つの天頂角を持ち、方位は偏光子にとって π が同じ。

屈折率の誤りは全体を滑らかにずらす。

↑ 屈折率の誤りは全体を滑らかにずらす。

[較正球で測れば 0.01 以内に入る([4))。](https://raw.githubusercontent.com/furuse-kazufumi/fullseye/master/docs/articles/assets/poc/poc_shape_from_polarization/09_index_and_mixing_720.jpg)

↑ 較正球で測れば 0.01 以内に入る([4])。

検光子を 0〜180° 回したときの明るさ。黒い蝶ネクタイが回る —— 暗くなる向きが、その画素の面の傾きの向き(鏡面では入射面に直交)。

↑ 動く図 ―― 検光子を 0〜180° 回したときの明るさ。黒い蝶ネクタイが回る —— 暗くなる向きが、その画素の面の傾きの向き(鏡面では入射面に直交)。

py -3.11 examples/poc_shape_from_polarization.py

ソース: examples/poc_shape_from_polarization.py

この回が作った図は全部で 10 枚あります —— 全部見る

使用 op(ノートへ): aolp_to_azimuth · brdf_blinn_phong · dolp_to_zenith · fresnel_dielectric · photometric_stereo_robust · polarization_demosaic · sfp_disambiguate · sfp_dolp_model · sfp_estimate_index · sfp_height · sfp_normals · sfp_render

No.2026.185 —— 金属積層造形の熱画像とX線CT ―― 別実験を独立に検証

熱画像は裸のIn718板上の単トラック、CTは別実験・別造形物のOverhang Part X4であり、工程前後を対応付けない。2026-10-02の記録値では、4095 DLは放射率1で1401℃、0.3で1641℃。CTと設計のDiceは0.981。表面は下向き63、上向き32マイクロメートルだが、同じ傾き同士では1.16倍。内部空隙は0個、検出下限は約63マイクロメートル。熱画像条件とCT欠陥の対応は示していない。

金属積層造形の熱画像とX線CT ―― 別実験を独立に検証

↑ 金属積層造形の熱画像とX線CT ―― 別実験を独立に検証 ―― 熱画像は裸のIn718板上の単トラック、CTは別実験・別造形物のOverhang Part X4であり、工程前後を対応付けない。2026-10-02の記録値では、4095 DLは放射率1で1401℃、0.3で1641℃。CTと設計のDiceは0.981。表面は下向き63、上向き32マイクロメートルだが、同じ傾き同士では1.16倍。内部空隙は0個、検出下限は約63マイクロメートル。熱画像条件とCT欠陥の対応は示していない。

calibration T = 14388/(a ln(c eps/x + 1)) - b/a (reading of the file's model string is our assumption). 4095 DL = 1402 C

↑ 測定の図 ―― calibration T = 14388/(a ln(c eps/x + 1)) - b/a (reading of the file’s model string is our assumption). 4095 DL = 1402 C at eps=1, 1641 C at eps=0.3. Pixels >= 2759 DL are above the liquidus for any eps <= 1. Source: National Institute of Standards and Technology (NIST), doi:10.18434/mds2-2716 (thermography) and doi:10.18434/mds2-2291 (XCT, measured at Georgia Tech); subsets extracted 2026-10-02, thresholded/cropped/false-coloured here (modified). Provided AS IS, https://www.nist.gov/open/license

Line_0_1, row 300: 19 saturated frames are only a lower bound; the curve stops at frame 189 where th

↑ Line_0_1, row 300: 19 saturated frames are only a lower bound; the curve stops at frame 189 where the camera reports 0 (below 100 DL) instead of falli…

Y pad: the command (XYPT, no time step stored) and the staring camera agree on the count and on the

↑ Y pad: the command (XYPT, no time step stored) and the staring camera agree on the count and on the long last interval, yet drift apart by 2.3 % per p…

slice at z = 4.00 mm just below the crown of the 4 mm hole: particles hang into the hole from the do

↑ slice at z = 4.00 mm just below the crown of the 4 mm hole: particles hang into the hole from the down-facing surface; red = design.

XCT vs STL: protrusion = p95 of the signed distance (outward positive) after subtracting the median

↑ XCT vs STL: protrusion = p95 of the signed distance (outward positive) after subtracting the median of each 0.25 mm surface cell (form error); line =…

XCT slices 121..320 (z = 1.75..4.16 mm, build direction) with the STL cross-section in red. Note the powder/dross hangin

↑ 動く図 ―― XCT slices 121..320 (z = 1.75..4.16 mm, build direction) with the STL cross-section in red. Note the powder/dross hanging under the hole crown and the 45 deg notch. Source: National Institute of Standards and Technology (NIST), doi:10.18434/mds2-2716 (thermography) and doi:10.18434/mds2-2291 (XCT, measured at Georgia Tech); subsets extracted 2026-10-02, thresholded/cropped/false-coloured here (modified). Provided AS IS, https://www.nist.gov/open/license

py -3.11 examples/poc_am_thermal_to_ct.py

ソース: examples/poc_am_thermal_to_ct.py

この回が作った図は全部で 9 枚あります —— 全部見る

使用 op(ノートへ): blob_features · blob_label · blob_select_largest · median · mesh_slice_stack · seg_boundary_f · seg_dice_jaccard · signed_surface_distance · sk_otsu · vol_boundary_points · vol_gaussian · vol_label · vol_region_props

No.2026.225 —— SEM の明るい縁が寸法をどれだけ太らせるか ―― 形は合うのに面積が太る

SEM の斜面は二次電子放出が増え、有限な PSF(点広がり関数) が段差応答を広げる。段差応答そのものの二次モーメント幅は PSF と一致するが、しきい値分割後の有効縁幅とは別の量である。合成像の実行では Dice 中央 0.942、面積比 0.755〜1.698。閉形式 w = −σΦ⁻¹((t−1)/(secθ−1)) と実測縁幅の相対差中央値は t/base=1.02 / 1.05 / 1.10 で 0.138 / 0.260 / 0.653(全条件 0.260)であり、「よく一致」とは言わない。有効縁幅/PSF の 1.01 は t/base=1.02 だけの中央値である。しきい値別の閉形式縁幅で補正した偏りは t/base=1.02 / 1.05 / 1.10 で 0.035 / 0.030 / 0.033。線量 45 e-/px で 1.02 を使うと面積比は 8.42〜8.74となり、雑音なしの補正は適用できない。実データのしきい値は正解マスク面積由来から背景の中央値と頑健標準偏差だけを使う方法へ変更した。Carinthia-S の段は環境変数がある時だけ走るため、旧しきい値で得た Dice 0.51 / 0.70 / 0.79 は変更後の結果ではなく、現環境では変更後の数値を確認できていない。根拠は数値模型で、既知 PSF だけで一般に偏りが消えるとは言えない。

SEM の明るい縁が寸法をどれだけ太らせるか ―― 形は合うのに面積が太る

↑ SEM の明るい縁が寸法をどれだけ太らせるか ―― 形は合うのに面積が太る ―― 主図は同じ欠陥の二次電子像と反射電子像に真値輪郭・検出輪郭・縁偏りを重ねる。線量10倍でSNRは3.16倍になり、縁の面積偏りは小欠陥ほど大きい。

用語: PSF — 点状の物体を撮ったときに像がどのように広がるかを表す、撮像系の空間応答。

0.5 nm/pixel で再計算した 256 nm 視野。明帯幅は PSF とともに増える。

↑ 測定の図 ―― 0.5 nm/pixel で再計算した 256 nm 視野。明帯幅は PSF とともに増える。

低照射量ほど粒状のショット雑音が増える。

↑ 低照射量ほど粒状のショット雑音が増える。

合成 SEM 像(半径 22 px の円錐欠陥、PSF σ=3)。

↑ 合成 SEM 像(半径 22 px の円錐欠陥、PSF σ=3)。

面積の太りは小さい欠陥ほど大きい(周囲長/面積 ∝ 1/R)。

↑ 面積の太りは小さい欠陥ほど大きい(周囲長/面積 ∝ 1/R)。

py -3.11 examples/poc_sem_wafer_defect_edge_bias.py

ソース: examples/poc_sem_wafer_defect_edge_bias.py

この回が作った図は全部で 5 枚あります —— 全部見る

使用 op(ノートへ): blob_features · blob_label · pod_hitmiss_fit · seg_boundary_f · seg_dice_jaccard · sem_image · sem_render

No.2026.228 —— 重力波望遠鏡の擬似シミュレーション ―― 共振器の式・量子雑音の予算・整合フィルタを閉形式で繋ぎ、GW150914 の実データで採点

km 級の Michelson 干渉計が 1e-21 のひずみを読む仕組みを閉じた式で再現し、GW150914 の実データ(GWOSC)と公表値で採点する。新 op 12 本: 腕共振器(fabry_perot_response は aLIGO の公表設計値でフィネス 445・極 42 Hz、cavity_strain_transfer、michelson_dc_readout、pdh_error_signal は Black 2001 の傾きと 0.9999 倍)、量子雑音の予算(quantum_noise_budget、散射 × 輻射圧 = SQL²/2 の恒等式、第二実装 gwinc 0.6.2 と 8 周波数で比 0.96〜1.12)、信号側(psd_welch → whiten_by_psd → matched_filter_snr / optimal_snr、chirp_newtonian、chirp_mass_from_track、coincidence_delay)。実データでは白色化 + 35〜350 Hz が PRL 116, 061102 図 1 の公表曲線と相関 0.959 / 0.935、数値相対論の波形の整合フィルタで SNR H1 19.0 / L1 13.1(公表 ≈ 20 / 13)、ネットワーク 23.1(公表 24)、L1 が 7.1 ms 先(公表 6.9 ms)。ニュートン近似のチャープは 9.1 / 5.6(合体・リングダウンが無い分だけ損)。設計曲線(T1800044)との比は 20 Hz 0.42・100 Hz 1.99・1 kHz 0.33 で、信号再利用と熱雑音の分だけ形が違うことを表で明示。持ち帰りは 1/f² の色つき雑音の中の既知波形: 白色化した整合フィルタは埋めた高さどおり、素の相関はトーンで 0.98・チャープで 0.50・減衰振動で 0.37。実データは環境変数に置けば走り、無ければ「未配置」と明示。学習 0、較正 0。

重力波望遠鏡の擬似シミュレーション ―― 共振器の式・量子雑音の予算・整合フィルタを閉形式で繋ぎ、GW150914 の実データで採点

↑ 重力波望遠鏡の擬似シミュレーション ―― 共振器の式・量子雑音の予算・整合フィルタを閉形式で繋ぎ、GW150914 の実データで採点 ―― km 級の Michelson 干渉計が 1e-21 のひずみを読む仕組みを閉じた式で再現し、GW150914 の実データ(GWOSC)と公表値で採点する。新 op 12 本: 腕共振器(fabry_perot_response は aLIGO の公表設計値でフィネス 445・極 42 Hz、cavity_strain_transfer、michelson_dc_readout、pdh_error_signal は Black 2001 の傾きと 0.9999 倍)、量子雑音の予算(quantum_noise_budget、散射 × 輻射圧 = SQL²/2 の恒等式、第二実装 gwinc 0.6.2 と 8 周波数で比 0.96〜1.12)、信号側(psd_welch → whiten_by_psd → matched_filter_snr / optimal_snr、chirp_newtonian、chirp_mass_from_track、coincidence_delay)。実データでは白色化 + 35〜350 Hz が PRL 116, 061102 図 1 の公表曲線と相関 0.959 / 0.935、数値相対論の波形の整合フィルタで SNR H1 19.0 / L1 13.1(公表 ≈ 20 / 13)、ネットワーク 23.1(公表 24)、L1 が 7.1 ms 先(公表 6.9 ms)。ニュートン近似のチャープは 9.1 / 5.6(合体・リングダウンが無い分だけ損)。設計曲線(T1800044)との比は 20 Hz 0.42・100 Hz 1.99・1 kHz 0.33 で、信号再利用と熱雑音の分だけ形が違うことを表で明示。持ち帰りは 1/f² の色つき雑音の中の既知波形: 白色化した整合フィルタは埋めた高さどおり、素の相関はトーンで 0.98・チャープで 0.50・減衰振動で 0.37。実データは環境変数に置けば走り、無ければ「未配置」と明示。学習 0、較正 0。

単極 1/√(1+(f/f_p)²) × 往復伝搬の sinc(2πfL/c)。極で 1/√2、FSR = c/2L で零。

↑ 測定の図 ―― 単極 1/√(1+(f/f_p)²) × 往復伝搬の sinc(2πfL/c)。極で 1/√2、FSR = c/2L で零。

反対称で共振で零。

↑ 反対称で共振で零。

通常干渉計(信号再利用なし)の量子雑音。

↑ 通常干渉計(信号再利用なし)の量子雑音。

数値相対論の波形は公表どおりの山を立て、ニュートン近似(合体・リングダウン無し)は半分以下。

↑ 数値相対論の波形は公表どおりの山を立て、ニュートン近似(合体・リングダウン無し)は半分以下。

雑音が 1/f² のとき、波形が低周波を含むほど素の相関は損をし、白色化した整合フィルタは最適 SNR どおりに拾う。

↑ 雑音が 1/f² のとき、波形が低周波を含むほど素の相関は損をし、白色化した整合フィルタは最適 SNR どおりに拾う。

入射光量 100 W → 100 kW: 散射雑音は 1/√P で下がり、輻射圧雑音は √P で上がる。総和は K = 1 の周波数で SQL に触れ、その点が光量とともに高い周波数へ動く。

↑ 動く図 ―― 入射光量 100 W → 100 kW: 散射雑音は 1/√P で下がり、輻射圧雑音は √P で上がる。総和は K = 1 の周波数で SQL に触れ、その点が光量とともに高い周波数へ動く。

FULLSEYE_GWOSC_DATA=<dir> py -3.11 examples/poc_gw_detector_pseudo_simulation.py

ソース: examples/poc_gw_detector_pseudo_simulation.py

この回が作った図は全部で 7 枚あります —— 全部見る

使用 op(ノートへ): bandpass · cavity_strain_transfer · chirp_mass_from_track · chirp_newtonian · coincidence_delay · fabry_perot_response · matched_filter_snr · michelson_dc_readout · optimal_snr · pdh_error_signal · psd_welch · quantum_noise_budget · spectrogram · whiten_by_psd

No.2026.234 —— 写真では見えない µm の凹みを、画面に映した縞の鏡像で見つける ―― 位相計測デフレクトメトリ

光沢のある塗装面のごく浅い凹みは、照明を当てた写真ではまず見えない。面の前の画面に縞を映し、その鏡像のゆがみから曲率を求めると、深さ 3 µm の凹みがはっきり浮かんだ。写真ではほぼ一様な面に、縞の鏡像からだけ凹みが現れる。

写真では見えない µm の凹みを、画面に映した縞の鏡像で見つける ―― 位相計測デフレクトメトリ

↑ 写真では見えない µm の凹みを、画面に映した縞の鏡像で見つける ―― 位相計測デフレクトメトリ ―― 光沢面(車の塗装パネル、カバーガラス)の深さ数 µm の凹みは、照明を当てた写真ではまず見えない —— 鏡は照明しか写さない。面の前の画面に位相シフト縞を出し、その鏡像を撮ると、面が 1e-3 rad 傾くだけで 30 cm 先の画面では 0.6 mm ずれる。新 op 6 本(deflectometry、opsspecular の deflectometry): deflectometry_rig / deflectometry_screen_pattern / deflectometry_render(高さ場 → 縞の鏡像。拡散成分、散乱、ガラスの裏面反射、開口積分のピント、雑音)/ deflectometry_phase_to_slope(絶対位相 → 法線、match3d.normal_from_reflection)/ slope_to_curvature(積分せず 1 回微分)/ deflectometry_sensitivity(撮る前の閉形式)。深さ 3 µm と 1 µm の凹み・うねり 0.8 µm・研磨ムラ 0.12 µm を仕込んだ塗装パネルで、ソフトボックスの写真の欠陥の信号は最大 0.00066(8 bit の 1 段の 0.17 倍)なのに、曲率マップの SNR は 110 と 57。勾配を積分した凹みの深さは真値と 0.5 % 以内。位相の雑音は閉形式 √(2/N)·σ/b と 1.00 倍、面の傾きの雑音は σ_u/(2d) の 0.67 倍(双線形の読み直しの √(4/9) どおり)。壊れるところ: 部品を 0.3 mm 浮かせると見かけの傾き Δz·sin θ/d(0.1 % で一致)と半径 388 m の椀が出るが凹みの深さは 0.7 % しか変わらない / 画面の距離を 2 % 間違えると深さが 2.3 % 浅い / 拡散成分 0.85 までは 1 µm の凹みが見え、0.9 で粗い縞の次数が飛び始める / 無反射コートの無いカバーガラスでは裏面の光が凹みの斜面(くさび)で逆向きに曲がり、傾きの感度が閉形式 0.246 に縮んで凹みが 1/4 の深さに見える(実測 0.246)/ 開口 8 mm では面にピントで縞の振幅が 0.60 倍、画面にピントで凹みが 0.52 倍の深さ。学習 0、較正 0、門 22 件。

面の前の画面(520 × 320 mm)にこの 4 枚を順に出し、面に映った鏡像を撮る。縦縞は画面の u(入射面内)を、同じ 4 枚を横縞にしたものが v を符号化する。粗い縞(周期 160 mm)の 4 枚で次数を決める。

↑ 測定の図 ―― 面の前の画面(520 × 320 mm)にこの 4 枚を順に出し、面に映った鏡像を撮る。縦縞は画面の u(入射面内)を、同じ 4 枚を横縞にしたものが v を符号化する。粗い縞(周期 160 mm)の 4 枚で次数を決める。

左が真値の高さ(視野 40 mm、青 = 高い・橙 = 低い)。

↑ 左が真値の高さ(視野 40 mm、青 = 高い・橙 = 低い)。

真値(破線)と復元(実線)はほぼ重なるので、差を 10 倍にして点線で重ねた。

↑ 真値(破線)と復元(実線)はほぼ重なるので、差を 10 倍にして点線で重ねた。

平らな板を 0.3 mm 浮かせただけで、測った高さは 40 mm で約 14 µm 傾く(左、視野の中心で 3.4e-4 rad)。

↑ 平らな板を 0.3 mm 浮かせただけで、測った高さは 40 mm で約 14 µm 傾く(左、視野の中心で 3.4e-4 rad)。

表と裏の反射率はほぼ同じ(R1 0.043、R2 0.039)なので、2 つの縞の和の位相は上限 1.16 rad までずれ得る。

↑ 表と裏の反射率はほぼ同じ(R1 0.043、R2 0.039)なので、2 つの縞の和の位相は上限 1.16 rad までずれ得る。

拡散成分 k_d = 0, 0.5, 0.8, 0.85, 0.9, 0.95, 0.98, 0.99, 0.995 と上げていったときの平均曲率(±2.5e-3 /mm)。雑音が 1/(1 − k_d) で増え、浅い凹み B が先に沈み、

↑ 動く図 ―― 拡散成分 k_d = 0, 0.5, 0.8, 0.85, 0.9, 0.95, 0.98, 0.99, 0.995 と上げていったときの平均曲率(±2.5e-3 /mm)。雑音が 1/(1 − k_d) で増え、浅い凹み B が先に沈み、最後は粗い縞の次数が飛ぶ。

py -3.11 examples/poc_phase_measuring_deflectometry.py

ソース: examples/poc_phase_measuring_deflectometry.py

この回が作った図は全部で 14 枚あります —— 全部見る

使用 op(ノートへ): absolute_phase · deflectometry_phase_to_slope · deflectometry_render · deflectometry_rig · deflectometry_screen_pattern · deflectometry_sensitivity · fresnel_dielectric · integrate · sfp_height · slope_to_curvature · text_box · wrapped_phase

No.2026.235 —— TDI(時間遅延積分) ラインスキャンとラインスキャン用レンズ ―― 段数で欠陥が見え、同期がずれると流れ、C マウントでは長いセンサの端が消える

フィルム・鋼板・ウェハのように流れてくるものはラインセンサで撮り、暗いラインでは TDI(時間遅延積分) で N 段ぶん露光を積む。新 op 6 本(linescan、opsoptics の linescan): tdi_snr(EMVA 1288 の式 21 を段数倍、電荷加算 / デジタル加算)/ tdi_sync_mtf(同期ずれ・ヨーの閉形式)/ linescan_acquire(反射率の地図を搬送して撮る: 速度誤差・ヨー・蛇行・エンコーダ同期・レンズ・雑音)/ lens_field_profile(像高ごとの照度と MTF を光線追跡で)/ linescan_lens_columns / linescan_lens_example。★1 段 40 光子の暗い冷延鋼板で、2 枚撮りの時間雑音から測った SNR は式 21 と全段数で 1.2 % 以内。デジタル加算は 64 段で ×8.09(√64 = 8)、電荷加算は読み出し雑音を 1 回しか払わないので ×26.9。薄い傷・ピンホール・異物の検出は 1 段 0 / 3 → 64 段 3 / 3(誤検出 0)。★同期ずれ ε で像が N·ε 画素流れ、流れ方向の MTF は sinc(f N ε) —— 閉形式を先に印字し、正弦波の板で 45 条件の最大差 0.0035。速度のうねり ±3 % は自走で局所 MTF 0.64 まで落ち、エンコーダ同期で 1.000 に戻る。ヨーの幅方向のぼけ sinc(f N sin θ) はエンコーダでは直らない(9 条件で最大差 0.0017)。★同じ形の三枚玉を 57 mm の像円用(f 90)と 2/3 型用(f 35、C マウントの流用)に作って光線追跡: 照度は cos⁴ × 瞳 × 歪曲に厳密に分かれ(最大差 2e-16)、ラインスキャン用は端で 0.976(cos⁴ は 0.855、樽型歪曲 −2.9 % が ×1.111)、C マウントは像高 19.7 mm から光が届かない。フラットフィールド補正で照度の幅は 0.961 → 1.000 に揃うが、正弦波の変調は補正の前後で差 0.0006(MTF は直らない)、像高 14 mm の異物の CNR は C マウントで 1.52 → 1.54 のまま(ラインスキャン用 2.49)。学習 0、較正 0、門 19 件。

TDI(時間遅延積分) ラインスキャンとラインスキャン用レンズ ―― 段数で欠陥が見え、同期がずれると流れ、C マウントでは長いセンサの端が消える

*↑ TDI(時間遅延積分) ラインスキャンとラインスキャン用レンズ ―― 段数で欠陥が見え、同期がずれると流れ、C マウントでは長いセンサの端が消える ―― フィルム・鋼板・ウェハのように流れてくるものはラインセンサで撮り、暗いラインでは TDI(時間遅延積分) で N 段ぶん露光を積む。新 op 6 本(linescan、opsoptics の linescan): tdi_snr(EMVA 1288 の式 21 を段数倍、電荷加算 / デジタル加算)/ tdi_sync_mtf(同期ずれ・ヨーの閉形式)/ linescan_acquire(反射率の地図を搬送して撮る: 速度誤差・ヨー・蛇行・エンコーダ同期・レンズ・雑音)/ lens_field_profile(像高ごとの照度と MTF を光線追跡で)/ linescan_lens_columns / linescan_lens_example。★1 段 40 光子の暗い冷延鋼板で、2 枚撮りの時間雑音から測った SNR は式 21 と全段数で 1.2 % 以内。デジタル加算は 64 段で ×8.09(√64 = 8)、電荷加算は読み出し雑音を 1 回しか払わないので ×26.9。薄い傷・ピンホール・異物の検出は 1 段 0 / 3 → 64 段 3 / 3(誤検出 0)。★同期ずれ ε で像が N·ε 画素流れ、流れ方向の MTF は sinc(f N ε) —— 閉形式を先に印字し、正弦波の板で 45 条件の最大差 0.0035。速度のうねり ±3 % は自走で局所 MTF 0.64 まで落ち、エンコーダ同期で 1.000 に戻る。ヨーの幅方向のぼけ sinc(f N sin θ) はエンコーダでは直らない(9 条件で最大差 0.0017)。★同じ形の三枚玉を 57 mm の像円用(f 90)と 2/3 型用(f 35、C マウントの流用)に作って光線追跡: 照度は cos⁴ × 瞳 × 歪曲に厳密に分かれ(最大差 2e-16)、ラインスキャン用は端で 0.976(cos⁴ は 0.855、樽型歪曲 −2.9 % が ×1.111)、C マウントは像高 19.7 mm から光が届かない。フラットフィールド補正で照度の幅は 0.961 → 1.000 に揃うが、正弦波の変調は補正の前後で差 0.0006(MTF は直らない)、像高 14 mm の異物の CNR は C マウントで 1.52 → 1.54 のまま(ラインスキャン用 2.49)。学習 0、較正 0、門 19 件。*

用語: TDI — 移動する像に合わせて複数段の電荷または信号を加算し、ラインセンサの露光量とSNRを高める方式。; EMVA 1288 — 産業用画像センサの感度・雑音・飽和・不均一性などを、共通の測定手順と量で表す標準。; MTF — 空間周波数ごとに像のコントラストが物体からどれだけ伝わるかを表す、光学伝達関数の絶対値。

EMVA 1288 の 2 枚撮り(時間雑音)で測った SNR と、式 21 を段数倍した閉形式。

↑ 測定の図 ―― EMVA 1288 の 2 枚撮り(時間雑音)で測った SNR と、式 21 を段数倍した閉形式。

ε は搬送速度とラインレートの相対誤差。

↑ ε は搬送速度とラインレートの相対誤差。

web が走査軸から θ 傾くと、64 段の間に幅方向へ 64·sin θ 画素ずれる。

↑ web が走査軸から θ 傾くと、64 段の間に幅方向へ 64·sin θ 画素ずれる。

光線追跡(射影立体角の一様格子)で数えた照度。

↑ 光線追跡(射影立体角の一様格子)で数えた照度。

同じ明るさの尺度で表示。

↑ 同じ明るさの尺度で表示。

py -3.11 examples/poc_tdi_linescan.py

ソース: examples/poc_tdi_linescan.py

この回が作った図は全部で 10 枚あります —— 全部見る

使用 op(ノートへ): emva_pair_statistics · lens_field_profile · lens_shading_correct · lens_shading_gain · lens_system · linescan_acquire · linescan_lens_columns · linescan_lens_example · paraxial_trace · relative_illumination · tdi_snr · tdi_sync_mtf

No.2026.236 —— ピクセルシフト撮像 ―― センサを 1 画素動かすと偽色が消え、半画素動かすと折り返しが消える。MTF(変調伝達関数) は上がらない

撮像素子を圧電アクチュエータで 1 画素 / 半画素ずつ動かして撮る「ピクセルシフト」が、外観検査で何を増やし何を増やさないか。主役は実データ: 35 mm フルサイズのミラーレス(センサシフト機)で撮ったピクセルシフト 4 枚の未加工 RAW(PixelShift200、Qian ほか ICCP 2022、CC BY 4.0)で解像チャートを測る。★実機の巡り方は (0,0)→(1,0)→(1,−1)→(0,−1) で、op の既定の並びのまま渡すと止まった被写体の 23.2 % が「動いた」になる(正しい並びで 0.09 %)。合わせた像は著者の合成済み RGGB と相関 0.99999996。無彩色のチャートの色は 1 枚 + 双線形 0.054 → 4 枚 0.025、0.25 cyc/px より細かい縞の振幅は 4 枚が 1.67 倍。★よいデモザイク(rawpy の AHD)は振幅 1.01 倍・色 0.020 で 4 枚とほぼ同じ —— チャートの縞は 0.31 cyc/px 止まりで、4 枚の得はナイキストに近い細部で出る。以下は合成のシーンで壊れる条件を掃引する補助の章。新 op 6 本(pixelshift、opsoptics の pixelshift): pixel_shift_pattern / pixel_shift_capture(画素の開口の箱で厳密に積分、Bayer か白黒)/ pixel_shift_merge(公称のシフトで格子へ、埋められないシフト列は拒否)/ pixel_shift_motion_mask / false_color_metric / pixel_shift_resolution_budget(sinc × 回折 MTF、Q = λN/p)。1 画素シフト 4 枚は基板の配線・織物・網点・解像チャートで偽色を 0.043〜0.084 から 0 にする(静止・誤差 0 では定義上 0 —— 各画素の R・G・B が同じ開口で同じ点を見る)。半画素シフトでは 0.6〜0.9 cyc/px の縞の FFT の山が、1 枚の折り返し 1 − f₀ から本当の f₀ へ戻り、高さは 0.4·sinc(f₀) と 2e-14 で一致。★傾いたエッジの MTF50 は 1 枚 0.478・半画素 0.475・閉形式 0.467 cyc/px —— シフトで変わるのは折り返しで MTF ではない。drizzle(独立の実装)でも山は 0.700 に立ち、★センサのシフトをそのまま渡すと 0.300(符号の取り違えが折り返しに化ける)。画素 3.45 µm で F 1.4〜22 を振ると 0.7 cyc/px の変調は sinc·回折の閉形式と 0.0008 以内、Q > 1.43 で消え、解像の得は Q = 2 より手前の Q* = 1.47 で尽きる。開口率 0.5 なら 0.8 cyc/px の変調が 3.2 倍。壊れる条件: 1 枚だけ 0.05 px ずれた色の誤差は閉形式 2πf·a·sinc·δ/√2 と 1.2 %、乱数の誤差 σ = 0.1 px で偽色 0.012(1 枚のデモザイク 0.053)。搬送中の部品は 0.25 px/枚 までは 4 枚の破綻(0.161)が 1 枚のデモザイク(0.205)より小さく、0.5 px/枚 から逆転。動き検出で 1 枚に差し戻すと 1 枚の画質の天井に届き、静止部の誤検出 0 %。雑音は R・B が σ/√c、G が σ/√(2c) と 2.1 % 以内、動く縞では枚数を増やすほど誤差が増える(4 → 16 枚で 0.081 → 0.273)。学習 0、較正 0、門 34 件。

ピクセルシフト撮像 ―― センサを 1 画素動かすと偽色が消え、半画素動かすと折り返しが消える。MTF(変調伝達関数) は上がらない

↑ ピクセルシフト撮像 ―― センサを 1 画素動かすと偽色が消え、半画素動かすと折り返しが消える。MTF(変調伝達関数) は上がらない ―― 撮像素子を圧電アクチュエータで 1 画素 / 半画素ずつ動かして撮る「ピクセルシフト」が、外観検査で何を増やし何を増やさないか。主役は実データ: 35 mm フルサイズのミラーレス(センサシフト機)で撮ったピクセルシフト 4 枚の未加工 RAW(PixelShift200、Qian ほか ICCP 2022、CC BY 4.0)で解像チャートを測る。★実機の巡り方は (0,0)→(1,0)→(1,−1)→(0,−1) で、op の既定の並びのまま渡すと止まった被写体の 23.2 % が「動いた」になる(正しい並びで 0.09 %)。合わせた像は著者の合成済み RGGB と相関 0.99999996。無彩色のチャートの色は 1 枚 + 双線形 0.054 → 4 枚 0.025、0.25 cyc/px より細かい縞の振幅は 4 枚が 1.67 倍。★よいデモザイク(rawpy の AHD)は振幅 1.01 倍・色 0.020 で 4 枚とほぼ同じ —— チャートの縞は 0.31 cyc/px 止まりで、4 枚の得はナイキストに近い細部で出る。以下は合成のシーンで壊れる条件を掃引する補助の章。新 op 6 本(pixelshift、opsoptics の pixelshift): pixel_shift_pattern / pixel_shift_capture(画素の開口の箱で厳密に積分、Bayer か白黒)/ pixel_shift_merge(公称のシフトで格子へ、埋められないシフト列は拒否)/ pixel_shift_motion_mask / false_color_metric / pixel_shift_resolution_budget(sinc × 回折 MTF、Q = λN/p)。1 画素シフト 4 枚は基板の配線・織物・網点・解像チャートで偽色を 0.043〜0.084 から 0 にする(静止・誤差 0 では定義上 0 —— 各画素の R・G・B が同じ開口で同じ点を見る)。半画素シフトでは 0.6〜0.9 cyc/px の縞の FFT の山が、1 枚の折り返し 1 − f₀ から本当の f₀ へ戻り、高さは 0.4·sinc(f₀) と 2e-14 で一致。★傾いたエッジの MTF50 は 1 枚 0.478・半画素 0.475・閉形式 0.467 cyc/px —— シフトで変わるのは折り返しで MTF ではない。drizzle(独立の実装)でも山は 0.700 に立ち、★センサのシフトをそのまま渡すと 0.300(符号の取り違えが折り返しに化ける)。画素 3.45 µm で F 1.4〜22 を振ると 0.7 cyc/px の変調は sinc·回折の閉形式と 0.0008 以内、Q > 1.43 で消え、解像の得は Q = 2 より手前の Q = 1.47 で尽きる。開口率 0.5 なら 0.8 cyc/px の変調が 3.2 倍。壊れる条件: 1 枚だけ 0.05 px ずれた色の誤差は閉形式 2πf·a·sinc·δ/√2 と 1.2 %、乱数の誤差 σ = 0.1 px で偽色 0.012(1 枚のデモザイク 0.053)。搬送中の部品は 0.25 px/枚 までは 4 枚の破綻(0.161)が 1 枚のデモザイク(0.205)より小さく、0.5 px/枚 から逆転。動き検出で 1 枚に差し戻すと 1 枚の画質の天井に届き、静止部の誤検出 0 %。雑音は R・B が σ/√c、G が σ/√(2c) と 2.1 % 以内、動く縞では枚数を増やすほど誤差が増える(4 → 16 枚で 0.081 → 0.273)。学習 0、較正 0、門 34 件。*

用語: MTF — 空間周波数ごとに像のコントラストが物体からどれだけ伝わるかを表す、光学伝達関数の絶対値。

基板の配線・織物・網点・解像チャート(上から)。左 = 3 色を各画素で取る理想センサ、中 = Bayer 1 枚 + 双線形デモザイク、右 = 1 画素シフト 4 枚。44 × 44 画素を最近傍で 5 倍。静止・誤差 0 では 4 枚の

↑ 測定の図 ―― 基板の配線・織物・網点・解像チャート(上から)。左 = 3 色を各画素で取る理想センサ、中 = Bayer 1 枚 + 双線形デモザイク、右 = 1 画素シフト 4 枚。44 × 44 画素を最近傍で 5 倍。静止・誤差 0 では 4 枚の偽色は定義上 0(4・5 章が壊れる条件)。

解像チャートの 星形チャート(48 × 48 画素を 6 倍)。

↑ 解像チャートの 星形チャート(48 × 48 画素を 6 倍)。

左は画素 1 つ = 8 × 8、右は出力画素 1 つ(= ½ センサ画素)= 4 × 4 で表示。

↑ 左は画素 1 つ = 8 × 8、右は出力画素 1 つ(= ½ センサ画素)= 4 × 4 で表示。

画素 3.45 µm、λ 0.55 µm で F 1.4〜22。

↑ 画素 3.45 µm、λ 0.55 µm で F 1.4〜22。

4 枚のピクセルシフトは雑音を下げるためのものではない(R・B は 1 枚と同じ)。

↑ 4 枚のピクセルシフトは雑音を下げるためのものではない(R・B は 1 枚と同じ)。

左 = その枚の Bayer の生の値(画素ごとにフィルタの色で表示、センサの位置へずらして描く)、右 = 合わせた格子に R・G・B が揃っていく様子。最後は 1 枚のデモザイクと 4 枚の合成(24 × 24 画素を 10 倍)。

↑ 動く図 ―― 左 = その枚の Bayer の生の値(画素ごとにフィルタの色で表示、センサの位置へずらして描く)、右 = 合わせた格子に R・G・B が揃っていく様子。最後は 1 枚のデモザイクと 4 枚の合成(24 × 24 画素を 10 倍)。

py -3.11 examples/poc_pixel_shift.py

ソース: examples/poc_pixel_shift.py

この回が作った図は全部で 15 枚あります —— 全部見る

使用 op(ノートへ): airy_pattern · annotate_figure_grid · drizzle_resample · edge_spread · false_color_metric · halftone_screen · mtf50 · mtf_diffraction · pixel_shift_capture · pixel_shift_merge · pixel_shift_motion_mask · pixel_shift_pattern · pixel_shift_resolution_budget · psnr · raw_demosaic_bilinear · reflect · sfr_from_edge · text_box · weave_normals

No.2026.243 —— 間接 ToF の多周波アンラップ ―― 周波数を上げるほど細かく測れるが、折り返し・多重反射・縁の混合・高調波で壊れる

光を変調して戻り光との相関を 4 段の位相で測る間接 ToF(位相方式)を、生信号から距離まで通し、壊れる所まで測る。新 op 8 本(itof、opsoptics の itof): itof_capture(距離の図 → 周波数ごと 4 段のバケット、ショット雑音・背景光・余分な経路・画素の開口での混合)/ itof_phase_amplitude / itof_noise_budget / itof_unwrap_multifreq(次数の仮説を全部試す最尤の復号・residue_crt・2 周波のうなり)/ itof_unwrap_error_rate / itof_multipath_separate(等間隔の多周波の行列ペンシル)/ itof_flying_pixel_mask / itof_wiggling_correct。σ_d は SNR ≥ 3 の 11 条件で閉形式 c/(4πf)·√((B+σ_r²)/2)/A の 0.999〜1.029 倍、Lange の式とも一致。16/80/120 MHz の組は 18.7 m まで一意で、次数の誤りは σ_φ = 0.33 rad で 0.116(和集合の上界 0.132)。★同じ生信号で residue_crt は 0.1161 —— Wang–Xia の錨の選び方(雑音の分散が最小の帯)で最尤と同等(16 MHz を常に錨にしていた修正前は 0.556)。80/100/120 MHz の組では 7.5 m より奥の棚が何の警告も無く手前に折り返す。包装フィルムの奥の箱は 1 周波で手前に引かれ(lighttransport.tof_multipath_phase と一致)、20〜160 MHz の 8 周波の行列ペンシルは間隔 0.8 m で全画素を 2 cm 以内に戻すが 0.2 m 以下は分けられない。部屋の隅は全面で 8〜99 mm 奥へ伸び、輸送行列の 1 回反射と 1e-15 m で一致。箱の縁で宙に浮いた画素の 97 % に印をつけ、段差の無い画素を消すのは 0.03 %。矩形波の周期誤差 ±84.8 mm は閉形式 atan(u/(1−u)) と一致し、模型の逆引きで雑音の床(2.1 mm)まで下がる。太陽光が信号の 50 倍だと 12 m 以遠の次数の誤りが 12 % → 93 %。同じ卓上の場面を直接 ToF で撮ると縁は浮かず、フィルムの下もずれない。公開の実機の生データ(3 周波 × 3 段、Lawin・Forssén・Ovrén、ECCV 2016、Zenodo、CC BY 4.0)では、真値に対する 30 cm 以上の飛びが最尤 0.131・residue_crt 0.131(10 枚の平均、修正前は 0.293)、margin で際どい画素を捨てると 68 % を残して 0.020。学習 0、較正は周期誤差の 16 点と実データの左半分だけ、門 30 件。

間接 ToF の多周波アンラップ ―― 周波数を上げるほど細かく測れるが、折り返し・多重反射・縁の混合・高調波で壊れる

↑ 間接 ToF の多周波アンラップ ―― 周波数を上げるほど細かく測れるが、折り返し・多重反射・縁の混合・高調波で壊れる ―― 光を変調して戻り光との相関を 4 段の位相で測る間接 ToF(位相方式)を、生信号から距離まで通し、壊れる所まで測る。新 op 8 本(itof、opsoptics の itof): itof_capture(距離の図 → 周波数ごと 4 段のバケット、ショット雑音・背景光・余分な経路・画素の開口での混合)/ itof_phase_amplitude / itof_noise_budget / itof_unwrap_multifreq(次数の仮説を全部試す最尤の復号・residue_crt・2 周波のうなり)/ itof_unwrap_error_rate / itof_multipath_separate(等間隔の多周波の行列ペンシル)/ itof_flying_pixel_mask / itof_wiggling_correct。σ_d は SNR ≥ 3 の 11 条件で閉形式 c/(4πf)·√((B+σ_r²)/2)/A の 0.999〜1.029 倍、Lange の式とも一致。16/80/120 MHz の組は 18.7 m まで一意で、次数の誤りは σ_φ = 0.33 rad で 0.116(和集合の上界 0.132)。★同じ生信号で residue_crt は 0.1161 —— Wang–Xia の錨の選び方(雑音の分散が最小の帯)で最尤と同等(16 MHz を常に錨にしていた修正前は 0.556)。80/100/120 MHz の組では 7.5 m より奥の棚が何の警告も無く手前に折り返す。包装フィルムの奥の箱は 1 周波で手前に引かれ(lighttransport.tof_multipath_phase と一致)、20〜160 MHz の 8 周波の行列ペンシルは間隔 0.8 m で全画素を 2 cm 以内に戻すが 0.2 m 以下は分けられない。部屋の隅は全面で 8〜99 mm 奥へ伸び、輸送行列の 1 回反射と 1e-15 m で一致。箱の縁で宙に浮いた画素の 97 % に印をつけ、段差の無い画素を消すのは 0.03 %。矩形波の周期誤差 ±84.8 mm は閉形式 atan(u/(1−u)) と一致し、模型の逆引きで雑音の床(2.1 mm)まで下がる。太陽光が信号の 50 倍だと 12 m 以遠の次数の誤りが 12 % → 93 %。同じ卓上の場面を直接 ToF で撮ると縁は浮かず、フィルムの下もずれない。公開の実機の生データ(3 周波 × 3 段、Lawin・Forssén・Ovrén、ECCV 2016、Zenodo、CC BY 4.0)では、真値に対する 30 cm 以上の飛びが最尤 0.131・residue_crt 0.131(10 枚の平均、修正前は 0.293)、margin で際どい画素を捨てると 68 % を残して 0.020。学習 0、較正は周期誤差の 16 点と実データの左半分だけ、門 30 件。

平らな板(距離は一様乱数)で信号を振り、次数を誤った画素の割合を数えた。破線は候補ごとのガウスの 2 仮説の誤りの和(和集合の上界)、点線はその最大の 1 項。実測は 2 本の間に入る。

↑ 測定の図 ―― 平らな板(距離は一様乱数)で信号を振り、次数を誤った画素の割合を数えた。破線は候補ごとのガウスの 2 仮説の誤りの和(和集合の上界)、点線はその最大の 1 項。実測は 2 本の間に入る。

通路の画素を距離帯に分け、次数を誤った割合と、その帯の位相雑音から見積もった上界を並べた。

↑ 通路の画素を距離帯に分け、次数を誤った割合と、その帯の位相雑音から見積もった上界を並べた。

向かいの壁で 1 回以上反射した光が遅れて混ざり、内角の面は全体に奥へ伸びる。

↑ 向かいの壁で 1 回以上反射した光が遅れて混ざり、内角の面は全体に奥へ伸びる。

同じ卓上の場面を 2 つの方式で撮る。

↑ 同じ卓上の場面を 2 つの方式で撮る。

σ_d = c/(4πf)·√((B + σ_r²)/2)/A。

↑ σ_d = c/(4πf)·√((B + σ_r²)/2)/A。

左の箱の点群を回して見る。横から見ると、縁から背後の床へ視線に沿って伸びる赤い点の列(フライングピクセル)が現れる。右は印を除いたもの。

↑ 動く図 ―― 左の箱の点群を回して見る。横から見ると、縁から背後の床へ視線に沿って伸びる赤い点の列(フライングピクセル)が現れる。右は印を除いたもの。

py -3.11 examples/poc_itof_multifreq.py

ソース: examples/poc_itof_multifreq.py

この回が作った図は全部で 14 枚あります —— 全部見る

使用 op(ノートへ): annotate_figure_grid · camera_rays · dtof_cube_depth · dtof_cube_simulate · erfc · form_factors_2d · gamma · gaussian · groove_profile · itof_capture · itof_flying_pixel_mask · itof_multipath_separate · itof_noise_budget · itof_phase_amplitude · itof_unwrap_error_rate · itof_unwrap_multifreq · itof_wiggling_correct · residue_crt · tof_multipath_phase · tof_transport_depth · transport_matrix_radiosity

No.2026.241 —— 工業用 OCT(光干渉断層法) ―― 塗装・コート・多層フィルムの層厚と中の欠陥を、1 本の干渉スペクトルの FFT で深さ方向に見る

塗装や多層フィルムの層の厚さを、切らずに奥行き方向から見たい。公開されている自動車塗装の生の干渉スペクトルから透明層の厚さを求め、論文の OCT の値と 1.5 µm 以内で一致した。分離できない薄い層には値を出さず、測れないと返す。

工業用 OCT(光干渉断層法) ―― 塗装・コート・多層フィルムの層厚と中の欠陥を、1 本の干渉スペクトルの FFT で深さ方向に見る

↑ 工業用 OCT(光干渉断層法) ―― 塗装・コート・多層フィルムの層厚と中の欠陥を、1 本の干渉スペクトルの FFT で深さ方向に見る ―― 塗装・コンフォーマルコート・接着層・多層フィルムの層の並びと、層の中の空洞・剥離を光干渉断層(OCT)で壊さずに見る。新 op 13 本(octscan、opsoptics の oct): oct_design(軸分解能 0.44 λ0²/Δλ・深さ範囲 λ0²/(4δλ)・roll-off・SNR・横分解能と焦点深度を撮る前に)/ oct_interferogram・oct_bscan_simulate(層の並び → 干渉スペクトル、屈折率と分散は材料表)/ oct_k_linearize・oct_dispersion_compensate・oct_dispersion_estimate・oct_ascan・oct_bscan / oct_layer_thickness(群屈折率で厚さ、分離できなければ拒否)・oct_bscan_boundaries・oct_bscan_flatten / oct_from_spectra(生のスペクトルの入口)。実測: 公開の自動車塗装の生スペクトル(CC BY 4.0)を Fullseye の op だけで処理し、透明層 44.5 / 86.4 / 99.7 / 70.8 µm が論文の OCT と 1.5 µm 以内・顕微鏡と 3.6 µm 以内、着色層は 4 枚中 3 枚が顕微鏡と 2.3 µm 以内(1 枚は 7.6 µm ずれて未解決)、白の見本の着色層の下は拒否、透明層の光学厚 155.6 µm の深さに水平に出る自己相関の幽霊。合成: 群屈折率で割った厚さが真値と 0.04 µm、位相屈折率なら 0.9〜1.9 % 厚い、SNR・roll-off・分散の広がりが閉形式と一致、点像の幅の 1.4 倍より薄い層は拒否、コートの厚さの地図と空洞・剥離の検出。

用語: OCT — 低コヒーレンス光の干渉を使って深さ方向の反射分布を測り、試料内部の断層像を非接触で得る方法。

屈折率は論文と同じ 1.56(透明層)・1.64(着色層)。表のどの行がどのファイルかは論文に無く、透明層の厚さで決めた(推定)。着色層はその対応と独立の突き合わせ。

↑ 測定の図 ―― 屈折率は論文と同じ 1.56(透明層)・1.64(着色層)。表のどの行がどのファイルかは論文に無く、透明層の厚さで決めた(推定)。着色層はその対応と独立の突き合わせ。

黒・濃色は透明層の下の面と着色層の下の面の 2 つの山。

↑ 黒・濃色は透明層の下の面と着色層の下の面の 2 つの山。

SD 840/50 nm 2048 画素(深さ範囲 2.26 mm)、SS 1310/100 nm・瞬時線幅 0.1 nm。

↑ SD 840/50 nm 2048 画素(深さ範囲 2.26 mm)、SS 1310/100 nm・瞬時線幅 0.1 nm。

試料腕が参照光と同じ桁に強いと、層の上下の面どうしの干渉が 0 の近くに立つ。

↑ 試料腕が参照光と同じ桁に強いと、層の上下の面どうしの干渉が 0 の近くに立つ。

横 1.2 mm、縦は光路 25〜440 µm。

↑ 横 1.2 mm、縦は光路 25〜440 µm。

試料腕に溶融石英 12 mm の分散の不一致。補償の係数 a2 を 0 から 35.6 µm² まで動かすと、PMMA / PC / PS の 3 層の界面がにじみから線に締まる(横 0.6 mm、光路 130〜380 µm)。

↑ 動く図 ―― 試料腕に溶融石英 12 mm の分散の不一致。補償の係数 a2 を 0 から 35.6 µm² まで動かすと、PMMA / PC / PS の 3 層の界面がにじみから線に締まる(横 0.6 mm、光路 130〜380 µm)。

py -3.11 examples/poc_industrial_oct.py

ソース: examples/poc_industrial_oct.py

この回が作った図は全部で 15 枚あります —— 全部見る

使用 op(ノートへ): glass · material_optical_constants · oct_ascan · oct_bscan · oct_bscan_boundaries · oct_bscan_flatten · oct_bscan_simulate · oct_design · oct_dispersion_broadening · oct_dispersion_compensate · oct_dispersion_estimate · oct_from_spectra · oct_interferogram · oct_k_linearize · oct_layer_thickness

No.2026.237 —— 分光反射率で薄膜の膜厚を測る ―― 公開の実測データで採点し、縞・干渉色・FFT とあてはめ・膜厚むらの画像へ

シリコン上の酸化膜の厚さは、反射スペクトルに出る干渉の縞から読み取れる。他の研究者が公開した実測データで採点し、裸のシリコンの実測反射率は材料表と 0.4 % の差に収まった。薄すぎる膜では、縞を数える方法が自ら信頼できないと判定する。

分光反射率で薄膜の膜厚を測る ―― 公開の実測データで採点し、縞・干渉色・FFT とあてはめ・膜厚むらの画像へ

↑ 分光反射率で薄膜の膜厚を測る ―― 公開の実測データで採点し、縞・干渉色・FFT とあてはめ・膜厚むらの画像へ ―― Si 上の SiO₂ の膜厚を反射スペクトルの干渉縞から測る op 5 本(filmoptics、opsoptics の film): multilayer_reflectance(転送行列)/ film_color / film_thickness_fft / film_thickness_fit / film_thickness_map。膜も基板も材料表(materials)の鍵で引く。★主役は他人が測った実物のデータ(どちらも CC BY 4.0): Schwarz ら 2024 の顕微分光では、裸の Si の実測反射率が材料表の Si と中央値 0.4 % 差、SiO₂ の膜厚は直入射のモデルで 92.9 nm(基準 98.5 nm と −5.7 %)、残差が最小の NA 0.5 を入れると 95.8 nm(−2.7 %)。測定点の被覆率は 11 点を平均 0.6 点の誤差で読み返す。同じ試料の実物のカラー顕微鏡写真からは、裸の Si で白を合わせるだけで画素ごとの膜厚が出て中央値 87.4 nm(−11 %、カメラの分光感度は不明)。Sánchez-Arriaga ら 2023 の安価な分光器では、標準 476.3 nm が 5 本すべて 2 % 以内、198.7 nm は中央値 +6.6 % で、1 本は最良の候補が 51 nm に外れて正しい値は 2 番目の候補に残る。FFT 法は 98 nm の膜を自分で「信頼できない」と言う(下限の閉形式 554 nm)。合成の章: 1 層は Airy の式(別実装)と 3e-15、縞の本数は d·Δx と ±1、FFT の下限の閉形式 538 nm と実測 525 nm、材料の取り違え・入射角・NA の偏りは閉形式どおり。公表の色表との色相の一致は 1〜3 次で 59 %(弱い門)。模型のウェハ(彗星は縁まで半径方向、縁の盛り上がり、芯ずれの輪 —— 量は文献表に結びつけ、無いものは模型と明記)では分光 31 帯域の膜厚マップが RMS 0.17 nm、RGB は候補が複数の画素が 14 %。学習 0、門 37 件。

実測の反射スペクトルに film_thickness_fit を当てた。直入射のモデルは 92.9 nm、残差が最小の NA 0.5 で 95.8 nm。裸の Si は材料表の Si と中央値 -0.4 % 差。出典: Schwarz ら,

↑ 測定の図 ―― 実測の反射スペクトルに film_thickness_fit を当てた。直入射のモデルは 92.9 nm、残差が最小の NA 0.5 で 95.8 nm。裸の Si は材料表の Si と中央値 -0.4 % 差。出典: Schwarz ら, Adv. Opt. Mater. (2024) doi:10.1002/adom.202402502、データ Zenodo 10.5281/zenodo.13753754(CC BY 4.0)。改変: 表から 2 本を選び、モデルの曲線を重ねた。

476.3 nm は最大 1.2 %、198.7 nm は中央値 6.6 % 厚めに読み、1 本は最良の候補が 51 nm に外れた(正しい膜厚は 2 番目の候補)。

↑ 476.3 nm は最大 1.2 %、198.7 nm は中央値 6.6 % 厚めに読み、1 本は最良の候補が 51 nm に外れた(正しい膜厚は 2 番目の候補)。

100 nm は縞が 1 本未満、2 µm は 7 本余り。

↑ 100 nm は縞が 1 本未満、2 µm は 7 本余り。

顕微分光の対物は斜めの光も入れる。

↑ 顕微分光の対物は斜めの光も入れる。

分光カメラは全画素で真値と RMS 0.17 nm。

↑ 分光カメラは全画素で真値と RMS 0.17 nm。

膜厚を 0 → 1.5 µm に振ると縞が増え、色が周期的に巡りながら淡くなる。

↑ 動く図 ―― 膜厚を 0 → 1.5 µm に振ると縞が増え、色が周期的に巡りながら淡くなる。

py -3.11 examples/poc_thin_film_reflectometry.py

ソース: examples/poc_thin_film_reflectometry.py

この回が作った図は全部で 13 枚あります —— 全部見る

使用 op(ノートへ): annotate_colorbar · blackbody_spectrum · film_color · film_thickness_fft · film_thickness_fit · film_thickness_map · multilayer_reflectance · spectrum · text_box · thinning

No.2026.238 —— クロマティック共焦点変位センサ ―― 硝材の分散で「虹のものさし」を作り、戻ってきた色で高さを読む

クロマティック共焦点センサをレンズ処方と材料分散から組み立てた数値模型。450〜700 nm の焦点範囲は 1,191 µmで、近軸焦点と軸応答幅は閉形式に一致する。推定法の偏りはガウス 0.060、放物線 0.108、重心 0.293、最大ビン 2.04 µmで、鏡を動かす合成較正後はガウス 0.014、放物線 0.090 µm。透明板は空気側から見た見かけ深さを読み、実空間の厚さへ戻す。第 1 層の球面収差を /n で二重換算する誤りを直し、Snell 光線式を独立な真値にした実行では、ホウケイ酸クラウン 500 µm の近軸補正が −1.81 µm、NA 補正後が −0.053 µm、サファイア・PMMAを含む4枚の最大相対誤差が 7.75e−4。瞳重なり式とモンテカルロの最大差は 0.0011。金反射率や白色参照で割る補正は合成に使った同じ曲線を使う理想上限で、実機較正の検証ではない。公開論文図から読んだ 66.095 µm などは環境変数がある時だけ走る記録値であり、今回の実行では未確認。数値模型から透明板補正の実機精度までは言えない。

クロマティック共焦点変位センサ ―― 硝材の分散で「虹のものさし」を作り、戻ってきた色で高さを読む

↑ クロマティック共焦点変位センサ ―― 硝材の分散で「虹のものさし」を作り、戻ってきた色で高さを読む ―― クロマティック共焦点センサをレンズ処方と材料分散から組み立てた数値模型。450〜700 nm の焦点範囲は 1,191 µmで、近軸焦点と軸応答幅は閉形式に一致する。推定法の偏りはガウス 0.060、放物線 0.108、重心 0.293、最大ビン 2.04 µmで、鏡を動かす合成較正後はガウス 0.014、放物線 0.090 µm。透明板は空気側から見た見かけ深さを読み、実空間の厚さへ戻す。第 1 層の球面収差を /n で二重換算する誤りを直し、Snell 光線式を独立な真値にした実行では、ホウケイ酸クラウン 500 µm の近軸補正が −1.81 µm、NA 補正後が −0.053 µm、サファイア・PMMAを含む4枚の最大相対誤差が 7.75e−4。瞳重なり式とモンテカルロの最大差は 0.0011。金反射率や白色参照で割る補正は合成に使った同じ曲線を使う理想上限で、実機較正の検証ではない。公開論文図から読んだ 66.095 µm などは環境変数がある時だけ走る記録値であり、今回の実行では未確認。数値模型から透明板補正の実機精度までは言えない。

左: 単レンズの範囲 1191 µm、ハイパークロマート 1842 µm(焦点距離あたり 1.63 倍)。近軸焦点は閉形式と 4e-12 µm で一致(点)。右: 鏡で較正したピークは近軸焦点から縦球面収差のほぼ半分だけずれる —— 450

↑ 測定の図 ―― 左: 単レンズの範囲 1191 µm、ハイパークロマート 1842 µm(焦点距離あたり 1.63 倍)。近軸焦点は閉形式と 4e-12 µm で一致(点)。右: 鏡で較正したピークは近軸焦点から縦球面収差のほぼ半分だけずれる —— 450 nm で -20.0 µm。575 nm では 0(非球面で消した色)。

鏡面の応答は sinc²(u/2)、FWHM = 0.443 λ/(1 − cos α)(∝ λ/NA²)。

↑ 鏡面の応答は sinc²(u/2)、FWHM = 0.443 λ/(1 − cos α)(∝ λ/NA²)。

段差は 49.959 µm と読める(RMS 誤差 0.276 µm)。

↑ 段差は 49.959 µm と読める(RMS 誤差 0.276 µm)。

左: 透明な板は表と裏の 2 ピーク。

↑ 左: 透明な板は表と裏の 2 ピーク。

(a) 鏡面の傾きが 8.8°(sin 2θ = 2NA)を超えると何も戻らない(瞳の光線のモンテカルロと一致)。

↑ (a) 鏡面の傾きが 8.8°(sin 2θ = 2NA)を超えると何も戻らない(瞳の光線のモンテカルロと一致)。

上: 虹のものさし(焦点付近の光線)と面(灰色の縦線)。下: ピンホールへ戻るスペクトル(棒の色はその波長の色、ピーク 3000 光子 + 読出し雑音)。面を遠ざけると、ピントの合う色が青から赤へ移り、戻る色が変わる。ピーク波長を較正表で引

↑ 動く図 ―― 上: 虹のものさし(焦点付近の光線)と面(灰色の縦線)。下: ピンホールへ戻るスペクトル(棒の色はその波長の色、ピーク 3000 光子 + 読出し雑音)。面を遠ざけると、ピントの合う色が青から赤へ移り、戻る色が変わる。ピーク波長を較正表で引くと高さになる。

py -3.11 examples/poc_chromatic_confocal.py

ソース: examples/poc_chromatic_confocal.py

この回が作った図は全部で 8 枚あります —— 全部見る

使用 op(ノートへ): abbe_number · chromatic_confocal_limits · chromatic_confocal_peaks · chromatic_confocal_probe · chromatic_confocal_readout · chromatic_confocal_spectrum · cie_xyz_from_wavelength · confocal_axial_response · gaussian · led_spectrum · lens_system · material_optical_constants · material_reflectance · paraxial_trace · plate_focus_shift · text_box · trace_rays · with_wavelength

No.2026.245 —— 仮想 SEM ―― 電子を 1 個ずつ固体に撃つと、加速電圧で像も測れる線幅も変わる(実測値で採点)

SEM の像は表面の写真ではなく、固体の中で散乱した電子のうち外へ出てきたものの集計である。電子を一つずつ追う模型を組み、反射電子の量を 7 元素の実測データベースと照合した。同じ線でも加速電圧を変えると、側壁のどの高さを線幅として測っているかが変わる。

仮想 SEM ―― 電子を 1 個ずつ固体に撃つと、加速電圧で像も測れる線幅も変わる(実測値で採点)

↑ 仮想 SEM ―― 電子を 1 個ずつ固体に撃つと、加速電圧で像も測れる線幅も変わる(実測値で採点) ―― 走査電子顕微鏡(SEM)の像は表面の写真ではなく、固体の中で散乱する一次電子の相互作用の体積から何が出てきたかの集計である。新 op 8 本(sem_electron_mc / sem_yield_curve / sem_se_universal_curve / sem_line_profile / sem_cd_measure / sem_image / sem_charging_series / sem_se_escape_fraction)と材料表の material_electron_properties で、一次電子を 1 個ずつ追うモンテカルロ(Joy の単散乱、弾性散乱は Browning 1994 の Mott 近似、阻止能は Joy-Luo)を組み、各段を外の実測値で採点した。反射電子係数 η は 7 元素(C〜Au)× 5/10/20/30 keV の全部が Joy のデータベースの実測の幅 ± 0.04 に入り、遮蔽ラザフォードに戻すと W・Au で外れる。最大の到達深さは Kanaya-Okayama の 0.83〜1.04 倍、深さは E^1.75(Si)/ E^1.52(Au)で伸びる(KO は 1.67)。二次電子の収率の形は C〜Ag の 5 元素で Lin & Joy 2005 の普遍曲線に RMS ≤ 0.076、Emax は表の −4〜+7 %(合わせていない)。W・Au は裾が厚く合わない(SE2 が主、未解決)。★ユーザーの見立て「Si の上の W は SE では見えず、反射電子の Z コントラストで浮かぶ」は条件つきで当たった: 段差の無い W を 1 kV で見たときだけ(SE +5 %、反射電子 +96 %)。5 kV では SE も +80 % —— 反射電子が表面を抜けるときに作る SE2 が Z を運ぶ。深さ 150 nm に埋もれた W は 1 kV では反射電子でも +3 %、20 kV で +154 %(情報深さ)。CD-SEM では PMMA の線(底辺 40 nm)を側壁 88 度で測ると、しきい値法の線幅が 1 kV 39.1 nm / 20 kV 39.9 nm ―― 低加速は側壁の上寄り(0.33)、高加速は根元(0.03)を測る。ただし側壁 80 度では差が小さく向きも逆で、「低加速ほど上を測る」は一般則ではない。垂直の側壁はどの電圧でも太く測る(+0.3〜+1.0 nm)。帯電は、η + δ > 1 の 0.5 kV で正に溜まって暗くなり、η + δ·F(V) = 1 を二分法で別に解いた電位に 2e-15 V で止まる。20 kV は負に溜まり続けて明るくなる(現象論)。途中で見つけた欠陥も残す: 自由行程を出発点の材料で引いたまま材料の境界を素通りしていて、0.01 nm の Si のキャップで W の η が 0.425 → 0.329 に跳んでいた(境界で歩を切って直し、回帰の門にした)。実画像の章は未実施(線幅の真値つきの CC BY の CD-SEM 像が見つからない)。*

δ(E) を各元素の MC の山(Emax, δmax)で割った形(横軸は対数)。破線は Lin & Joy 2005 の普遍曲線(式 12)。C〜Ag の 5 元素は重なる。W と Au(赤)は E > 3 Emax で裾が厚い —— 重

↑ 測定の図 ―― δ(E) を各元素の MC の山(Emax, δmax)で割った形(横軸は対数)。破線は Lin & Joy 2005 の普遍曲線(式 12)。C〜Ag の 5 元素は重なる。W と Au(赤)は E > 3 Emax で裾が厚い —— 重元素は反射電子が多く、表面を抜けるときに作る SE2 が主になるので、SE1 だけを仮定した普遍曲線からずれる(未解決のまま数で固定)。

レンズ内の SE の線プロファイル(基板の水準で割った)。

↑ レンズ内の SE の線プロファイル(基板の水準で割った)。

PMMA の線(高さ 40 nm)を Si の上で。

↑ PMMA の線(高さ 40 nm)を Si の上で。

Si に埋もれた W(幅 100 nm、厚さ 60 nm)の、真上と 400 nm 離れた Si の平均との比 − 1(反射電子 / レンズ内 SE)。

↑ Si に埋もれた W(幅 100 nm、厚さ 60 nm)の、真上と 400 nm 離れた Si の平均との比 − 1(反射電子 / レンズ内 SE)。

各パネルは Si の水準で割った信号(0〜3 で共通の濃淡)。

↑ 各パネルは Si の水準で割った信号(0〜3 で共通の濃淡)。

Si の上の PMMA の線を 5 kV で 24 コマ走査し続けた像。PMMA だけが負に帯電して明るくなり、接地した Si は変わらない。

↑ 動く図 ―― Si の上の PMMA の線を 5 kV で 24 コマ走査し続けた像。PMMA だけが負に帯電して明るくなり、接地した Si は変わらない。

py -3.11 examples/poc_virtual_sem_kv_cd_bse.py

ソース: examples/poc_virtual_sem_kv_cd_bse.py

この回が作った図は全部で 9 枚あります —— 全部見る

使用 op(ノートへ): material_electron_properties · sem_cd_measure · sem_charging_series · sem_electron_mc · sem_image · sem_line_profile · sem_se_escape_fraction · sem_se_universal_curve · sem_yield_curve · threshold

No.2026.246 —— 仮想の透過電子顕微鏡 ―― 焦点を振ると Thon リング(TEMパワースペクトルのCTF同心環)が動き、細部が反転し、実写の写真から焦点外れを当てる

透過電子顕微鏡の像は、焦点の外し方によって細部の明暗が反転する。この結像を組み立て、公開の実写 3 枚から焦点外れを推定すると、著者の解析ソフトの値とほぼ一致した。焦点を振ると、パワースペクトルの同心円が動き、正焦点の近くで細部が反転する。

仮想の透過電子顕微鏡 ―― 焦点を振ると Thon リング(TEMパワースペクトルのCTF同心環)が動き、細部が反転し、実写の写真から焦点外れを当てる

↑ 仮想の透過電子顕微鏡 ―― 焦点を振ると Thon リング(TEMパワースペクトルのCTF同心環)が動き、細部が反転し、実写の写真から焦点外れを当てる ―― 透過電子顕微鏡は薄い試料を透けた電子の位相を、球面収差 Cs と焦点外れ Δf で強度に変える。その変え方 CTF = −sin(χ + arcsin w) は周波数ごとに符号が入れ替わり、パワースペクトルに零点の同心円(Thon リング)を描く。新 op 11 本(temsim、opsoptics の tem): tem_wavelength / tem_scherzer / tem_ctf / tem_ctf_profile / tem_projected_potential / tem_amorphous_film / tem_image_weak_phase / tem_multislice / tem_power_spectrum / tem_ctf_estimate / tem_ctf_correct。結像は coherent_image に瞳 e^{iχ} を渡し、電子の散乱因子は pxrd の X 線の因子から Mott–Bethe で作り、リングの周期の初期値は k² について不等間隔の標本に lomb_scargle、フレームの位置合わせは phase_correlation_fft(どれも既存の op)。波長は公表値と 5 桁(300 kV で 1.9687 pm、補正なしは 13.7 % 長い)、零点は閉形式と 1.7e-12 Å⁻¹、Scherzer 焦点の最初の零点は 0.6580 Cs^¼ λ^¾、正弦位相格子の回折は J_n(φ₀)² と 1.6e-13。Si の平均内部ポテンシャルは中性原子の値 13.71 V に対して 13.83 V(実測 12.48 V より高いのは結合の分)。★Cu の f_e(0) は 10.5 % 小さい(X 線の当てはめの限界)。像が投影ポテンシャルに最もよく似る焦点は 900 Å で Scherzer 842 Å の 7 % 以内、正焦点では細部が反転する(相関 −0.30)。合成の写真 4 枚で Δf を 13 Å 以内、非点収差を 50 Å・5.2° 以内で回収し、jackknife の σ が誤差を覆う。雑音だけ・線量不足・正焦点の近く・タイルが 9 枚しかなく別の谷に落ちた当てはめ、の 4 例はすべて拒否。画素寸法を 2 % 間違えると Δf は 1.039 倍(閉形式 1.0404)。ドリフトした 10 枚は和にするとリングが消え(当てはまりの分解能 15.6 Å)、合わせると戻る(5.3 Å)。位相反転で投影ポテンシャルとの相関は 0.09 → 0.84、ウィーナーで 0.87、Δf を 10 % 間違えると 0.10。★実写(EMPIAR-10028、CC0)3 枚で、著者の CTFFIND3 の値と −55 / +65 / −0.5 Å(0.2 % 以内)。学習 0、較正 0、門 36 件。

用語: Thon rings — TEM像のパワースペクトルに現れる同心円で、CTFの零点と符号反転を反映し、デフォーカスや非点収差の推定に使う。; CTF — 透過電子顕微鏡で、試料の空間周波数成分が収差とデフォーカスにより像へどの符号・強さで伝わるかを表す関数。

焦点外れ Δf を 0.3 → 3 µm と振る(300 kV、Cs 2.7 mm、非晶質炭素 50 Å、40 e/Ų 相当の雑音)。左はパワースペクトル(k ≤ 0.25 Å⁻¹、動径の背景で割った)、右は同じ写真の一部。Thon リン

↑ 測定の図 ―― 焦点外れ Δf を 0.3 → 3 µm と振る(300 kV、Cs 2.7 mm、非晶質炭素 50 Å、40 e/Ų 相当の雑音)。左はパワースペクトル(k ≤ 0.25 Å⁻¹、動径の背景で割った)、右は同じ写真の一部。Thon リングは Δf とともに内側へ詰まり、写真の粒状の模様が細かくなる。

CTF = −sin(χ + arcsin w) に空間・時間の包絡を掛けた曲線(300 kV、Cs 2.7 mm、照明の半角 0.05 mrad、焦点の広がり 60 Å)。

↑ CTF = −sin(χ + arcsin w) に空間・時間の包絡を掛けた曲線(300 kV、Cs 2.7 mm、照明の半角 0.05 mrad、焦点の広がり 60 Å)。

真値 Δf 25000 Å・非点収差 1500 Å・75° の合成写真。

↑ 真値 Δf 25000 Å・非点収差 1500 Å・75° の合成写真。

10 枚が 1 枚あたり (2.0, 0.6) 画素ずつドリフト。

↑ 10 枚が 1 枚あたり (2.0, 0.6) 画素ずつドリフト。

EMPIAR-10028 part1_001 の 1024 × 1024 画素(1.34 Å/画素)。

↑ EMPIAR-10028 part1_001 の 1024 × 1024 画素(1.34 Å/画素)。

py -3.11 examples/poc_tem_ctf_thon_rings.py

ソース: examples/poc_tem_ctf_thon_rings.py

この回が作った図は全部で 16 枚あります —— 全部見る

使用 op(ノートへ): tem_amorphous_film · tem_ctf · tem_ctf_correct · tem_ctf_estimate · tem_ctf_profile · tem_image_weak_phase · tem_multislice · tem_power_spectrum · tem_projected_potential · tem_scherzer · tem_wavelength

No.2026.250 —— 分光器と照明系 ―― 帯域の幅はスリットと格子のどこから来るか、光源の模様は視野に写るか

ハイパースペクトルの PoC は「帯域の幅 10 nm」、クロマティック共焦点の PoC は「分光器の線幅」を与えられた数字として使っていた。その数字を、入口スリット・格子の溝・鏡の焦点距離・検出器の画素から格子の式で組み立てる。同じく顕微鏡と同軸落射の照明のむらを、光源のどの面がどこへ写るか(共役)から出す。新 op 8 本: gratingspec(opsoptics の新カテゴリ spectrometer)の grating_dispersion(格子の式・分散・分解能 mN・重なる次数)/ czerny_turner_design(帯域と検出器からカメラの焦点距離、Shafer のコマの条件)/ spectrometer_bandpass(スリットの像 ⊗ 画素 ⊗ 回折の装置関数の FWHM とエタンデュ)/ spectrometer_slit_image(溝に沿った方向余弦を保つ 3 次元の格子の式で smile と keystone)/ spectrometer_spectrum(入力スペクトル → 画素の読み、2 次・3 次の重なり)、illumdesign の illumination_train(ケーラー / クリティカルの共役)/ illumination_field(標本の点と方向から光源まで近軸で逆に追う放射照度)/ coaxial_illumination(ハーフミラーの往復 R·T と、鏡面・つや消しの部品の像)。★公表の分光器(CC BY 4.0 の論文 2 本): Shafer の条件でカメラ鏡の軸外し角 14.9679°(公表 14.968°)、式 (16) のカメラの焦点距離 68.88 mm(公表 r = 136 mm)、M 型の像の幅 39.2 / 43.7 / 52.6 µm(公表 40 / 43 / 50)と分解能 0.397 nm(公表 0.385〜0.391)。Feng 2021 の中心 0.4 nm だけは、本文の値からスリットの像だけで 0.49 nm になり合わない(差は残す)。★取引: 細いスリットは回折の床 0.886 λ/(mN) で止まり(矩形の瞳で 5e-4 以内)、広いスリットでは光の量 × 分解能 = 一定。Hg の 576.96 / 579.07 nm はスリット 50 µm(FWHM 0.79 nm)で分かれ、150 µm(2.37 nm)では山が 1 つに化ける。★smile: 長さ 4 mm のスリットの像は端で 41.9 µm(3 画素)長い波長の側へ曲がり、閉形式 y’²(sin α + sin β)/(2 f cos β) と 0.2 % 以内、Littrow の曲率半径 f/(2 tan β) と 1e-9。面内の式を流用した壊した模型は曲がりが 0 で門に落ちる。keystone は端の 750 nm で 60 µm。★迷光の次数: Hg ランプの 253.65 / 365.02 nm が 2 次で 507.30 / 730.04 nm の画素に偽の線を作り、ロングパス 400 nm で消える。★HSI(900〜1700 nm、150 本/mm、InGaAs 15 µm): HSI の PoC の「10 nm」はスリット 75 µm に当たる(全帯域で 10.01〜10.03 nm)、25 µm なら 3.4 nm、8 µm 以下で画素の 1.5 nm。装置関数は台形でガウスではない。★クロマティック共焦点: 可視の分光器のスリットを 25 → 400 µm に広げると、ホウケイ酸クラウンの 40 µm の板から順に表裏の 2 ピークが潰れ、400 µm では 100 µm の板まで readout が拒否する。★照明: コイルの縞の光源をクリティカル照明は視野に写し(CV 0.53)、ケーラー照明は消す(CV 2e-16)。視野の直径 = 視野絞り × M 、E = L π NA² を 1 % で。開口絞りをコンデンサの焦点面から 4 mm 外す探針で縞が漏れる。同軸は往復 R·T = 1/4(optscene の同軸の光と同じ値)、吸収 6 % で最適 R = 0.47、鏡面の部品はパネルを 1 + h/H 倍に引き伸ばして写し(端のけられは閉形式どおり)、テレセントリックは 1 倍、つや消しは長方形の Lambert 面の閉形式と 0.2 % 以内。学習 0、較正 0、門 40 件。

分光器と照明系 ―― 帯域の幅はスリットと格子のどこから来るか、光源の模様は視野に写るか

*↑ 分光器と照明系 ―― 帯域の幅はスリットと格子のどこから来るか、光源の模様は視野に写るか ―― ハイパースペクトルの PoC は「帯域の幅 10 nm」、クロマティック共焦点の PoC は「分光器の線幅」を与えられた数字として使っていた。その数字を、入口スリット・格子の溝・鏡の焦点距離・検出器の画素から格子の式で組み立てる。同じく顕微鏡と同軸落射の照明のむらを、光源のどの面がどこへ写るか(共役)から出す。新 op 8 本: gratingspec(opsoptics の新カテゴリ spectrometer)の grating_dispersion(格子の式・分散・分解能 mN・重なる次数)/ czerny_turner_design(帯域と検出器からカメラの焦点距離、Shafer のコマの条件)/ spectrometer_bandpass(スリットの像 ⊗ 画素 ⊗ 回折の装置関数の FWHM とエタンデュ)/ spectrometer_slit_image(溝に沿った方向余弦を保つ 3 次元の格子の式で smile と keystone)/ spectrometer_spectrum(入力スペクトル → 画素の読み、2 次・3 次の重なり)、illumdesign の illumination_train(ケーラー / クリティカルの共役)/ illumination_field(標本の点と方向から光源まで近軸で逆に追う放射照度)/ coaxial_illumination(ハーフミラーの往復 R·T と、鏡面・つや消しの部品の像)。★公表の分光器(CC BY 4.0 の論文 2 本): Shafer の条件でカメラ鏡の軸外し角 14.9679°(公表 14.968°)、式 (16) のカメラの焦点距離 68.88 mm(公表 r = 136 mm)、M 型の像の幅 39.2 / 43.7 / 52.6 µm(公表 40 / 43 / 50)と分解能 0.397 nm(公表 0.385〜0.391)。Feng 2021 の中心 0.4 nm だけは、本文の値からスリットの像だけで 0.49 nm になり合わない(差は残す)。★取引: 細いスリットは回折の床 0.886 λ/(mN) で止まり(矩形の瞳で 5e-4 以内)、広いスリットでは光の量 × 分解能 = 一定。Hg の 576.96 / 579.07 nm はスリット 50 µm(FWHM 0.79 nm)で分かれ、150 µm(2.37 nm)では山が 1 つに化ける。★smile: 長さ 4 mm のスリットの像は端で 41.9 µm(3 画素)長い波長の側へ曲がり、閉形式 y’²(sin α + sin β)/(2 f cos β) と 0.2 % 以内、Littrow の曲率半径 f/(2 tan β) と 1e-9。面内の式を流用した壊した模型は曲がりが 0 で門に落ちる。keystone は端の 750 nm で 60 µm。★迷光の次数: Hg ランプの 253.65 / 365.02 nm が 2 次で 507.30 / 730.04 nm の画素に偽の線を作り、ロングパス 400 nm で消える。★HSI(900〜1700 nm、150 本/mm、InGaAs 15 µm): HSI の PoC の「10 nm」はスリット 75 µm に当たる(全帯域で 10.01〜10.03 nm)、25 µm なら 3.4 nm、8 µm 以下で画素の 1.5 nm。装置関数は台形でガウスではない。★クロマティック共焦点: 可視の分光器のスリットを 25 → 400 µm に広げると、ホウケイ酸クラウンの 40 µm の板から順に表裏の 2 ピークが潰れ、400 µm では 100 µm の板まで readout が拒否する。★照明: コイルの縞の光源をクリティカル照明は視野に写し(CV 0.53)、ケーラー照明は消す(CV 2e-16)。視野の直径 = 視野絞り × M 、E = L π NA² を 1 % で。開口絞りをコンデンサの焦点面から 4 mm 外す探針で縞が漏れる。同軸は往復 R·T = 1/4(optscene の同軸の光と同じ値)、吸収 6 % で最適 R = 0.47、鏡面の部品はパネルを 1 + h/H 倍に引き伸ばして写し(端のけられは閉形式どおり)、テレセントリックは 1 倍、つや消しは長方形の Lambert 面の閉形式と 0.2 % 以内。学習 0、較正 0、門 40 件。*

スリットの幅で帯域の幅とエタンデュがどう動くか(1200 本/mm、M 型 2025 の設計、625 nm)。左: 細いスリットは回折の床 0.886 λ / (mN) で止まり、NA を上げて照らす溝を増やすと床が下がる。右: 広いスリッ

↑ 測定の図 ―― スリットの幅で帯域の幅とエタンデュがどう動くか(1200 本/mm、M 型 2025 の設計、625 nm)。左: 細いスリットは回折の床 0.886 λ / (mN) で止まり、NA を上げて照らす溝を増やすと床が下がる。右: 広いスリットでは光の量と分解能の積が一定(傾き −1)、細くしていくと床に当たって光だけを失う。

Hg の黄色の 2 本を、スリットの幅を変えて読む。

↑ Hg の黄色の 2 本を、スリットの幅を変えて読む。

1 次の 500〜750 nm の検出器に、紫外の Hg 線の 2 次の像が偽の線として乗る(効率 0.3 の模型)。

↑ 1 次の 500〜750 nm の検出器に、紫外の Hg 線の 2 次の像が偽の線として乗る(効率 0.3 の模型)。

可視の分光器(600 本/mm)のスリットを広げると、薄い板の表裏の 2 ピークが 1 つに潰れ、readout は厚さを当て推量せず拒否する。

↑ 可視の分光器(600 本/mm)のスリットを広げると、薄い板の表裏の 2 ピークが 1 つに潰れ、readout は厚さを当て推量せず拒否する。

同軸落射(視野 44 mm 角): 鏡面の部品はパネルそのものを写す(R·T = 1/4)。

↑ 同軸落射(視野 44 mm 角): 鏡面の部品はパネルそのものを写す(R·T = 1/4)。

py -3.11 examples/poc_spectrometer_illumination.py

ソース: examples/poc_spectrometer_illumination.py

この回が作った図は全部で 10 枚あります —— 全部見る

使用 op(ノートへ): chromatic_confocal_peaks · chromatic_confocal_probe · chromatic_confocal_readout · chromatic_confocal_spectrum · coaxial_illumination · czerny_turner_design · grating_dispersion · illumination_field · illumination_train · spectrometer_bandpass · spectrometer_slit_image · spectrometer_spectrum · text_box · wave_grating_orders

No.2026.251 —— 格子干渉計 ―― 吸収では見えない繊維の向き・微小な割れ・気孔を、縞の振幅(暗視野)で見る

吸収ではほとんど見えない繊維の向き・幅 2 µm の割れ・気孔の群を、X 線の格子干渉計の暗視野(縞の振幅の落ち方)で見る。新 op 8 本(gratinginterf、opsoptics の grating_interf): 設計の閉形式 talbot_grating_design(位相 π / π/2 / 吸収格子の分数タルボ距離、円錐ビームの d’ = Ld/(L − d)、分析格子と Lau の線源格子の周期)、talbot_carpet(格子の後ろの強度 I(x, z) を回折次数の和で)、talbot_source_visibility(線源の幅・ガウスの焦点・線源格子で縞の可視度が何倍に落ちるか)、順モデル grating_stepping_simulate、grating_step_period_estimate(1 周期が何ステップかを残差の最小で)、grating_three_image_retrieve(試料と基準の 2 組 → 透過・微分位相・暗視野)、darkfield_scatter_relation(暗視野 → 散乱角の広がり)、dpc_integrate(微分位相 → 位相 → 厚さ、折り返しは拒否)。タルボ絨毯(格子の後ろの強度 I(x, z) を距離 z に沿って並べ、縞が現れては消える模様を織物に見立てた図)の縞の可視度の極大 4 本が分数タルボ距離 (m − 1/2)p²/(4λ) と格子 0.89 mm 以内、高さ 1.2732(方形波の基本波 4/π)、標本化した場の FFT 伝搬(第 2 実装)と 8e-4。焦点 2 mm では縞が ×0.001 に消え、Lau の条件の線源格子(41 本)で 2/π = 0.637 まで戻り、周期を 1/41 ずらすと再び消える(線源の点の和と 6e-5)。短繊維強化樹脂の板では、幅 2 µm の割れが暗視野で CNR 13.5(吸収 1.34)、4 方位の暗視野の cos 2ω から繊維の向きを中央値 2.7°・90 % 点 6.6° で戻し、穴の後ろの合流線の 90° を 89.8° と読む。★探針: 0/90° の 2 方位だけでは斜めの繊維の誤差が 30.3°。丸棒の厚さは微分位相の積分で 1.0 % 以内、感度を上げて本当の φ が π を超えると拒否する。★正直な限界: 鋭い縁の 1 画素だけが π を超える板は折り返しが見えず、中央の厚さを −857 µm(真値 2000)と黙って間違える。1 周期 20.85 段の走査を P = N と仮定すると微分位相の誤差 0.063 rad、推定した P で 0.022 rad。★残差をあてた平均で割ると最小が +0.03 段偏る(op は素の平均で割る)。実データ(CC BY 4.0、Zenodo 16944391): 基準 22 枚・試料 24 枚の 1 周期は 20.80・22.30 段(残差 0.0073 → 0.0044)、吸収の強い球は散乱が弱く(−ln D 0.17)繊維の束は散乱が強い(0.55)、球の左右の縁で微分位相の符号が逆。学習 0、較正 0、門 22 件(実データの章を走らせたとき。データが無い・CI では 19 件)。

格子干渉計 ―― 吸収では見えない繊維の向き・微小な割れ・気孔を、縞の振幅(暗視野)で見る

*↑ 格子干渉計 ―― 吸収では見えない繊維の向き・微小な割れ・気孔を、縞の振幅(暗視野)で見る ―― 吸収ではほとんど見えない繊維の向き・幅 2 µm の割れ・気孔の群を、X 線の格子干渉計の暗視野(縞の振幅の落ち方)で見る。新 op 8 本(gratinginterf、opsoptics の grating_interf): 設計の閉形式 talbot_grating_design(位相 π / π/2 / 吸収格子の分数タルボ距離、円錐ビームの d’ = Ld/(L − d)、分析格子と Lau の線源格子の周期)、talbot_carpet(格子の後ろの強度 I(x, z) を回折次数の和で)、talbot_source_visibility(線源の幅・ガウスの焦点・線源格子で縞の可視度が何倍に落ちるか)、順モデル grating_stepping_simulate、grating_step_period_estimate(1 周期が何ステップかを残差の最小で)、grating_three_image_retrieve(試料と基準の 2 組 → 透過・微分位相・暗視野)、darkfield_scatter_relation(暗視野 → 散乱角の広がり)、dpc_integrate(微分位相 → 位相 → 厚さ、折り返しは拒否)。タルボ絨毯(格子の後ろの強度 I(x, z) を距離 z に沿って並べ、縞が現れては消える模様を織物に見立てた図)の縞の可視度の極大 4 本が分数タルボ距離 (m − 1/2)p²/(4λ) と格子 0.89 mm 以内、高さ 1.2732(方形波の基本波 4/π)、標本化した場の FFT 伝搬(第 2 実装)と 8e-4。焦点 2 mm では縞が ×0.001 に消え、Lau の条件の線源格子(41 本)で 2/π = 0.637 まで戻り、周期を 1/41 ずらすと再び消える(線源の点の和と 6e-5)。短繊維強化樹脂の板では、幅 2 µm の割れが暗視野で CNR 13.5(吸収 1.34)、4 方位の暗視野の cos 2ω から繊維の向きを中央値 2.7°・90 % 点 6.6° で戻し、穴の後ろの合流線の 90° を 89.8° と読む。★探針: 0/90° の 2 方位だけでは斜めの繊維の誤差が 30.3°。丸棒の厚さは微分位相の積分で 1.0 % 以内、感度を上げて本当の φ が π を超えると拒否する。★正直な限界: 鋭い縁の 1 画素だけが π を超える板は折り返しが見えず、中央の厚さを −857 µm(真値 2000)と黙って間違える。1 周期 20.85 段の走査を P = N と仮定すると微分位相の誤差 0.063 rad、推定した P で 0.022 rad。★残差をあてた平均で割ると最小が +0.03 段偏る(op は素の平均で割る)。実データ(CC BY 4.0、Zenodo 16944391): 基準 22 枚・試料 24 枚の 1 周期は 20.80・22.30 段(残差 0.0073 → 0.0044)、吸収の強い球は散乱が弱く(−ln D 0.17)繊維の束は散乱が強い(0.55)、球の左右の縁で微分位相の符号が逆。学習 0、較正 0、門 22 件(実データの章を走らせたとき。データが無い・CI では 19 件)。*

用語: Talbot effect — 周期構造をコヒーレント光で照明すると、自由空間伝搬の特定距離でその像や分数周期像がレンズなしに再生する近接回折現象。; Lau — 空間的に非干渉な拡張光源を線源格子で分割し、周期条件を合わせて別の格子像の可視度を回復する干渉配置。

位相 π の格子(28 keV、p1 = 4.36 µm)の後ろの強度 I(x, z)。横 = 第 1 格子からの距離 0〜z_T/2(429 mm)、縦 = 2 周期。周期 p1/2 の縞が結ぶ距離が分数タルボ距離 (m − 1/2)p1

↑ 測定の図 ―― 位相 π の格子(28 keV、p1 = 4.36 µm)の後ろの強度 I(x, z)。横 = 第 1 格子からの距離 0〜z_T/2(429 mm)、縦 = 2 周期。周期 p1/2 の縞が結ぶ距離が分数タルボ距離 (m − 1/2)p1²/(4λ) = 54, 161, 268, 376 mm。z = 0 は純粋な位相格子なので強度は一様(縞が無い)。

点線 = 閉形式の距離。

↑ 点線 = 閉形式の距離。

開口 1/2 の線源格子。

↑ 開口 1/2 の線源格子。

中央: 色相 = 向き、明るさ = 異方性の強さ。

↑ 中央: 色相 = 向き、明るさ = 異方性の強さ。

正直な限界: 鋭い縁の 1 画素だけが π を超える板は、折り返した値が背景と π 以内に収まるので見えずに通る(中央の厚さ -857 µm、真値 2000 µm)。

↑ 正直な限界: 鋭い縁の 1 画素だけが π を超える板は、折り返した値が背景と π 以内に収まるので見えずに通る(中央の厚さ -857 µm、真値 2000 µm)。

格子の向きを 0〜180° に回したときの暗視野(4 方位から戻した a、b、θ で描く)。繊維が格子の感度の向きに直交すると暗くなり、明暗の帯が向きの場に沿って流れる。

↑ 動く図 ―― 格子の向きを 0〜180° に回したときの暗視野(4 方位から戻した a、b、θ で描く)。繊維が格子の感度の向きに直交すると暗くなり、明暗の帯が向きの場に沿って流れる。

py -3.11 examples/poc_grating_interferometry.py

ソース: examples/poc_grating_interferometry.py

この回が作った図は全部で 12 枚あります —— 全部見る

使用 op(ノートへ): angular_spectrum_propagate · dpc_integrate · grating_step_period_estimate · grating_stepping_simulate · grating_three_image_retrieve · talbot_carpet · talbot_grating_design · talbot_source_visibility

No.2026.255 —— 肉の中の骨片とガラスを、2 つのエネルギーで材質ごとに分ける(デュアルエナジー / フォトンカウンティング X 線)

食品の X 線検査の透過像では、厚い肉と薄い硬い異物を区別できない。光子のエネルギーを 2 つの窓で数え分けて厚みと材質に分けると、肉の重なりが作った偽の異物が消えた。分けられなくなるアルミの厚さも、閉形式の予測どおりに現れた。

肉の中の骨片とガラスを、2 つのエネルギーで材質ごとに分ける(デュアルエナジー / フォトンカウンティング X 線)

↑ 肉の中の骨片とガラスを、2 つのエネルギーで材質ごとに分ける(デュアルエナジー / フォトンカウンティング X 線) ―― 食品の X 線検査の 1 枚の透過像は各画素で L = −ln(I/I₀) という 1 つの数しか測らない —— 厚い肉と薄い硬い異物は区別できない。光子のエネルギーを 2 つの窓で数え分ける検出器で撮ると、μ(E) の形が材質で違うので、各画素で厚みと材質が分かれる(Alvarez & Macovski 1976 の基底分解)。新 op 14 本(opstomography の spectral_xray): 材料表の X 線の列(material_xray_attenuation ほか 3 本、NIST SRD 126 の部分集合と混合則)と dualxray 10 本(X 線管のスペクトル・線質・検出器のチャネル・投影・基底分解・CRLB・R 値・実効 Z・弁別の誤り率)。μ/ρ は NIST の公表値と一致(Cu 8 keV 52.55、K 端 38.4 → 278.4)、管の模型の半価層は IEC 61267 の線質 8 つと 5.8 % 以内(模型は公開のスペクトル計算(MIT)の形に合わせ、IEC の値は合わせに使っていない)。厚さ 25〜60 mm の肉のトレイで、骨片とガラスの段差は肉のむらの 0.9 倍、しきい値 1 本では肉の 86 % を誤検出、高域を取っても肉の重なりの縁が偽の塊 2 個になるが、赤身 + Al に分けた Al の像は偽の塊 0。厚い PE と薄い Al の交絡の組は 1 つの窓では d′ = 0、2 つの窓の誤り率 Φ(−d′/2) はモンテカルロと 0.004 以内、分けられなくなる Al の厚さ(誤り率 5 %)は閉形式 0.125 mm・実測 0.126 mm、肉 40 mm の下で 0.364 mm。分解の雑音はクラメール・ラオの下限の 0.995 / 0.997 倍。壊れ方: 電荷共有 25 % を知らずに分解すると肉が Al に化け、単色の近似は肉 6 cm で Al −1.5 mm に偏る。埋まった異物の見かけの Z は密度でも動く(PVC は 13.9 が 18.7 に見える)。学習 0、較正 0、門 21 件。

W 陽極の管(Kramers の厚い陽極 + 自己吸収 + K 線 59 / 67 keV)を Al 2.5 mm で濾した光子スペクトル(半価層 2.74 mm Al、平均 42.6 keV)。CdTe 2 mm の吸収効率をかけ、堆積エ

↑ 測定の図 ―― W 陽極の管(Kramers の厚い陽極 + 自己吸収 + K 線 59 / 67 keV)を Al 2.5 mm で濾した光子スペクトル(半価層 2.74 mm Al、平均 42.6 keV)。CdTe 2 mm の吸収効率をかけ、堆積エネルギーで 2 つの窓に分ける。

低いエネルギーでは光電効果(≈ Z³/E³)で Z の大きい材料ほど急に増え、高いエネルギーではコンプトン散乱で電子密度に揃う。

↑ 低いエネルギーでは光電効果(≈ Z³/E³)で Z の大きい材料ほど急に増え、高いエネルギーではコンプトン散乱で電子密度に揃う。

1 枚の透過像(灰色)の上に、Al の像で浮いた画素だけ、基底の向きから読んだ見かけの Z を色で重ねた(緑 ≈ 12〜14、黄〜橙 ≈ 15〜20、赤 ≈ 25 以上)。

↑ 1 枚の透過像(灰色)の上に、Al の像で浮いた画素だけ、基底の向きから読んだ見かけの Z を色で重ねた(緑 ≈ 12〜14、黄〜橙 ≈ 15〜20、赤 ≈ 25 以上)。

高い窓だけでは同じ L(1 枚の像の d′ = 0)。

↑ 高い窓だけでは同じ L(1 枚の像の d′ = 0)。

肉 4 cm の下の Al の厚さの雑音(下限)。

↑ 肉 4 cm の下の Al の厚さの雑音(下限)。

py -3.11 examples/poc_dual_energy_xray.py

ソース: examples/poc_dual_energy_xray.py

この回が作った図は全部で 12 枚あります —— 全部見る

使用 op(ノートへ): basis_decomposition_crlb · basis_material_decompose · dual_energy_separability · dual_kvp_channels · ellipse · material_effective_z · material_from_sellmeier · material_xray_attenuation · material_xray_constants · photon_counting_channels · reflect · xray_beam_quality · xray_channel_projection · xray_tube_spectrum

No.2026.271 —— レンズの製造公差を、MTF(変調伝達関数)・歩留まり・補償ストロークまで一枚の予算にする

公開処方の三枚玉に、曲率・厚み・屈折率・アッベ数・偏心・傾き・面の非点不整・くさび・群偏心を行ごとに割り当てる。新 op 8 本は分布、中央差分感度、Monte Carlo、Wilson 95 % 歩留まり区間、複数の補償変数と組立ストロークを一つの報告にする。薄いくさびの像移動は閉形式 f(n−1)α に 6e-8、1 fringe の非点不整の実光線 OPD RMS は閉形式に 1.3 %。CI の 16 試行では歩留まり 0.688、内部間隔と像面の補償を足すと 1.000。一様・正規・切断正規は同じ ±公差でも 0.750 / 1.000 / 1.000、首位の公差を締めて低感度を緩めた再配分は 0.833。学習 0、較正 0。

レンズの製造公差を、MTF(変調伝達関数)・歩留まり・補償ストロークまで一枚の予算にする

↑ レンズの製造公差を、MTF(変調伝達関数)・歩留まり・補償ストロークまで一枚の予算にする ―― 公開処方の三枚玉に、曲率・厚み・屈折率・アッベ数・偏心・傾き・面の非点不整・くさび・群偏心を行ごとに割り当てる。新 op 8 本は分布、中央差分感度、Monte Carlo、Wilson 95 % 歩留まり区間、複数の補償変数と組立ストロークを一つの報告にする。薄いくさびの像移動は閉形式 f(n−1)α に 6e-8、1 fringe の非点不整の実光線 OPD RMS は閉形式に 1.3 %。CI の 16 試行では歩留まり 0.688、内部間隔と像面の補償を足すと 1.000。一様・正規・切断正規は同じ ±公差でも 0.750 / 1.000 / 1.000、首位の公差を締めて低感度を緩めた再配分は 0.833。学習 0、較正 0。

用語: MTF — 空間周波数ごとに像のコントラストが物体からどれだけ伝わるかを表す、光学伝達関数の絶対値。; Wilson 95 % — 二項比率の信頼区間を、正規近似のスコア検定を反転して求める方法で、標本が小さい場合もWald区間より安定する。

同じ試行から得た MTF と RMS spot。赤線は合否限界。

↑ 測定の図 ―― 同じ試行から得た MTF と RMS spot。赤線は合否限界。

像面だけの場合と内部間隔を加えた場合を比較。

↑ 像面だけの場合と内部間隔を加えた場合を比較。

一様・正規・±公差で切った正規分布の歩留まり。

↑ 一様・正規・±公差で切った正規分布の歩留まり。

線形予測と Monte-Carlo 実測を明示。

↑ 線形予測と Monte-Carlo 実測を明示。

同じ処方の基準像と、1 arcmin のくさびを入れた像。

↑ 同じ処方の基準像と、1 arcmin のくさびを入れた像。

感度首行を -tol から +tol へ掃引した点像。

↑ 動く図 ―― 感度首行を -tol から +tol へ掃引した点像。

py -3.11 examples/poc_lens_tolerancing.py

ソース: examples/poc_lens_tolerancing.py

この回が作った図は全部で 7 枚あります —— 全部見る

使用 op(ノートへ): chief_ray · lens_system · opd_samples · ray_bundle · tolerance_compensators · tolerance_criteria · tolerance_monte_carlo · tolerance_report · tolerance_sensitivity · tolerance_table · tolerance_table_from_zmx · tolerance_table_zmx

No.2026.272 —— 処方から撮るプレノプティックカメラ

主レンズ、正方周期 MLA、センサを逆追跡した raw と、同じ処方で撮った白画像を使う。白画像を校正して raw を復号し、そのライトフィールドだけから EPI(エピポーラ平面画像)・リフォーカス・連続距離を計算する。raw を変えると三つの出力が変わる因果試験を置いた。候補距離への3分類は廃止し、処方の slope↔距離式を使って候補にない 0.75 m と 1.3 m を往復した誤差は 1e-9 m 未満。カメラ断面とF値比の図は検証ではない概念図と明記した。

処方から撮るプレノプティックカメラ

↑ 処方から撮るプレノプティックカメラ ―― 主レンズ、正方周期 MLA、センサを逆追跡した raw と、同じ処方で撮った白画像を使う。白画像を校正して raw を復号し、そのライトフィールドだけから EPI(エピポーラ平面画像)・リフォーカス・連続距離を計算する。raw を変えると三つの出力が変わる因果試験を置いた。候補距離への3分類は廃止し、処方の slope↔距離式を使って候補にない 0.75 m と 1.3 m を往復した誤差は 1e-9 m 未満。カメラ断面とF値比の図は検証ではない概念図と明記した。

用語: EPI — ライトフィールドの位置と視点の二軸を切り出した画像で、同じ三次元点が奥行きに応じた傾きの線として現れる。

480 x 480 sensor, 32 x 32 MLA, 15 pixels per microlens; five prescription-traced rays.

↑ 測定の図 ―― 480 x 480 sensor, 32 x 32 MLA, 15 pixels per microlens; five prescription-traced rays.

F-number ratios 0.75, 1.00 and 1.50; matched diameter/pitch = 1.000.

↑ F-number ratios 0.75, 1.00 and 1.50; matched diameter/pitch = 1.000.

15 x 15 decoded views; EPI disparity is 0.6 px per view step.

↑ 15 x 15 decoded views; EPI disparity is 0.6 px per view step.

Truth and estimate at 600, 1000 and 1800 mm; signed error and colour bar.

↑ Truth and estimate at 600, 1000 and 1800 mm; signed error and colour bar.

Same MLA: plenoptic 1.0 images the pupil; focused 2.0 images scene fragments.

↑ Same MLA: plenoptic 1.0 images the pupil; focused 2.0 images scene fragments.

24-frame 480-pixel refocus sweep; all frames pass the content gates.

↑ 動く図 ―― 24-frame 480-pixel refocus sweep; all frames pass the content gates.

py -3.11 examples/poc_plenoptic_camera.py

ソース: examples/poc_plenoptic_camera.py

この回が作った図は全部で 9 枚あります —— 全部見る

使用 op(ノートへ): lens_scene · lens_system · lf_depth_from_focus · lf_refocus · mla_surface · paraxial_trace · plenoptic_capture · plenoptic_decode · plenoptic_mla_calibrate · plenoptic_refocus_depth · plenoptic_system

No.2026.273 —— 同じ粒子を走査像と透過像で測る ―― 52 nm と 48 nm のどちらが正しいか

同じ球形・ファセット粒子14個の台帳から二つの像を作り、面積相当径、最大傾斜、接触対の分水嶺、傾斜像の高さ、限定角再構成を共通の真値で採点する。52 nm粒子では走査像のしきい値径は+4.16 nm、透過像は正焦点で-0.18 nm、焦点外れ12000 nmで+9.82 nm。走査像の偏りはガウス縁の閉形式2 sqrt(2 ln 2) sigmaに一致し、透過像の暗い縁はsqrt(lambda defocus)に10%以内。反射信号の材料比は公表された反射係数、立体計測は平行投影の閉形式と完全角再構成で検算する。新opなし、学習0、較正0。

同じ粒子を走査像と透過像で測る ―― 52 nm と 48 nm のどちらが正しいか

↑ 同じ粒子を走査像と透過像で測る ―― 52 nm と 48 nm のどちらが正しいか ―― 同じ球形・ファセット粒子14個の台帳から二つの像を作り、面積相当径、最大傾斜、接触対の分水嶺、傾斜像の高さ、限定角再構成を共通の真値で採点する。52 nm粒子では走査像のしきい値径は+4.16 nm、透過像は正焦点で-0.18 nm、焦点外れ12000 nmで+9.82 nm。走査像の偏りはガウス縁の閉形式2 sqrt(2 ln 2) sigmaに一致し、透過像の暗い縁はsqrt(lambda defocus)に10%以内。反射信号の材料比は公表された反射係数、立体計測は平行投影の閉形式と完全角再構成で検算する。新opなし、学習0、較正0。

Truth height only: turbo-like pseudo-colour with a nanometre colour bar in the margin.

↑ 測定の図 ―― Truth height only: turbo-like pseudo-colour with a nanometre colour bar in the margin.

[![Bright-field in-focus and under-focus output derived diameters absolute residual.](https://raw.githubusercontent.com/furuse-kazufumi/fullseye/master/docs/articles/assets/poc/poc_sem_tem_same_particle/03_tem_raw_overlay_error_720.jpg)](https://raw.githubusercontent.com/furuse-kazufumi/fullseye/master/docs/articles/assets/poc/poc_sem_tem_same_particle/03_tem_raw_overlay_error.png)
*↑ Bright-field in-focus and under-focus output derived diameters absolute residual.*

図

↑ この回の図

図

↑ この回の図

図

↑ この回の図

24 greyscale bright-field frames with data bar; first and last defocus differ

↑ 動く図 ―― 24 greyscale bright-field frames with data bar; first and last defocus differ

py -3.11 examples/poc_sem_tem_same_particle.py

ソース: examples/poc_sem_tem_same_particle.py

この回が作った図は全部で 8 枚あります —— 全部見る

使用 op(ノートへ): color_bar · filtered_backprojection · radon_transform · reflect · scale_bar · sem_electron_mc · sem_image · sem_render · tem_image_weak_phase · tem_multislice · tem_projected_potential · tem_wavelength · text_box · watersheds_marker

No.2026.274 —— 同じ3次元場面を間接ToFと直接ToFで測る――多経路・混合画素・pile-up・体積誤差

320×240画素の同じ場面を、IR振幅、1.5–6.0 mの色距離、点群で見比べる。合成と実測の振幅分布のW1距離は0.145(門0.594)。続く図は物理効果を順に加えた深度、振幅と距離雑音(対数傾きは実測 -0.878、合成 -1.027)、壁接合部の湾曲(実測 -551 mm、合成 +75 mm。プロファイルの向きを揃えると同符号)、透明板の1.35 m離れた二返り、細い柱の混合画素、直接方式の時間ヒストグラム、三つの箱の体積(誤差 +0.16 / +0.47 / +0.29 %)を示す。最後は48枚、576×432画素、8 fpsで1.4–6.2 mを進む光前線。実フレームは再配布せず、曲線と集計値だけを載せる。新しいop 0、学習0、較正0、門13件。

同じ3次元場面を間接ToFと直接ToFで測る――多経路・混合画素・pile-up・体積誤差

↑ 同じ3次元場面を間接ToFと直接ToFで測る――多経路・混合画素・pile-up・体積誤差 ―― 320×240画素の同じ場面を、IR振幅、1.5–6.0 mの色距離、点群で見比べる。合成と実測の振幅分布のW1距離は0.145(門0.594)。続く図は物理効果を順に加えた深度、振幅と距離雑音(対数傾きは実測 -0.878、合成 -1.027)、壁接合部の湾曲(実測 -551 mm、合成 +75 mm。プロファイルの向きを揃えると同符号)、透明板の1.35 m離れた二返り、細い柱の混合画素、直接方式の時間ヒストグラム、三つの箱の体積(誤差 +0.16 / +0.47 / +0.29 %)を示す。最後は48枚、576×432画素、8 fpsで1.4–6.2 mを進む光前線。実フレームは再配布せず、曲線と集計値だけを載せる。新しいop 0、学習0、較正0、門13件。

全パネル同じ距離範囲。暗部の荒れと隅の湾曲が順に現れる。

↑ 測定の図 ―― 全パネル同じ距離範囲。暗部の荒れと隅の湾曲が順に現れる。

対数傾きは実測 -0.878、合成 -1.027。

↑ 対数傾きは実測 -0.878、合成 -1.027。

実測は曲線だけを掲載し、フレームを再配布しない。

↑ 実測は曲線だけを掲載し、フレームを再配布しない。

手描きマスクではなく3×3サブ光線のフェーザ和。

↑ 手描きマスクではなく3×3サブ光線のフェーザ和。

強い画素では最初の光子が早い側へ偏る。

↑ 強い画素では最初の光子が早い側へ偏る。

48枚、576×432。各時刻を99パーセンタイル・γ=0.5で階調化。

↑ 動く図 ―― 48枚、576×432。各時刻を99パーセンタイル・γ=0.5で階調化。

py -3.11 examples/poc_tof_camera.py

ソース: examples/poc_tof_camera.py

この回が作った図は全部で 9 枚あります —— 全部見る

使用 op(ノートへ): bilateral_filter_depth · depth_to_points · dtof_cube_depth · dtof_cube_simulate · points_render · threshold

No.2026.275 —— 全天球の検査撮影と立体表示を一つの測定工程として確かめる

半径3 mの合成トンネルを魚眼2面から全天球へ戻し、継ぎ目誤差0.01569、死角0.000 %を測った。球面重み、視野移動、32枚中16枚のタイル範囲、3 mの距離を3.000000 mへ戻す立体視、回転補正によるWS-PSNR 20.13 dBから33.51 dB、円筒展開、赤シアン表示を同じ場面で確かめた。理想フィルターの漏れは0、10 %漏れでは左右0.0693/0.0014。画面上視差は1.80 mm。8章、静止画8枚、30フレームの動画。学習0、校正0。

全天球の検査撮影と立体表示を一つの測定工程として確かめる

↑ 全天球の検査撮影と立体表示を一つの測定工程として確かめる ―― 半径3 mの合成トンネルを魚眼2面から全天球へ戻し、継ぎ目誤差0.01569、死角0.000 %を測った。球面重み、視野移動、32枚中16枚のタイル範囲、3 mの距離を3.000000 mへ戻す立体視、回転補正によるWS-PSNR 20.13 dBから33.51 dB、円筒展開、赤シアン表示を同じ場面で確かめた。理想フィルターの漏れは0、10 %漏れでは左右0.0693/0.0014。画面上視差は1.80 mm。8章、静止画8枚、30フレームの動画。学習0、校正0。

Seed 275; tunnel radius 3.00 m; crack angular width 3.00 deg.

↑ 測定の図 ―― Seed 275; tunnel radius 3.00 m; crack angular width 3.00 deg.

Measured seam MAE 0.0157; blind pixels 0.000 % (reported, never filled silently).

↑ Measured seam MAE 0.0157; blind pixels 0.000 % (reported, never filled silently).

Horizontal half-height width ratio 0.314; defect solid angle 0.03687 sr versus unweighted 0.02399 sr

↑ Horizontal half-height width ratio 0.314; defect solid angle 0.03687 sr versus unweighted 0.02399 sr.

At 3.00 m: disparity 3.477 px and inverted depth 3.000000 m.

↑ At 3.00 m: disparity 3.477 px and inverted depth 3.000000 m.

WS-PSNR improved from 20.13 to 33.51 dB; residual 0.0078.

↑ WS-PSNR improved from 20.13 to 33.51 dB; residual 0.0078.

Thirty differing frames; the first frame is already moving.

↑ 動く図 ―― Thirty differing frames; the first frame is already moving.

py -3.11 examples/poc_omni360_inspection.py

ソース: examples/poc_omni360_inspection.py

この回が作った図は全部で 9 枚あります —— 全部見る

使用 op(ノートへ): anaglyph_crosstalk · equirect_defect_unwrap_pipe · equirect_filter_gaussian · equirect_from_fisheye_pair · equirect_rotate · equirect_stabilize · equirect_weight_map · ods_depth_to_disparity · ods_disparity_to_depth · omni_anaglyph_compose · stereo_parallax_budget · video360_tile_coverage · video360_viewport_track · viewport_from_equirect · ws_psnr


この展示館は Claude Code と一緒に作りました。 問いと方向決めは私、実装・掃引・対照群・敵対レビューは Claude Code、という分業です。53 本の PoC を 2 日で走らせて図まで揃えられたのは、この運用のおかげです。試してみたい方は、こちらの招待リンクから 1 週間の無料トライアル が使えます: claude.ai/referral/0sqPw8E_lw

面白い展示が 1 つでもあったら、いいね・ストックをもらえると助かります。どのウィングを次に増やすかは反応を見て決めるつもりなので、「自分の分野のこれが欲しい」もコメントで教えてください。実データに差し替えて崖の位置が変わった話は、いちばん聞きたい話です。