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 और अंतराल।
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 (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_dose_uniformity_from_grinding — py -3.11 examples/poc_dose_uniformity_from_grinding.py
table को 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. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.