polish op• データ種: matrix × scalar × scalar × scalar → image2d
• 呼び出し: import fullseye as fs; fs.ledger.preston_removal_map(path, force, radius: 'float', k_p: 'float', shape=(128, 128), res: 'float' = 0.0001, kind: 'str' = 'flat', speed=None, times=None, spin: 'float' = 0.0, estar=None, step=None, method: 'str' = 'direct') -> 'np.ndarray' (実装を直接呼ぶなら import polish; polish.preston_removal_map(path, force, radius: 'float', k_p: 'float', shape=(128, 128), res: 'float' = 0.0001, kind: 'str' = 'flat', speed=None, times=None, spin: 'float' = 0.0, estar=None, step=None, method: 'str' = 'direct') -> 'np.ndarray'、台帳から引くなら opsdrive.get("preston_removal_map"))
軌跡と押す力から、Preston の式 dh/dt = k_p p |v_rel| を積分した除去の深さの地図 [m] (形 shape、画素 res)。
path (N, 2) は工具の中心の xy(NaN の行で工具を持ち上げる)、force はスカラーか行ごとの値(区間の中で線形に補間)、speed [m/s] か times [s] (行ごと)のどちらか。spin [rad/s] で工具が回ると相対速度に ω ẑ × (x − c) が足される。method="direct" は小区間(既定の刻み res/4)ごとに窓の画素で足す。method="fft" は「軌跡の線密度の画像」と正規化した圧力の窓(preston_pressure_kernel)の畳み込み —— 回らない・力が一定・速さが一定の時だけ使える第 2 の実装で、体積 Σ h res² = k_p F × (窓の半分だけ広げた地図の中の軌跡の長さ)を、地図の外にこぼれる分を除いて保つ。Raises ValueError: 形・数の検査、速さも時刻も無い、時刻が増えない、fft で回る / 力が変わる / 時刻で速さが変わる。
• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。
• 演算子の来歴・参考文献 — この op 族の元になった研究/手法の出典。
• アルゴリズムの正典(著者・年)と用途は上記ファミリ使い方ガイドに記載。
• poc_polish_wipe_measure — py -3.11 examples/poc_polish_wipe_measure.py
image2d を入力に取れる)flow_from_depth_motion · ttc_truth · ttc_from_flow · foe_from_flow · perlin2 · fbm_height · fbm_gradient · radial_periodogram
polish)preston_pressure_kernel · preston_track_profile · wipe_band_width · raster_wipe_area · coat_image · coat_thickness_from_image · wipe_coverage · band_width_profile
*Provenance: polish.py — DRIVE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.