18#ifndef itkKLMRegionGrowImageFilter_h
19#define itkKLMRegionGrowImageFilter_h
166template <
typename TInputImage,
typename TOutputImage>
210 using typename Superclass::GridSizeType;
217 static constexpr unsigned int InputImageDimension = TInputImage::ImageDimension;
220 static constexpr unsigned int OutputImageDimension = TOutputImage::ImageDimension;
270 itkSetMacro(MaximumLambda,
double);
271 itkGetConstReferenceMacro(MaximumLambda,
double);
275 itkSetMacro(NumberOfRegions,
unsigned int);
276 itkGetConstReferenceMacro(NumberOfRegions,
unsigned int);
291#ifdef ITK_USE_CONCEPT_CHECKING
295# if defined(THIS_CONCEPT_FAILS_ON_GCC)
374 double m_MaximumLambda{ 1000 };
375 unsigned int m_NumberOfRegions{ 0 };
379 double m_InternalLambda{ 0 };
380 unsigned int m_InitialNumberOfRegions{ 0 };
381 double m_TotalBorderLength{ 0.0 };
383 std::vector<KLMSegmentationRegionPtr> m_RegionsPointer{};
384 std::vector<KLMSegmentationBorderPtr> m_BordersPointer{};
385 std::vector<KLMSegmentationBorderArrayPtr> m_BordersDynamicPointer{};
389 double m_InitialRegionArea{ 0 };
393#ifndef ITK_MANUAL_INSTANTIATION
394# include "itkKLMRegionGrowImageFilter.hxx"
Base class for all data objects in ITK.
A multi-dimensional iterator templated over image type that walks a region of pixels.
A multi-dimensional iterator templated over image type that walks a region of pixels.
Base class for all process objects that output image data.
typename OutputImageType::PixelType OutputImagePixelType
TOutputImage OutputImageType
typename OutputImageType::Pointer OutputImagePointer
TInputImage InputImageType
typename InputImageType::ConstPointer InputImageConstPointer
typename InputImageType::Pointer InputImagePointer
typename InputImageType::PixelType InputImagePixelType
Templated n-dimensional image class.
Control indentation during Print() invocation.
Object maintaining a reference to a list of borders associated with a region.
Base class for a region growing object that performs energy-based region growing for multiband images...
void ApplyRegionGrowImageFilter() override
typename TOutputImage::IndexType OutputImageIndexType
typename KLMSegmentationRegion::RegionLabelType RegionLabelType
typename TInputImage::IndexType InputImageIndexType
KLMRegionGrowImageFilter()
void PrintAlgorithmRegionStats()
virtual void GenerateOutputImage()
void GenerateInputRequestedRegion() override
LabelImagePointer GenerateLabelledImage(LabelImageType *labelImagePtr)
void PrintSelf(std::ostream &os, Indent indent) const override
virtual void InitializeRegionParameters(InputRegionType region)
void GenerateData() override
virtual void ResolveRegions()
~KLMRegionGrowImageFilter() override=default
void EnlargeOutputRequestedRegion(DataObject *) override
typename KLMSegmentationBorder::Pointer KLMSegmentationBorderPtr
typename TInputImage::PixelType::VectorType InputImageVectorType
typename TInputImage::SizeType InputImageSizeType
void MergeRegions() override
typename LabelImageType::Pointer LabelImagePointer
typename TInputImage::RegionType InputRegionType
vnl_vector< double > MeanRegionIntensityType
typename LabelImageType::IndexType LabelImageIndexType
void PrintAlgorithmBorderStats()
typename LabelImageType::PixelType LabelImagePixelType
typename TOutputImage::PixelType::VectorType OutputImageVectorType
LabelImagePointer GetLabelledImage()
typename KLMSegmentationRegion::Pointer KLMSegmentationRegionPtr
Base class for KLMSegmentationBorder object.
SmartPointer< Self > Pointer
Superclass::RegionLabelType RegionLabelType
SmartPointer< Self > Pointer
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Base class for RegionGrowImageFilter object.
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
#define itkConceptMacro(name, concept)
ImageBaseType::RegionType RegionType
ImageBaseType::IndexType IndexType
constexpr unsigned int Dimension
ImageBaseType::SizeType SizeType
ImageBaseType::SpacingType VectorType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
class ITK_FORWARD_EXPORT KLMSegmentationBorder