typed op• 資料種類:points → signal
• 呼叫:fullseye.apply(img, "tb_farthest_point_sampling", a=0.5, b=0.5)(2-D 的模型是一張圖 + 兩個純量旋鈕 a,b∈[0,1])

*圖為在 128×128 合成輸入上實際執行的輸出。左為輸入,右為輸出。點雲以俯視散點顯示(亮度 = z),一維序列為折線,體資料為沿 z 的最大值投影,影片為中間影格,複數影像為振幅;無法成像的回傳值直接顯示數值。*
掃描旋鈕 a(0.1 / 0.5 / 0.9,另一旋鈕取預設):
▸ tb_farthest_point_sampling: 旋鈕 a 掃描 (文件網站)
*旋鈕 b 不改變輸出(實測: 0.1 / 0.5 / 0.9 相同)。*
階段(前置運算子 → 本運算子,由左至右):
▸ tb_farthest_point_sampling: 處理階段 (文件網站)
換別的影像(合成場景 / 照片 / 硬幣。上排為輸入,下排為對應輸出。旋鈕取預設):
▸ tb_farthest_point_sampling: 其他輸入影像 (文件網站)
基於測地距離的最遠點取樣(均勻抽稀)。→ 所選索引陣列 (n,) int。
以 start 為第一個代表點,每次追加 1 個「到已選點集合的測地距離最大的點」的貪婪法(FPS)。距離用 knn_graph(points, k) 的無向 kNN 圖上的 Dijkstra 量測,到已選集合的距離以各代表點單源距離的逐元素最小值 mind 保存,每增加 1 個代表點就用 mind = min(mind, d_new) 更新。每 1 個代表點執行 1 次 Dijkstra,因此計算量為 n 次的單源最短路徑。不使用亂數,是確定性的。
• points: (N,3) 點雲。n: 想要的點數。超過 N 時取為 N,為負時取為 0 (0 時為空陣列)。
• k: kNN 圖的鄰域數(預設 8)。start: 第一個代表點(用 start % N 折回到範圍內)。
• 回傳值是按選擇順序的索引列(開頭為 start)。用 points[idx] 得到代表點群。
陷阱: 圖分成多個連通元件時,不可達的點距離為 inf,因此未到達的元件會被先選中(argmax 取到 inf)。會出現「先取遠離的塊」的行為,因此想對每個元件均勻抽稀時,先用 euclidean_cluster 等分開後再使用。
橋接到 2-D 演化登錄表的 3d op farthest_point_sampling。實作相同,只有呼叫慣例改為 op(v, a, b)。a 調整 k(預設 8)。b 未使用。
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
下面的程式已確認可以執行(與圖相同的輸入)。在 Studio 說明中,此區塊會變成按鈕,可當場載入並執行。
img_to_points 0.50 0.50 tb_farthest_point_sampling 0.50 0.50
下面的範例呼叫的是底層帳本運算子 farthest_point_sampling。此橋接運算子只是把同一實作適配為 fn(v, a, b) 慣例,行為完全相同(只是呼叫形式不同)。
• geodesic_distance — py -3.11 examples_3d/geodesic_distance.py
• pointcloud_downsampling — py -3.11 examples_3d/pointcloud_downsampling.py
signal 作為輸入)identity · tb_create_funct_1d_array · tb_smooth_funct_1d_gauss · tb_smooth_funct_1d_mean · tb_derivate_funct_1d · tb_integrate_funct_1d · tb_zero_crossings_funct_1d · tb_abs_funct_1d
typed)tb_points_to_voxel · tb_estimate_point_normals · tb_iss_keypoints · tb_project_points · tb_render_point_depth · tb_statistical_outlier_removal · tb_radius_outlier_removal · tb_voxel_grid_downsample
*Provenance: ops.py — 2D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.