dose_cv_from_sizes — DRIVE doseunif op

• Data kinds: any × scalar × scalar → table

• Call: import fullseye as fs; fs.ledger.dose_cv_from_sizes(sizes, dose_mg: 'float', density: 'float', estimator: 'str | None' = None, frame=None, ci: 'float' = 0.9, n_boot: 'int' = 400, seed: 'int' = 0) -> 'dict' (implementation को सीधे call करना हो तो import doseunif; doseunif.dose_cv_from_sizes(sizes, dose_mg: 'float', density: 'float', estimator: 'str | None' = None, frame=None, ci: 'float' = 0.9, n_boot: 'int' = 400, seed: 'int' = 0) -> 'dict', registry से लेना हो तो opsdrive.get("dose_cv_from_sizes"))

उपयोग

मापे गए कण आकार से 1 खुराक की मात्रा का CV (केवल कणों की संख्या का उतार-चढ़ाव, Poisson), और उसका bias और अंतराल।

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

sizes は 2 通り:

• 1-D の配列 = 個数基準の粒の直径の標本 [µm] (grind.particle_image_d50 の diameters など)。estimator: "lognormal"(既定 —— ln d の平均と分散から D63 = exp(m + 4.5 v))/ "moment"(D63³ = Σd⁶/Σd³ をそのまま。平均は偏らないが少数の大粒に支配され、中央値は低く出る)。frame = (H_px, W_px, pitch_um) を渡すと、縁に触れる粒を捨てた測定(particle_image_d50 の border="exclude": 外周の画素に掛かった粒を捨てる)の大粒の取りこぼしを Miles–Lantuéjoul の重み 1 / (((H−2)p − d)((W−2)p − d)) で直す(省くと平均で −5 % 程度低い、モジュール冒頭)。区間は ci(両側)の百分位 bootstrap (n_boot 回、両方の推定量)と、対数正規のデルタ法(Kish の有効数 n_eff、Var ln CV = (9v/n_eff + 364.5 v²/(n_eff − 1))/4)。

• dict(edges・volume) = レーザー回折の体積基準の表(grind.particle_size_read / grind.particle_size_synth)。estimator: "histogram"(既定 —— 恒等式 D63³ = E_v[d³] を区間ごとに「ln d について一様」の積分で、分布の形を仮定しない)/ "lognormal"(σ = ln(D84/D16)/2、D63 = D50 exp(1.5σ²))。表に粒の数は無いので標本の区間は出さない(ci_bootstrap は None)。coarse_share = E_v[d³] のうち D90 より上の区間が占める割合(粗い裾への依存の度合い)。

返り: cv(選んだ推定量)、d63、推定量ごとの cv_*・d63_*、sigma_ln、d_number_median(標本)/ d50_volume(表)、particles_per_dose、n・n_eff、top1pct_share_d6(標本: 最大 1 % の粒が Σd⁶ に占める割合)、ci_bootstrap・ci_delta、estimator・source("sample" / "psd")・edge_corrected。Raises ValueError: 粒が 10 未満・非有限・非正、表が壊れている(grind.particle_size_dx と同じ検査)、frame に収まらない粒、綴り違い。

संदर्भ (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_dose_uniformity_from_grinding — py -3.11 examples/poc_dose_uniformity_from_grinding.py

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

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

इसी category के (doseunif)

dose_cv_lognormal · grind_time_for_dose_cv


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

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