knn_graph — 3D geodesic op

데이터 종류: pointsgraph

호출: import fullseye as fs; fs.ledger.knn_graph(points: numpy.ndarray, k: int = 8) -> Tuple[numpy.ndarray, numpy.ndarray](구현을 직접 호출하려면 import geodesic3d; geodesic3d.knn_graph(points: numpy.ndarray, k: int = 8) -> Tuple[numpy.ndarray, numpy.ndarray], 원장에서 가져오려면 ops3d.get("knn_graph"))

사용법

각 점의 k 근방 인덱스와 유클리드 거리(자기 제외). → (idx (N,k) int, dist (N,k) float).

> 아래 상세 설명은 원문입니다 —— 요약과 제목은 번역되어 있습니다.

`scipy.spatial.cKDTree` で各点の k+1 近傍を引き、自分自身(距離 0)を除いた k 個を返す。

`idx[i, j] は点 i に j 番目に近い点の添字、dist[i, j]` はその Euclid 距離(座標の単位)で、

各行は距離の昇順。

• `points`: (N,3) など任意次元の座標(float64 に変換)。形状の検証はしない。

• `k: 近傍数(既定 8)。N-1 を超える値は黙って N-1` に切り詰める。

• N < 2 のときは例外を出さず、形 (N,0) の空配列を 2 つ返す。

罠: 座標が重複していると KD-tree が自己を列 0 に返さないことがある。その場合は行ごとに自己の

位置を探して除き、k+1 個の中に自己が無ければ最遠の 1 つを落とす(結果はやはり k 個)。

`geodesic_distances / farthest_point_sampling` はこの結果を隣接行列(有向 CSR、

Dijkstra 側で無向化)にして測地距離の近似に使う。

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

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

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

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

pcl_geodesicpy -3.11 examples_3d/pcl_geodesic.py

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

fuse_to_voxel

같은 카테고리(geodesic)

geodesic_distances · geodesic_mesh · farthest_point_sampling


*Provenance: geodesic3d.py — 3D 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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