18 #ifndef itkWatershedImageFilter_h
19 #define itkWatershedImageFilter_h
149 template<
typename TInputImage >
152 TInputImage::ImageDimension > >
163 TInputImage::ImageDimension);
170 typedef typename InputImageType::SizeType
SizeType;
209 virtual void SetInput(
unsigned int i,
const TInputImage *image) ITK_OVERRIDE
212 { itkExceptionMacro(<<
"Filter has only one input."); }
221 itkGetConstMacro(Threshold,
double);
227 itkGetConstMacro(Level,
double);
248 #ifdef ITK_USE_CONCEPT_CHECKING
272 void operator=(const Self &);
305 #ifndef ITK_MANUAL_INSTANTIATION
306 #include "itkWatershedImageFilter.hxx"
virtual void Update()
Bring this filter up-to-date.
A low-level image analysis algorithm that automatically produces a hierarchy of segmented, labeled images from a scalar-valued image input.
virtual ~WatershedImageFilter()
OutputImageType * GetOutputImage(void)
watershed::Relabeler< ScalarType, itkGetStaticConstMacro(ImageDimension) >::Pointer m_Relabeler
TimeStamp m_GenerateDataMTime
Light weight base class for most itk classes.
SmartPointer< Self > Pointer
void EnlargeOutputRequestedRegion(DataObject *data) override
unsigned long m_ObserverTag
void PrintSelf(std::ostream &os, Indent indent) const override
ImageToImageFilter< InputImageType, OutputImageType > Superclass
WatershedImageFilter Self
void SetThreshold(double)
static const unsigned int ImageDimension
void SetInput(const InputImageType *input) override
InputImageType::SizeType SizeType
watershed::SegmentTreeGenerator< ScalarType >::SegmentTreeType * GetSegmentTree()
watershed::SegmentTreeGenerator< ScalarType >::Pointer m_TreeGenerator
InputImageType::PixelType ScalarType
InputImageType::RegionType RegionType
Generate a unique, increasing time value.
TInputImage InputImageType
const InputImageType * GetInput() const
virtual void PrepareOutputs() override
virtual void SetInput(unsigned int i, const TInputImage *image) override
SegmentTreeType * GetOutputSegmentTree()
Base class for filters that take an image as input and produce an image as output.
Control indentation during Print() invocation.
InputImageType::IndexType IndexType
watershed::Segmenter< InputImageType >::Pointer m_Segmenter
void GenerateData() override
virtual void SetNthInput(DataObjectPointerArraySizeType num, DataObject *input)
watershed::Segmenter< InputImageType >::OutputImageType * GetBasicSegmentation()
#define itkConceptMacro(name, concept)
Image< IdentifierType, itkGetStaticConstMacro(ImageDimension) > OutputImageType
Base class for all data objects in ITK.
Templated n-dimensional image class.
void SetInputImage(InputImageType *img)