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)問題而設計,特別針對不僅限於二值(黑白)圖像,而是包含多個標籤的多標籤圖像。許多現有工具僅支援二值圖像,迫使使用者逐一處理每個標籤,導致在具有數百或數千個標籤的圖像上處理速度極慢。cc3d 可在單次掃描中為所有連通元件標記,顯著提升效能。
工作原理
本專案實作了 Rosenfeld 與 Pflatz 的兩次掃描法的 3D 變體,並結合了 Tarjan 的 Union-Find 不相交集合(含路徑壓縮與平衡)以及基於 Wu、Otoo 與 Suzuki 研究的決策樹。
主要技術細節包括:
- 連通性選項:支援 3D 中的 26、18 或 6 連通鄰域,以及 2D 中的 4 或 8 連通。
- 多標籤支援:可同時處理具有多種不同標籤的圖像。
- 連續值支援:可透過使用者定義的 delta 閾值將相近值合併,處理灰階圖像。
- 記憶體效率:支援
memmap檔案以處理超過 RAM 大小的圖像,並提供壓縮的CrackleArray用於厚 Z 切片的順序處理。
適用對象
此工具主要適用於處理密集標籤的 3D 生物醫學圖像(如腦組織顯微鏡影像)的研究人員與開發者,或任何涉及 3D 體積中實例分割與語意標記的應用場景。
主要亮點
- 高效率:一次處理即可標記所有連通元件,通常比僅支援二值圖像的工具提速一個或更多數量級。
- 靈活的連通性:提供 2D 與 3D 空間中的多種連通性選項。
- C++ 與 Python:提供 Python 繫結與 C++ 實作,以實現最大彈性。
- 進階分析工具:包含計算質心、邊界框、體素數量、移除「塵埃」(小物件)以及提取前 k 個最大物件等功能。
- 表面積分析:可計算不同標籤之間的接觸表面積及接觸網路。
相關
- 專案
- 專案
- 專案
- 專案
- 專案