sem opimage2d → videoimport fullseye as fs; fs.ledger.sem_charging_series(height, material_map=None, *, materials=('PMMA',), substrate='SI', energy_kev: 'float' = 1.0, pixel_nm: 'float' = 2.0, beam_sigma_nm: 'float' = 1.0, electrons_per_pixel: 'int' = 30, detector: 'str' = 'inlens', frames: 'int' = 12, layer_bottom_nm=0.0, volts_per_electron: 'float' = 0.05, leak_frames: 'float' = 0.0, spread_px: 'float' = 1.0, phi_ev: 'float' = 2.0, gain=None, seed: 'int' = 0, return_potential: 'bool' = False) (実装を直接呼ぶなら import sem; sem.sem_charging_series(height, material_map=None, *, materials=('PMMA',), substrate='SI', energy_kev: 'float' = 1.0, pixel_nm: 'float' = 2.0, beam_sigma_nm: 'float' = 1.0, electrons_per_pixel: 'int' = 30, detector: 'str' = 'inlens', frames: 'int' = 12, layer_bottom_nm=0.0, volts_per_electron: 'float' = 0.05, leak_frames: 'float' = 0.0, spread_px: 'float' = 1.0, phi_ev: 'float' = 2.0, gain=None, seed: 'int' = 0, return_potential: 'bool' = False)、台帳から引くなら opsgenerative.get("sem_charging_series"))絶縁物の帯電を走査のコマごとに進め、像の時間変化(video、(T, H, W))を返す。
1 コマで画素あたり electrons_per_pixel 個の電子が入り、η + δ·F(V) 個が出ていく。
差し引き 1 − η − δ·F(V) 個が絶縁物の面に溜まり、電位を volts_per_electron [V/個]
ずつ動かす(負の電子が溜まれば V は下がる)。電位は spread_px で横に広がり、
leak_frames(> 0 なら)の時定数で抜ける。導体の面は接地(V = 0)。
sem_se_escape_fraction)、像は暗くなる。放出が減ると正味の流れも 0 に
近づくので、電位は η + δ·F(V) = 1 の V で止まる(自己調整)。1 + |V| / (|V| + 20 V) 倍に明るくなる(★現象論の式で、2 定数は固定 ——
_NEG_GAIN・_NEG_SCALE_V。
着地エネルギーの低下とビームの曲がりは入れない)。η と δ は :func:sem_image のモンテカルロ(return_signals)で 1 回だけ求め、
コマごとの雑音は検出された電子の数のポアソンで載せる。
numpy.ndarray
(frames, H, W) の float64、[0,1] (sem_image と同じ固定の倍率)。
return_potential なら dict(video と、コマごとの電位 potential_v (T, H, W)、
絶縁物の面のマスク insulator)。
import numpy as np v = sem_charging_series(np.zeros((4, 4)), materials=(“PMMA”,), substrate=”PMMA”, … electrons_per_pixel=5, frames=3) v.shape (3, 4, 4)
py -3.11 examples/poc_virtual_sem_kv_cd_bse.pyvideo を入力に取れる)—
sem)sem_render · sem_electron_mc · sem_se_universal_curve · sem_yield_curve · sem_line_profile · sem_cd_measure · sem_image · sem_se_escape_fraction
Provenance: sem.py — GENERATIVE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.