|
ITK
5.2.0
Insight Toolkit
|
Go to the documentation of this file.
18 #ifndef itkWatershedImageFilter_h
19 #define itkWatershedImageFilter_h
148 template <
typename TInputImage>
150 :
public ImageToImageFilter<TInputImage, Image<IdentifierType, TInputImage::ImageDimension>>
162 static constexpr
unsigned int ImageDimension = TInputImage::ImageDimension;
189 GenerateData()
override;
193 using Superclass::SetInput;
199 if (input != this->GetInput(0))
201 m_InputChanged =
true;
207 m_Segmenter->SetInputImage(const_cast<InputImageType *>(input));
211 SetInput(
unsigned int i,
const TInputImage * image)
override
215 itkExceptionMacro(<<
"Filter has only one input.");
219 this->SetInput(image);
226 SetThreshold(
double);
228 itkGetConstMacro(Threshold,
double);
235 itkGetConstMacro(Level,
double);
242 return m_Segmenter->GetOutputImage();
255 EnlargeOutputRequestedRegion(
DataObject * data)
override;
257 #ifdef ITK_USE_CONCEPT_CHECKING
270 PrintSelf(std::ostream & os,
Indent indent)
const override;
275 PrepareOutputs()
override;
281 double m_Threshold{ 0.0 };
287 double m_Level{ 0.0 };
309 #ifndef ITK_MANUAL_INSTANTIATION
310 # include "itkWatershedImageFilter.hxx"
unsigned long m_ObserverTag
TimeStamp m_GenerateDataMTime
typename InputImageType::PixelType ScalarType
void SetInput(unsigned int i, const TInputImage *image) override
ImageBaseType::SizeType SizeType
typename InputImageType::SizeType SizeType
Control indentation during Print() invocation.
watershed::Segmenter< InputImageType >::OutputImageType * GetBasicSegmentation()
A low-level image analysis algorithm that automatically produces a hierarchy of segmented,...
virtual void Update()
Bring this filter up-to-date.
ImageBaseType::IndexType IndexType
Base class for filters that take an image as input and produce an image as output.
void SetInput(const InputImageType *input) override
Light weight base class for most itk classes.
watershed::Relabeler< ScalarType, Self::ImageDimension >::Pointer m_Relabeler
ImageBaseType::RegionType RegionType
typename InputImageType::RegionType RegionType
typename InputImageType::IndexType IndexType
Generate a unique, increasing time value.
watershed::SegmentTreeGenerator< ScalarType >::Pointer m_TreeGenerator
#define itkConceptMacro(name, concept)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
virtual void SetNthInput(DataObjectPointerArraySizeType idx, DataObject *input)
watershed::Segmenter< InputImageType >::Pointer m_Segmenter
SegmentTreeType * GetOutputSegmentTree()
Templated n-dimensional image class.
TInputImage InputImageType
Base class for all data objects in ITK.
watershed::SegmentTreeGenerator< ScalarType >::SegmentTreeType * GetSegmentTree()