18 #ifndef itkKLMRegionGrowImageFilter_h
19 #define itkKLMRegionGrowImageFilter_h
164 template<
typename TInputImage,
typename TOutputImage >
215 static constexpr
unsigned int InputImageDimension = TInputImage::ImageDimension;
218 static constexpr
unsigned int OutputImageDimension = TOutputImage::ImageDimension;
268 itkSetMacro(MaximumLambda,
double);
269 itkGetConstReferenceMacro(MaximumLambda,
double);
273 itkSetMacro(NumberOfRegions,
unsigned int);
274 itkGetConstReferenceMacro(NumberOfRegions,
unsigned int);
281 void PrintAlgorithmRegionStats();
284 void PrintAlgorithmBorderStats();
286 #ifdef ITK_USE_CONCEPT_CHECKING
292 Self::OutputImageDimension > ) );
293 #if defined(THIS_CONCEPT_FAILS_ON_GCC)
297 Self::OutputImageVectorDimension > ) );
305 void PrintSelf(std::ostream & os,
Indent indent)
const override;
310 void GenerateData()
override;
315 void GenerateInputRequestedRegion()
override;
321 void EnlargeOutputRequestedRegion(
DataObject *)
override;
325 void ApplyRegionGrowImageFilter()
override;
330 void MergeRegions()
override;
333 virtual void GenerateOutputImage();
339 void InitializeKLM();
354 virtual void ResolveRegions();
361 double m_MaximumLambda{1000};
362 unsigned int m_NumberOfRegions{0};
366 double m_InternalLambda{0};
367 unsigned int m_InitialNumberOfRegions{0};
368 double m_TotalBorderLength{0.0};
376 double m_InitialRegionArea{0};
380 #ifndef ITK_MANUAL_INSTANTIATION
381 #include "itkKLMRegionGrowImageFilter.hxx"
typename OutputImageType::Pointer OutputImagePointer
typename TInputImage::SizeType InputImageSizeType
MeanRegionIntensityType m_InitialRegionMean
typename TInputImage::PixelType::VectorType InputImageVectorType
vnl_vector< double > MeanRegionIntensityType
typename LabelImageType::IndexType LabelImageIndexType
typename LabelImageType::Pointer LabelImagePointer
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Base class for all process objects that output image data.
constexpr unsigned int Dimension
typename TInputImage::RegionType InputRegionType
TInputImage InputImageType
typename OutputImageType::PixelType OutputImagePixelType
typename InputImageType::PixelType InputImagePixelType
SmartPointer< Self > Pointer
typename InputImageType::Pointer InputImagePointer
typename TOutputImage::PixelType::VectorType OutputImageVectorType
ImageBaseType::SizeType SizeType
ImageBaseType::IndexType IndexType
A multi-dimensional iterator templated over image type that walks a region of pixels.
TOutputImage OutputImageType
typename TOutputImage::IndexType OutputImageIndexType
typename KLMSegmentationBorder::Pointer KLMSegmentationBorderPtr
Base class for a region growing object that performs energy-based region growing for multiband images...
typename KLMSegmentationRegion::RegionLabelType RegionLabelType
Base class for KLMSegmentationBorder object.
std::vector< KLMSegmentationBorderPtr > m_BordersPointer
Base class for RegionGrowImageFilter object.
std::vector< KLMSegmentationBorderArrayPtr > m_BordersDynamicPointer
Control indentation during Print() invocation.
typename TInputImage::IndexType InputImageIndexType
typename Superclass::GridSizeType GridSizeType
std::vector< KLMSegmentationRegionPtr > m_RegionsPointer
Object maintaining a reference to a list of borders associated with a region.
Superclass::RegionLabelType RegionLabelType
ImageBaseType::RegionType RegionType
class ITK_FORWARD_EXPORT KLMSegmentationBorder
ImageBaseType::SpacingType VectorType
#define itkConceptMacro(name, concept)
typename LabelImageType::PixelType LabelImagePixelType
typename InputImageType::ConstPointer InputImageConstPointer
SmartPointer< Self > Pointer
Base class for all data objects in ITK.
Templated n-dimensional image class.
A multi-dimensional iterator templated over image type that walks a region of pixels.
typename KLMSegmentationRegion::Pointer KLMSegmentationRegionPtr