sem op• Data kinds: image2d → video
• Call: import 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) (implementation को सीधे call करना हो तो 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), registry से लेना हो तो opsgenerative.get("sem_charging_series"))
scan के हर frame के साथ insulator की charging आगे बढ़ाकर image का समय-परिवर्तन लौटाना (video, (T, H, W))।
> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।
1 コマで画素あたり electrons_per_pixel 個の電子が入り、η + δ·F(V) 個が出ていく。差し引き 1 − η − δ·F(V) 個が絶縁物の面に溜まり、電位を volts_per_electron [V/個] ずつ動かす(負の電子が溜まれば V は下がる)。電位は spread_px で横に広がり、leak_frames(> 0 なら)の時定数で抜ける。導体の面は接地(V = 0)。
• 正の帯電(η + δ > 1、低加速で多い): 二次電子が面に引き戻され(F(V)、sem_se_escape_fraction)、像は暗くなる。放出が減ると正味の流れも 0 に近づくので、電位は η + δ·F(V*) = 1 の V* で止まる(自己調整)。
• 負の帯電(η + δ < 1、高加速): 面の負の電位が二次電子を押し出し、像は 1 + |V| / (|V| + 20 V) 倍に明るくなる(★現象論の式で、2 定数は固定 —— _NEG_GAIN・_NEG_SCALE_V。着地エネルギーの低下とビームの曲がりは入れない)。
η と δ は 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)
• 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 में दिए गए हैं।
• poc_virtual_sem_kv_cd_bse — py -3.11 examples/poc_virtual_sem_kv_cd_bse.py
video को input के रूप में लेते हैं)—
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 note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.