knn_graph_to_conn_graph — REPRCONV structure op

• 資料種類:graph → conn_graph

• 呼叫: import fullseye as fs; fs.ledger.knn_graph_to_conn_graph(graph, weight='inverse_distance', symmetric=True)(要直接呼叫實作,import reprconv; reprconv.knn_graph_to_conn_graph(graph, weight='inverse_distance', symmetric=True);從台帳取用則 opsreprconv.get("knn_graph_to_conn_graph"))

• GPU:無(僅 CPU 參考實作)

用法

k 近鄰圖 graph → 加權鄰接矩陣 conn_graph (n, n)。graph 型別的出口。

> 以下的詳細說明為原文 —— 摘要與標題已翻譯。

knn_graph の返り (idx (n,k) int, dist (n,k) float) を、conn_graph 族(graph_components / graph_laplacian_spectrum / graph_layout_spectral …)が受ける n×n の W[i, j] = i → j の重みにする。weight:

• "inverse_distance" —— 1 / dist(近いほど強い。距離 0 の重複点は拒否する)

• "distance" —— dist そのもの(経路長として使う側向け)

• "binary" —— 1

symmetric=True で W = max(W, Wᵀ)(k 近傍は片想いがあるので、無向グラフとして扱うなら対称化する)。対角は 0(knn_graph は自分を除いている)。n は conngraph.MAX_NODES(4096)まで —— 密行列なので、それを超える点群は先に farthest_point_sampling などで間引く。

Args:

graph: (idx, dist) の 2-tuple(knn_graph の返り)。

weight: "inverse_distance" / "distance" / "binary"。

symmetric: True で対称化。

Returns:

(n, n) float64。

Raises:

ValueError: 2-tuple でない / 形が違う / 添字が範囲外 / 自己ループ / n が上限超え /

inverse_distance で距離 0 / weight が不正。

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者、年份)與用途見上面的族使用指南。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• type_connectivity_tour — py -3.11 examples/type_connectivity_tour.py

型別可銜接的下一個運算子(可接受 conn_graph 作為輸入)

—

同類別(structure)

frame_axis · pointmap_to_points · match_component


*Provenance: reprconv.py — REPRCONV 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

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