17 #ifndef __itkRegionCompetitionImageFilter_h
18 #define __itkRegionCompetitionImageFilter_h
40 template <
class TInputImage,
class TOutputImage>
63 typedef typename InputImageType::IndexType
IndexType;
73 itkStaticConstMacro(InputImageDimension,
unsigned int, TInputImage::ImageDimension);
74 itkStaticConstMacro(OutputImageDimension,
unsigned int, TOutputImage::ImageDimension);
79 itkSetMacro( MaximumNumberOfIterations,
unsigned int );
80 itkGetMacro( MaximumNumberOfIterations,
unsigned int );
84 itkGetMacro( CurrentIterationNumber,
unsigned int );
87 itkGetMacro( TotalNumberOfPixelsChanged,
unsigned int );
90 void SetInputLabels(
const TOutputImage * inputLabelImage );
92 #ifdef ITK_USE_CONCEPT_CHECKING
110 void PrintSelf ( std::ostream& os,
Indent indent )
const;
114 void operator=(
const Self&);
117 void AllocateOutputImageWorkingMemory();
119 void AllocateFrontsWorkingMemory();
121 void ComputeNumberOfInputLabels();
123 void InitializeNeighborhood();
125 void FindAllPixelsInTheBoundaryAndAddThemAsSeeds();
127 void IterateFrontPropagations();
129 void VisitAllSeedsAndTransitionTheirState();
131 void PasteNewSeedValuesToOutputImage();
133 void SwapSeedArrays();
135 void ClearSecondSeedArray();
137 bool TestForAvailabilityAtCurrentPixel()
const;
139 void PutCurrentPixelNeighborsIntoSeedArray();
141 void ComputeArrayOfNeighborhoodBufferOffsets();
143 void ComputeBirthThreshold();
145 itkSetMacro( CurrentPixelIndex,
IndexType );
146 itkGetConstReferenceMacro( CurrentPixelIndex,
IndexType );
198 #ifndef ITK_MANUAL_INSTANTIATION
199 #include "itkRegionCompetitionImageFilter.hxx"
itk::Image< unsigned char, InputImageDimension > SeedMaskImageType
itk::Neighborhood< InputImagePixelType, InputImageDimension > NeighborhoodType
unsigned int m_MaximumNumberOfIterations
SeedArrayType * m_SeedArray2
SeedNewValuesArrayType * m_SeedsNewValues
TOutputImage OutputImageType
unsigned int m_CurrentIterationNumber
signed long OffsetValueType
InputImageType::SizeType InputSizeType
std::vector< OutputImagePixelType > SeedNewValuesArrayType
IndexType m_CurrentPixelIndex
NeighborhoodType m_Neighborhood
unsigned int m_NumberOfLabels
InputImageType::ConstPointer InputImageConstPointer
Base class for all process objects that output image data.
TInputImage InputImageType
SmartPointer< Self > Pointer
OutputImageType::RegionType OutputImageRegionType
const InputImageType * m_InputImage
InputImageType::OffsetValueType OffsetValueType
SeedMaskImageType::Pointer SeedMaskImagePointer
InputImageType::IndexType IndexType
InputImageType::RegionType InputImageRegionType
InputImageType::RegionType InputImageRegionType
unsigned int m_TotalNumberOfPixelsChanged
const OutputImageType * m_inputLabelsImage
InputImageType::Pointer InputImagePointer
std::vector< IndexType > SeedArrayType
RegionCompetitionImageFilter Self
std::vector< OffsetValueType > NeighborOffsetArrayType
Base class for filters that take an image as input and produce an image as output.
SeedMaskImagePointer m_SeedsMask
Control indentation during Print() invocation.
SmartPointer< const Self > ConstPointer
unsigned int m_NumberOfPixelsChangedInLastIteration
Perform front-propagation from different starting labeled regions.
OutputImageType::Pointer OutputImagePointer
NeighborOffsetArrayType m_NeighborBufferOffset
#define itkConceptMacro(name, concept)
OutputImageType * m_OutputImage
SeedArrayType * m_SeedArray1
Templated n-dimensional image class.
ImageToImageFilter< TInputImage, TOutputImage > Superclass
InputImageRegionType m_InternalRegion
OutputImageType::PixelType OutputImagePixelType
InputImageType::PixelType InputImagePixelType