validate op• 資料種類:flow2d → mask
• 呼叫: import fullseye as fs; fs.ledger.piv_outlier_mask(flow, threshold=2.0, epsilon=0.1)(要直接呼叫實作,import pivops; pivops.piv_outlier_mask(flow, threshold=2.0, epsilon=0.1);從台帳取用則 opspiv.get("piv_outlier_mask"))
以正規化中位數檢定(Westerweel & Scarano 2005)找出離群向量。
對每個向量,把它與 8 鄰域中位數的殘差除以鄰域殘差的中位數。在分母加上 epsilon(預設 0.1 px,PIV 量測不確定度的大致量級),是為了防止在均勻場中分母變為 0、全部都成了離群值 —— 沒有這一項,輸入越理想,檢定越會崩潰。
★在梯度陡峭的場中有害(2026-09-06 實測)。對 Rankine 型渦(渦核半徑 28 px)做多段 PIV,閾值 2 撿取的 5 根向量全部排在渦核邊緣(距中心 32 px),實際誤差為 0.07-0.45 px —— 不是離群值,而是速度分布出現折點的位置。以鄰域中位數抹平後 RMS 從 0.134 惡化到 0.230(閾值 5 時 1 根也沒撿取,仍為 0.134)。
檢定立足於「與鄰域不同 = 錯誤」的假定,因此會把真實的不連續稱為錯誤。是否施加,請看場的性質來決定。
Args:
flow: (2, h, w)。
threshold: 超過此值即為離群值。慣例為 2。
epsilon: 分母的底值 [px]。
Returns:
(h, w) 的 bool。True 為離群值(nan 也為 True)。
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• 演算法的正典(作者、年份)與用途見上面的族使用指南。
• piv_flow_from_particles — py -3.11 examples/piv_flow_from_particles.py
• poc_change_detection_misreg — py -3.11 examples/poc_change_detection_misreg.py
• poc_river_surface_velocity — py -3.11 examples/poc_river_surface_velocity.py
mask 作為輸入)validate)*Provenance: pivops.py — PIV 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.