mc_photon_slab — CONVERGE montecarlo op

• Data kinds: कोई नहीं → table (केवल arguments से तय होने वाला op — यह कोई image या data input नहीं लेता)

• Call: import fullseye as fs; fs.ledger.mc_photon_slab(layers=None, n_above=1.0, n_below=1.0, n_photons=100000, tol=None, confidence=0.95, batch=50000, seed=1, w_threshold=0.0001, roulette_m=10) -> 'dict' (implementation को सीधे call करना हो तो import mcphoton; mcphoton.mc_photon_slab(layers=None, n_above=1.0, n_below=1.0, n_photons=100000, tol=None, confidence=0.95, batch=50000, seed=1, w_threshold=0.0001, roulette_m=10) -> 'dict', registry से लेना हो तो opsconverge.get("mc_photon_slab"))

उपयोग

MCML-type Monte Carlo से layered turbid slab का diffuse reflectance, total transmittance और absorption, confidence intervals के साथ।

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

layers: list of {"n", "mua", "mus", "g", "d"} from the top (coefficients in 1/length, thickness in the same length; d = inf for a semi-infinite last layer). n_above / n_below: ambient refractive indices. A pencil beam enters at normal incidence.

The tracing rules are those of the MCML manual (Wang & Jacques), eqs. 3.2a-3.31 — see the module docstring for which equation does what. Every packet's contribution is kept, so the standard error is the sample standard deviation over packets / sqrt(N) and the interval is mean +- z se (confidence). Batch b uses default_rng((seed, b)).

• tol=None: trace n_photons packets.

• tol=h: sequential Monte Carlo — add batches of batch packets until the half-width of R_d and of T_t is <= h (the stopping rule of converge, from the second batch on), with n_photons as the budget: refusing (NotConvergedError) if the budget is spent first.

Returns Rd, Tt, A (absorbed fraction) and A_layers, each with *_se and *_ci; Rsp (specular, deterministic: eq. 3.2a); energy_balance = R_sp + R_d + T_t + A (1 in expectation — roulette conserves energy only on average, so its deviation is compared with its own standard error); R_total = R_sp + R_d (specular plus diffuse, with the interval of R_d shifted by the deterministic R_sp); n_photons. Defaults: the MCML manual Table 6.1 slab (van de Hulst: R_d = 0.09739, T_t = 0.66096); MCML_TABLE_6_2 holds Table 6.2.

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

• convergent_computation 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 करते हैं)

• converge_tour — py -3.11 examples/converge_tour.py

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

—

इसी category के (montecarlo)

mc_sequential_mean


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

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