dose_cv_from_sizes — DRIVE doseunif op

• 데이터 종류: any × scalar × scalar → table

• 호출: 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'(구현을 직접 호출하려면 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', 원장에서 가져오려면 opsdrive.get("dose_cv_from_sizes"))

사용법

> 이 연산자의 설명은 아직 번역이 없습니다. 원문을 그대로 싣습니다.

測った粒径から 1 回分の含量の CV(粒の数の揺らぎだけ、Poisson)と、その偏りと区間。

`sizes` は 2 通り:

• 1-D の配列 = 個数基準の粒の直径の標本 [µm] (:func: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)** = レーザー回折の体積基準の表(:func:grind.particle_size_read / :func: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 未満・非有限・非正、表が壊れている(:func:grind.particle_size_dx と同じ検査)、frame に収まらない粒、綴り違い。

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

• poc_dose_uniformity_from_grinding — py -3.11 examples/poc_dose_uniformity_from_grinding.py

타입이 이어지는 다음 연산자(table 를 입력으로 받는 것)

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 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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