18#ifndef itkWatershedImageFilter_h
19#define itkWatershedImageFilter_h
148template <
typename TInputImage>
150 :
public ImageToImageFilter<TInputImage, Image<IdentifierType, TInputImage::ImageDimension>>
169 using SizeType =
typename InputImageType::SizeType;
211 SetInput(
unsigned int i,
const TInputImage * image)
override
215 itkExceptionMacro(
"Filter has only one input.");
228 itkGetConstMacro(Threshold,
double);
235 itkGetConstMacro(Level,
double);
305#ifndef ITK_MANUAL_INSTANTIATION
306# include "itkWatershedImageFilter.hxx"
Base class for all data objects in ITK.
virtual void SetInput(const InputImageType *input)
const InputImageType * GetInput() const
Templated n-dimensional image class.
Control indentation during Print() invocation.
virtual void SetNthInput(DataObjectPointerArraySizeType idx, DataObject *input)
Implements transparent reference counting.
Generate a unique, increasing time value.
TimeStamp m_GenerateDataMTime
typename InputImageType::IndexType IndexType
void SetInput(const InputImageType *input) override
void SetThreshold(double)
static constexpr unsigned int ImageDimension
watershed::SegmentTreeGenerator< ScalarType >::SegmentTreeType * GetSegmentTree()
watershed::SegmentTreeGenerator< ScalarType >::Pointer m_TreeGenerator
void GenerateData() override
void PrintSelf(std::ostream &os, Indent indent) const override
ImageToImageFilter< InputImageType, OutputImageType > Superclass
typename InputImageType::PixelType ScalarType
watershed::Relabeler< ScalarType, Self::ImageDimension >::Pointer m_Relabeler
typename InputImageType::SizeType SizeType
unsigned long m_ObserverTag
void SetInput(unsigned int i, const TInputImage *image) override
void PrepareOutputs() override
watershed::Segmenter< InputImageType >::Pointer m_Segmenter
void EnlargeOutputRequestedRegion(DataObject *data) override
WatershedImageFilter Self
~WatershedImageFilter() override=default
SmartPointer< Self > Pointer
Image< IdentifierType, Self::ImageDimension > OutputImageType
watershed::Segmenter< InputImageType >::OutputImageType * GetBasicSegmentation()
RealImageType InputImageType
typename InputImageType::RegionType RegionType
SmartPointer< Self > Pointer
SmartPointer< Self > Pointer
SegmentTree< ScalarType > SegmentTreeType
Image< IdentifierType, Self::ImageDimension > OutputImageType
SmartPointer< Self > Pointer
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....