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' (to call the implementation directly, 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'; from the registry, opsdrive.get("dose_cv_from_sizes"))
Content CV of 1 dose from measured particle sizes (particle-count fluctuation only, Poisson), with its bias and interval.
> The detailed description below is the original text — the summary and the headings are translated.
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 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_dose_uniformity_from_grinding — py -3.11 examples/poc_dose_uniformity_from_grinding.py
table as input)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
doseunif)dose_cv_lognormal · grind_time_for_dose_cv
*Provenance: doseunif.py — DRIVE 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.