reeb.get_merge_tree

reeb.get_merge_tree(geometry, *, mode=State.SUB_LEVEL, threshold=0.0)

Union-Find アルゴリズムを用いて、与えられた geometry のマージツリーを計算します。

この関数は、提供された geometry データから UnionFindByLevel オブジェクトを初期化し、それを leveled graph に変換することでマージツリーを構築します。
マージツリーは、指定されたフィルトレーションモード(サブレベル集合またはスーパーレベル集合)に基づいて、連結成分が階層的にマージされる様子を表します。
指定された閾値未満のエッジは除外されます。

パラメータ

名前 説明 デフォルト
geometry psiclone.data.Geometry マージツリーに変換されるノードおよびエッジを含む geometry オブジェクト 必須
mode State, optional (default: State.SUB_LEVEL) マージツリー構築時のフィルトレーションモード。State.SUB_LEVEL(サブレベル集合、昇順)または State.SUPER_LEVEL(スーパーレベル集合、降順)のいずれかを指定する必要があります。 State.SUB_LEVEL
threshold float, optional (default: 0.0) 結果として得られるマージツリー内のエッジに対する最小ライフタイム閾値。ライフタイム(死亡レベルと誕生レベルの差)がこの値以下のエッジは除外されます。 0.0

戻り値

名前 説明
graph psiclone.data.LeveledGraph マージツリーを表す leveled graph オブジェクト。ノードは誕生点または死亡点としてマークされ、エッジは Union-Find によるマージ過程に基づいてそれらの点を接続します。

>>> from psiclone.data import Geometry, State
>>> geom = Geometry(...)  # 有効な geometry オブジェクトを想定
>>> merge_tree = get_merge_tree(geom, mode=State.SUB_LEVEL, threshold=0.1)
>>> print(merge_tree)