sem op• データ種: pairs → table
• 呼び出し: import fullseye as fs; fs.ledger.sem_cd_measure(profile, *, method: 'str' = 'threshold', threshold: 'float' = 0.5, smooth_nm: 'float' = 0.0) -> 'dict' (実装を直接呼ぶなら import sem; sem.sem_cd_measure(profile, *, method: 'str' = 'threshold', threshold: 'float' = 0.5, smooth_nm: 'float' = 0.0) -> 'dict'、台帳から引くなら opsgenerative.get("sem_cd_measure"))
線プロファイル(pairs: x と信号)から線幅を出す(CD-SEM の 2 方式)。
1 本の線の左右の縁は、それぞれ明るい山(縁の効果)になる。各山の外側の斜面で:
• threshold: 外側の地の水準 b と山の高さ p の間の b + t·(p − b) を横切る位置(線形補間)。t = threshold(既定 0.5 = 50 % しきい値)。
• max_slope: 外側の斜面で勾配の絶対値が最大になる位置(3 点放物線で詰める)。
地の水準は両端それぞれ外側 10 % の中央値。smooth_nm > 0 なら先にガウシアンで均す。
dict
width_nm / left_nm / right_nm / method / threshold /
peak_left_nm / peak_right_nm。
>>> import numpy as np
>>> x = np.arange(-50.0, 51.0)
>>> y = 0.2 + np.exp(-0.5 * ((x + 20) / 3) ** 2) + np.exp(-0.5 * ((x - 20) / 3) ** 2)
>>> r = sem_cd_measure(np.stack([x, y], axis=1), method="threshold", threshold=0.5)
>>> bool(abs(r["width_nm"] - 2 * (20 + 3 * np.sqrt(2 * np.log(2)))) < 0.2)
True
• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。
• 演算子の来歴・参考文献 — この op 族の元になった研究/手法の出典。
• アルゴリズムの正典(著者・年)と用途は上記ファミリ使い方ガイドに記載。
• poc_virtual_sem_kv_cd_bse — py -3.11 examples/poc_virtual_sem_kv_cd_bse.py
table を入力に取れる)perpetual_step · perpetual_render
sem)sem_render · sem_electron_mc · sem_se_universal_curve · sem_yield_curve · sem_line_profile · sem_image · sem_se_escape_fraction · sem_charging_series
*Provenance: sem.py — GENERATIVE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.