Component tree: an efficient representation of grayscale connected components

Lehmann, Gaetan1*
1.INRA
Abstract

Abstract

Connected component is a well known and very useful notion in binary case. As often in mathematical morphology, this notion can be extended to the grayscale case, and allow to perform lot of the useful transforms based on binary connected components in the grayscale images. This article describe the component tree, a data structure able to ef?ciently represent the grayscale connected components in an grayscale image, as well as the algorithm used to build the component tree. All the source codes are provided, as well as a full set of tests and several usage examples of the new classes.

Keywords

connectivitycomponent treemax-treemin-treemathematical morphologyconnected componentattribute
Manuscript
Source Code and Data

Source Code and Data

componentTreeCMakeLists.txt8.4 KBIJMacros.txt3.1 KBWrappingCMakeLists.txt391 BWrapITKTypes.cmake528 Bwrap_ITKComponentTreeBase.cmake1.9 KBwrap_itkAttributeFilteringComponentTreeFilter.cmake312 Bwrap_itkAttributeFilteringComponentTreeToImageFilter.cmake391 Bwrap_itkCompactnessComponentTreeFilter.cmake238 Bwrap_itkComponentTree.cmake111 Bwrap_itkComponentTreeAttributeToImageFilter.cmake438 Bwrap_itkComponentTreeLeavesToBinaryImageFilter.cmake460 Bwrap_itkComponentTreeLeavesToLabelImageFilter.cmake459 Bwrap_itkComponentTreeNode.cmake355 Bwrap_itkComponentTreeToImageFilter.cmake373 Bwrap_itkGradientComponentTreeFilter.cmake302 Bwrap_itkImageToMaximumTreeFilter.cmake387 Bwrap_itkImageToMinimumTreeFilter.cmake387 Bwrap_itkInPlaceComponentTreeFilter.cmake301 Bwrap_itkIntegratedIntensityComponentTreeFilter.cmake246 Bwrap_itkIntensityComponentTreeFilter.cmake303 Bwrap_itkKeepNLobesComponentTreeFilter.cmake304 Bwrap_itkLeafComponentTreeFilter.cmake298 Bwrap_itkLocalIntensityComponentTreeFilter.cmake308 Bwrap_itkMonotoneComponentTreeFilter.cmake302 Bwrap_itkPhysicalSizeComponentTreeFilter.cmake239 Bwrap_itkSizeComponentTreeFilter.cmake298 Bwrap_itkVolumeLevellingComponentTreeFilter.cmake242 BarticleArticle.tex20.2 KBInsightArticle.cls3.9 KBInsightJournal.bib155.8 KBInsightJournal.sty35 KBMakefile1.8 KBalgorithm.sty2.2 KBalgorithmic.sty5.4 KBamssymb.sty14.9 KBfancyhdr.sty14.4 KBfloatflt.sty10.8 KBfncychap.sty10.1 KBpseudocode.sty7.7 KBtimes.sty857 Bbinary_leaves.cxx1.8 KBcompactness.cxx2.1 KBgradient.cxx2.1 KBgranulometry.cxx2 KBimagesbinary_leavesF=0.png8.3 KBbinary_leavesF=1.png6.7 KBcthead1.png192.6 KBcthead1_small.nrrd63.3 KBintegrated_intensityF=0.nrrd252.3 KBkeep_n_lobesF=1N=4.png1.4 KBphysical_sizeF=0.nrrd126.3 KBphysical_sizeF=1.nrrd126.3 KBphysical_size_openingF=0Size=100000Type=DirectOrder=0.png192 Bphysical_size_openingF=0Size=100000Type=DirectOrder=1.png28.1 KBphysical_size_openingF=0Size=100000Type=MaximumOrder=0.png192 Bphysical_size_openingF=0Size=100000Type=MaximumOrder=1.png28.1 KBphysical_size_openingF=0Size=100000Type=MinimumOrder=0.png192 Bphysical_size_openingF=0Size=100000Type=MinimumOrder=1.png28.1 KBphysical_size_openingF=0Size=100000Type=SubtractOrder=0.png192 Bphysical_size_openingF=0Size=100000Type=SubtractOrder=1.png28.1 KBphysical_size_openingF=0Size=10000Type=DirectOrder=0.png6.7 KBphysical_size_openingF=0Size=10000Type=DirectOrder=1.png28.7 KBphysical_size_openingF=0Size=10000Type=MaximumOrder=0.png6.7 KBphysical_size_openingF=0Size=10000Type=MaximumOrder=1.png192 Bphysical_size_openingF=0Size=10000Type=MinimumOrder=0.png6.7 KBphysical_size_openingF=0Size=10000Type=MinimumOrder=1.png28.1 KBphysical_size_openingF=0Size=10000Type=SubtractOrder=0.png6.7 KBphysical_size_openingF=0Size=10000Type=SubtractOrder=1.png26.5 KBphysical_size_openingF=0Size=1000Type=DirectOrder=0.png23.8 KBphysical_size_openingF=0Size=1000Type=DirectOrder=1.png19.3 KBphysical_size_openingF=0Size=1000Type=MaximumOrder=0.png23.8 KBphysical_size_openingF=0Size=1000Type=MaximumOrder=1.png192 Bphysical_size_openingF=0Size=1000Type=MinimumOrder=0.png23.8 KBphysical_size_openingF=0Size=1000Type=MinimumOrder=1.png28.1 KBphysical_size_openingF=0Size=1000Type=SubtractOrder=0.png23.8 KBphysical_size_openingF=0Size=1000Type=SubtractOrder=1.png16.8 KBphysical_size_openingF=0Size=100Type=DirectOrder=0.png25.7 KBphysical_size_openingF=0Size=100Type=DirectOrder=1.png16.4 KBphysical_size_openingF=0Size=100Type=MaximumOrder=0.png25.7 KBphysical_size_openingF=0Size=100Type=MaximumOrder=1.png192 Bphysical_size_openingF=0Size=100Type=MinimumOrder=0.png25.7 KBphysical_size_openingF=0Size=100Type=MinimumOrder=1.png27.9 KBphysical_size_openingF=0Size=100Type=SubtractOrder=0.png25.7 KBphysical_size_openingF=0Size=100Type=SubtractOrder=1.png13.4 KBphysical_size_openingF=0Size=10Type=DirectOrder=0.png26.3 KBphysical_size_openingF=0Size=10Type=DirectOrder=1.png14.4 KBphysical_size_openingF=0Size=10Type=MaximumOrder=0.png26.3 KBphysical_size_openingF=0Size=10Type=MaximumOrder=1.png192 Bphysical_size_openingF=0Size=10Type=MinimumOrder=0.png26.3 KBphysical_size_openingF=0Size=10Type=MinimumOrder=1.png27.9 KBphysical_size_openingF=0Size=10Type=SubtractOrder=0.png26.3 KBphysical_size_openingF=0Size=10Type=SubtractOrder=1.png11.1 KBsizeF=0.png77.6 KBsizeF=1.png76.2 KBsize_openingF=0Size=10.png26.9 KBsize_openingF=0Size=100.png26.3 KBsize_openingF=0Size=1000.png25 KBsize_openingF=0Size=10000.png21.2 KBsize_openingF=0Size=100000.png191 Bsmall.png2.5 KBinplace.cxx2.5 KBintegrated_intensity.cxx1.9 KBintensity_variation.cxx1.9 KBitkAttributeFilteringComponentTreeFilter.h5.3 KBitkAttributeFilteringComponentTreeFilter.txx6.6 KBitkAttributeFilteringComponentTreeToImageFilter.h4 KBitkAttributeFilteringComponentTreeToImageFilter.txx4 KBitkCompactnessComponentTreeFilter.h3.9 KBitkCompactnessComponentTreeFilter.txx5 KBitkComponentTree.h9.3 KBitkComponentTree.txx13.5 KBitkComponentTreeAttributeToImageFilter.h4 KBitkComponentTreeAttributeToImageFilter.txx3.4 KBitkComponentTreeLeavesToBinaryImageFilter.h4.4 KBitkComponentTreeLeavesToBinaryImageFilter.txx3.9 KBitkComponentTreeLeavesToLabelImageFilter.h4.2 KBitkComponentTreeLeavesToLabelImageFilter.txx4.3 KBitkComponentTreeNode.h5 KBitkComponentTreeNode.txx4.3 KBitkComponentTreeToImageFilter.h3.9 KBitkComponentTreeToImageFilter.txx3.3 KBitkConnectedComponentAlgorithm.h3.1 KBitkConnectivity.h7.1 KBitkConnectivity.txx6.9 KBitkConstShapedNeighborhoodIterator.h12.6 KBitkConstantBoundaryCondition.h4.1 KBitkGradientComponentTreeFilter.h3.3 KBitkGradientComponentTreeFilter.txx3.4 KBitkGranulometryComponentTreeFilter.h3.9 KBitkGranulometryComponentTreeFilter.txx5 KBitkHierarchicalQueue.h6.2 KBitkImageToComponentTreeFilter.h5 KBitkImageToComponentTreeFilter.txx11.3 KBitkImageToMaximumTreeFilter.h3.3 KBitkImageToMinimumTreeFilter.h3.3 KBitkInPlaceComponentTreeFilter.h7.8 KBitkInPlaceComponentTreeFilter.txx4.8 KBitkIntegratedIntensityComponentTreeFilter.h3.3 KBitkIntegratedIntensityComponentTreeFilter.txx2.7 KBitkIntensityComponentTreeFilter.h3.2 KBitkIntensityComponentTreeFilter.txx2.2 KBitkIntensityVariationComponentTreeFilter.h3.4 KBitkIntensityVariationComponentTreeFilter.txx2.6 KBitkKeepNLobesComponentTreeFilter.h4.2 KBitkKeepNLobesComponentTreeFilter.txx4.6 KBitkLeafComponentTreeFilter.h3.2 KBitkLeafComponentTreeFilter.txx2.1 KBitkLocalIntensityComponentTreeFilter.h3.3 KBitkLocalIntensityComponentTreeFilter.txx2.5 KBitkMonotoneComponentTreeFilter.h4.4 KBitkMonotoneComponentTreeFilter.txx3.3 KBitkPhysicalSizeComponentTreeFilter.h3.3 KBitkPhysicalSizeComponentTreeFilter.txx2.7 KBitkShapedNeighborhoodIterator.h10 KBitkSizeComponentTreeFilter.h3.2 KBitkSizeComponentTreeFilter.txx2.6 KBitkVolumeLevellingComponentTreeFilter.h3.6 KBitkVolumeLevellingComponentTreeFilter.txx3.1 KBkeep_n_lobes.cxx2.2 KBlabel_leaves.cxx1.6 KBmaxtree.cxx1.6 KBmintree.cxx1.6 KBmonotone.cxx4.1 KBmultiple_attributes.cxx11.8 KBphysical_size.cxx1.9 KBphysical_size_opening.cxx2.5 KBsize.cxx1.9 KBsize_opening.cxx1.9 KBvolume_levelling.cxx2.1 KB

Select a file to preview