doseunif op• Data kinds: signal × signal × scalar × scalar → table
• Call: import fullseye as fs; fs.ledger.grind_time_for_dose_cv(t, d63, dose_mg: 'float', density: 'float', target_cv: 'float | None' = None, pass_probability: 'float | None' = None, law: 'str' = 'best', k_accept: 'float' = 2.4, limit_av: 'float' = 15.0, n_units: 'int' = 10, ref_range=(98.5, 101.5), n_mc: 'int' = 20000, seed: 'int' = 0) -> 'dict' (implementation को सीधे call करना हो तो import doseunif; doseunif.grind_time_for_dose_cv(t, d63, dose_mg: 'float', density: 'float', target_cv: 'float | None' = None, pass_probability: 'float | None' = None, law: 'str' = 'best', k_accept: 'float' = 2.4, limit_av: 'float' = 15.0, n_units: 'int' = 10, ref_range=(98.5, 101.5), n_mc: 'int' = 20000, seed: 'int' = 0) -> 'dict', registry से लेना हो तो opsdrive.get("grind_time_for_dose_cv"))
moment व्यास D63 के समय के साथ बदलाव पर comminution नियम fit करता है और मात्रा का CV लक्ष्य तक घटने के लिए आवश्यक पीसने का समय उल्टा निकालता है।
t: पीसने का समय (ऊर्जा का विकल्प, grind की परिपाटी), d63: उस समय का D63 [µm] (dose_cv_from_sizes का d63। D50 के बजाय D63 इसलिए कि CV केवल D63 से तय होता है और वितरण के आकार की धारणा नहीं चाहिए —— पीसने के नियम को D63 पर फिट करना भी D50 की तरह ही एक धारणा है)।
लक्ष्य: target_cv सीधे, या pass_probability = 10 इकाइयों के पहले चरण में पास होने की प्रायिकता (χ² का बंद रूप, औसत विचलन को अनदेखा करने वाली ऊपरी सीमा) से CV = (L1/k) √((n−1)/χ²_p(n−1)) / 100। दोनों न हों तो L1/k/100 (= 0.0625, "AV ≤ 15 के समतुल्य" का संकेतक, लगभग आधे पास)। आवश्यक D63 (CV² D / c)^{1/3} है (Poisson, c = πρ/6)। तीनों नियमों (kick / bond / rittinger) से समय निकालता है; law="best" सबसे छोटे log rms वाला नियम लेता है, नाम देने पर वही नियम। नियमों के बीच का अंतर t_req_by_law और t_req_spread में है (मॉडल की अनिश्चितता के रूप में पढ़ें)। लौटाता है: t_req, law, d63_req, target_cv, t_req_by_law, t_req_spread (min, max), extrapolated (t_req मापी गई सीमा से बाहर) / extrap_ratio, already_met (पहले बिंदु पर ही लक्ष्य से कम), cv_observed (हर बिंदु का CV), pass_probability_chi2 (लक्ष्य CV पर ऊपरी सीमा) / pass_probability_mc (औसत विचलन पद सहित Monte Carlo, सामान्य सन्निकटन), fits (grind.comminution_law_fit का सारांश)। Raises ValueError: 3 से कम बिंदु, गैर-धनात्मक, लंबाई बेमेल, target और pass_probability दोनों, सीमा से बाहर प्रायिकता या CV, वर्तनी की गलती।
• 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 · dose_cv_from_sizes
*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.