sem op• Data kinds: image2d → image2d
• Call: import fullseye as fs; fs.ledger.sem_render(height, *, pixel_nm: 'float' = 1.0, psf_px: 'float' = 1.5, edge_gain: 'float' = 1.0, base: 'float' = 0.25, dose: 'float' = 0.0, charging: 'float' = 0.0, seed: 'int' = 0, tilt_max_deg: 'float' = 80.0) -> 'np.ndarray' (to call the implementation directly, import sem; sem.sem_render(height, *, pixel_nm: 'float' = 1.0, psf_px: 'float' = 1.5, edge_gain: 'float' = 1.0, base: 'float' = 0.25, dose: 'float' = 0.0, charging: 'float' = 0.0, seed: 'int' = 0, tilt_max_deg: 'float' = 80.0) -> 'np.ndarray'; from the registry, opsgenerative.get("sem_render"))
Render a SEM image from a height field: secondary-electron edge effect (sec θ) + Gaussian beam PSF + Poisson shot noise.
> The detailed description below is the original text — the summary and the headings are translated.
height : array_like
2-D の高さ場[同じ単位は pixel_nm]。欠陥の形そのもの。
pixel_nm : float
画素 1 個の一辺[nm]。傾きは arctan(|∇h| / pixel_nm) で測る。
psf_px : float
ビーム PSF のガウシアン σ[px]。段差の明るい縁はこの幅に広がる。
edge_gain : float
縁効果の強さの指数。sec(θ) ** edge_gain。既定 1.0 が sec θ の素のモデル。
base : float
平らな面(θ=0)の明るさ[0,1]。斜面は base·sec θ に乗る(飽和で 1 に頭打ち)。
dose : float
画素あたりの電子数。> 0 でポアソン雑音を載せる。0 は雑音なし(決定論)。
charging : float
帯電による緩い横方向の輝度勾配(0 で無効)。収差でなく系統的な明暗。
seed : int
ポアソン雑音の種(dose > 0 のときだけ効く)。
tilt_max_deg : float
sec θ が発散しないよう θ を頭打ちにする角度[度]。既定 80 度(sec ≈ 5.76)。
numpy.ndarray
(H, W) の float64、[0,1]。平らな面は base、斜面は base·sec θ。
正規化は画素ごとでなく固定の線形写像(·base と [0,1] クリップ)。1 枚ごとに min/max で正規化すると平面に対する比が壊れ、sec θ の真値を測れなくなる(poc_real_defect_floor が colorize_depth の per-image 正規化で踏んだ罠と同じ)。
>>> import numpy as np
>>> flat = np.zeros((16, 16))
>>> img = sem_render(flat)
>>> float(np.ptp(img)) # 平らな面は一様
0.0
>>> ramp = np.tile(np.linspace(0, 15, 16), (16, 1)) # 一様斜面
>>> r = sem_render(ramp, pixel_nm=1.0)
>>> theta = np.arctan(1.0) # 勾配 1 → 45 度
>>> abs(float(r[8, 8]) / 0.25 - 1.0 / np.cos(theta)) < 1e-6
True
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• The canonical algorithm (author, year) and its uses are named in the family usage guide above.
• poc_sem_wafer_defect_edge_bias — py -3.11 examples/poc_sem_wafer_defect_edge_bias.py
image2d as input)sem_image · sem_charging_series · pl_image_simulate
sem)sem_electron_mc · sem_se_universal_curve · sem_yield_curve · sem_line_profile · sem_cd_measure · sem_image · sem_se_escape_fraction · sem_charging_series
*Provenance: sem.py — GENERATIVE operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.