18#ifndef itkConnectedComponentImageFilter_h
19#define itkConnectedComponentImageFilter_h
58template <
typename TInputImage,
typename TOutputImage,
typename TMaskImage = TInputImage>
59class ITK_TEMPLATE_EXPORT ConnectedComponentImageFilter
60 :
public ImageToImageFilter<TInputImage, TOutputImage>
61 ,
protected ScanlineFilterCommon<TInputImage, TOutputImage>
64 ITK_DISALLOW_COPY_AND_MOVE(ConnectedComponentImageFilter);
69 using Self = ConnectedComponentImageFilter;
70 using Superclass = ImageToImageFilter<TInputImage, TOutputImage>;
71 using Superclass::Register;
72 using Superclass::UnRegister;
77 using typename Superclass::InputImagePointer;
88 static constexpr unsigned int ImageDimension = TOutputImage::ImageDimension;
89 static constexpr unsigned int OutputImageDimension = TOutputImage::ImageDimension;
90 static constexpr unsigned int InputImageDimension = TInputImage::ImageDimension;
108 using ListType = std::list<IndexType>;
133 itkSetMacro(FullyConnected,
bool);
134 itkGetConstReferenceMacro(FullyConnected,
bool);
135 itkBooleanMacro(FullyConnected);
142 itkGetConstReferenceMacro(ObjectCount,
LabelType);
163 PrintSelf(std::ostream & os,
Indent indent)
const override;
166 GenerateData()
override;
169 DynamicThreadedGenerateData(
const RegionType &)
override;
178 GenerateInputRequestedRegion()
override;
185 EnlargeOutputRequestedRegion(
DataObject * itkNotUsed(output))
override;
210#ifndef ITK_MANUAL_INSTANTIATION
211# if !defined(ITK_WRAPPING_PARSER)
212# include "itkConnectedComponentImageFilter.hxx"
Pixel-wise addition of two images.
Label the objects in a binary image.
typename MaskImageType::Pointer MaskImagePointer
typename ScanlineFunctions::WorkUnitData WorkUnitData
typename TInputImage::InternalPixelType InputInternalPixelType
typename ScanlineFunctions::RunLength RunLength
typename TOutputImage::InternalPixelType OutputInternalPixelType
std::list< IndexType > ListType
typename TMaskImage::PixelType MaskPixelType
Base class for all data objects in ITK.
Base class for all process objects that output image data.
typename OutputImageType::PixelType OutputImagePixelType
TOutputImage OutputImageType
TInputImage InputImageType
Control indentation during Print() invocation.
Helper class for a group of filters which operate on scan-lines.
typename TInputImage::IndexType IndexType
typename OffsetVectorType::const_iterator OffsetVectorConstIterator
typename TOutputImage::SizeType OutputSizeType
typename TOutputImage::RegionType::SizeType OutSizeType
typename LineEncodingType::const_iterator LineEncodingConstIterator
SizeValueType InternalLabelType
typename TInputImage::OffsetType OffsetType
typename LineEncodingType::iterator LineEncodingIterator
std::vector< LineEncodingType > LineMapType
typename TOutputImage::OffsetType OutputOffsetType
std::vector< RunLength > LineEncodingType
typename TInputImage::SizeType SizeType
std::vector< OffsetValueType > OffsetVectorType
std::vector< InternalLabelType > UnionFindType
std::vector< OutputPixelType > ConsecutiveVectorType
typename TOutputImage::IndexType OutputIndexType
OutputRegionType RegionType
typename TInputImage::PixelType InputPixelType
typename TOutputImage::PixelType OutputPixelType
SmartPointer< const Self > ConstPointer
BinaryGeneratorImageFilter< TInputImage1, TInputImage2, TOutputImage > Superclass
SmartPointer< Self > Pointer
#define itkConceptMacro(name, concept)
ImageBaseType::RegionType RegionType
ImageBaseType::IndexType IndexType
ImageBaseType::SizeType SizeType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
SizeValueType IdentifierType