seung-lab/connected-components-3d
Connected components on discrete and continuous multilabel 3D & 2D images. Handles 26, 18, and 6 connected variants; periodic boundaries (4, 8, & 6)
何を解決するか
cc3d は、3D画像における連結成分ラベリング(CCL)の問題を解決することを目的としています。特に、単なる2値(黒と白)画像ではなく、複数のラベルを含むマルチラベル画像に特化しています。多くの既存ツールは2値画像に限定されており、ユーザーが各ラベルを1つずつ処理する必要があり、数百や数千のラベルを持つ画像では処理が極めて遅くなります。cc3d は1回のパスですべての連結成分をラベリングできるため、パフォーマンスを大幅に向上させます。
動作方法
本プロジェクトは、RosenfeldとPflatzによる2パス法の3D版を実装し、TarjanのUnion-Find不連続集合(パス圧縮およびバランス化付き)と、Wu、Otoo、Suzukiの研究に基づく決定木を組み合わせています。
主な技術的特徴:
- 連結性オプション:3Dでは26、18、6連結の近傍をサポート。2Dでは4または8連結。
- マルチラベル対応:同時に多数の異なるラベルを持つ画像に対応。
- 連続値対応:ユーザー定義のdelta閾値に基づいて近接する値を結合することで、グレースケール画像を処理可能。
- メモリ効率:RAMを超える画像には
memmapファイルをサポート。厚いZ断面の順次処理には圧縮されたCrackleArrayを使用可能。
対象ユーザー
本ツールは、密集したラベルを持つ3Dバイオメディカル画像(例:脳組織の顕微鏡画像)を扱う研究者や開発者、または3Dボリュームにおけるインスタンスセグメンテーションやセマンティックラベリングを必要とするあらゆるアプリケーションに適しています。
特徴
- 高パフォーマンス:1回の処理ですべての連結成分をラベリング。2値専用ツールと比較して、通常1桁以上、場合によっては複数桁の速度向上を実現。
- 柔軟な連結性:2Dおよび3D空間における複数の連結性オプションを提供。
- C++およびPython:最大の柔軟性を実現するため、PythonバインディングとC++実装の両方を提供。
- 高度な分析ツール:重心、バウンディングボックス、ボクセル数の計算、"ダスト"(小さな物体)の除去、k個の最大オブジェクトの抽出などの関数を含む。
- 表面積解析:異なるラベル間の接触表面積および接触ネットワークを計算可能。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト