sem_image — GENERATIVE sem op

• Data kinds: image2d → image2d

• Call: import fullseye as fs; fs.ledger.sem_image(height, material_map=None, *, materials=('SI',), substrate='SI', energy_kev: 'float' = 5.0, pixel_nm: 'float' = 2.0, beam_sigma_nm: 'float' = 1.0, electrons_per_pixel: 'int' = 30, detector: 'str' = 'inlens', layer_bottom_nm=0.0, buried=None, gain=None, seed: 'int' = 0, return_signals: 'bool' = False) (implementation को सीधे call करना हो तो import sem; sem.sem_image(height, material_map=None, *, materials=('SI',), substrate='SI', energy_kev: 'float' = 5.0, pixel_nm: 'float' = 2.0, beam_sigma_nm: 'float' = 1.0, electrons_per_pixel: 'int' = 30, detector: 'str' = 'inlens', layer_bottom_nm=0.0, buried=None, gain=None, seed: 'int' = 0, return_signals: 'bool' = False), registry से लेना हो तो opsgenerative.get("sem_image"))

उपयोग

height field और material map से हर pixel में electrons दागकर SEM image बनाना (direct Monte Carlo)।

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

各画素に electrons_per_pixel 個の一次電子(ビーム幅 beam_sigma_nm のガウシアン) を撃ち、検出器の信号を電子 1 個あたりで平均する。雑音は撃った電子の数そのもの (反射電子も二次電子も 1 個ずつの統計)なので、別のポアソン雑音は載せない。

Parameters

height : array_like

(H, W) の高さ場 [nm] (上が正)。

material_map : array_like of int, optional

(H, W) の材料番号(materials の添字)。表面から layer_bottom_nm までの柱の

材料。それより深い所は substrate。None は全部 materials[0]。

materials : sequence of str

材料表の名前の列。

substrate : str

基板の材料。

energy_kev, pixel_nm, beam_sigma_nm : float

加速電圧 [keV]・画素の一辺 [nm]・ビームの σ [nm]。

electrons_per_pixel : int

画素あたりの一次電子の数(像の S/N を決める)。

detector : str

inlens(レンズ内の二次電子)/ everhart(側方の二次電子、+x 側、SE3 込み)/

bse(真上の環状の反射電子、エネルギー重み)/ se_total(検出器なしの全収率)。

layer_bottom_nm : float or array_like

材料の柱の下端の z [nm] (0 = 基板の上面。正は基板の中へ)。

buried : list, optional

埋もれた箱 [(材料名, (H, W) のマスク, 上端の深さ, 下端の深さ), ...] [nm]。

gain : float, optional

信号 → [0,1] の固定の倍率(既定は検出器ごとの定数。画像ごとに正規化しない)。

seed : int

乱数の種。

return_signals : bool

True なら像の代わりに dict(4 検出器の信号の地図と η の地図)を返す。

Returns

numpy.ndarray

(H, W) の float64、[0,1]。

Examples

>>> import numpy as np

>>> img = sem_image(np.zeros((6, 6)), energy_kev=1.0, electrons_per_pixel=5)

>>> img.shape, bool(0.0 <= img.min() and img.max() <= 1.0)

((6, 6), True)

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

• generative_art 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_virtual_sem_kv_cd_bse — py -3.11 examples/poc_virtual_sem_kv_cd_bse.py

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

sem_render · sem_charging_series · pl_image_simulate

इसी category के (sem)

sem_render · sem_electron_mc · sem_se_universal_curve · sem_yield_curve · sem_line_profile · sem_cd_measure · sem_se_escape_fraction · sem_charging_series


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

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