18 #ifndef itkWatershedSegmentTreeGenerator_h
19 #define itkWatershedSegmentTreeGenerator_h
77 template<
typename TScalar >
151 itkSetMacro(Merge,
bool);
152 itkGetConstMacro(Merge,
bool);
162 itkGetConstMacro(FloodLevel,
double);
167 itkSetMacro(HighestCalculatedFloodLevel,
double);
168 itkGetConstMacro(HighestCalculatedFloodLevel,
double);
176 itkSetMacro(ConsumeInput,
bool);
177 itkGetConstMacro(ConsumeInput,
bool);
185 const IdentifierType);
190 OneWayEquivalencyTableTypePointer,
191 const IdentifierType,
192 const IdentifierType,
198 virtual
DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
202 virtual ~SegmentTreeGenerator() {}
205 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
241 #ifndef ITK_MANUAL_INSTANTIATION
242 #include "itkWatershedSegmentTreeGenerator.hxx"
void CompileMergeList(SegmentTableTypePointer, SegmentTreeTypePointer)
virtual void PrintSelf(std::ostream &os, Indent indent) const override
Light weight base class for most itk classes.
double m_HighestCalculatedFloodLevel
void MergeEquivalencies()
SegmentTree< ScalarType > SegmentTreeType
EquivalencyTableType * GetInputEquivalencyTable()
EquivalencyTable EquivalencyTableType
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
SegmentTable< ScalarType > SegmentTableType
static void PruneMergeSegments(SegmentTableTypePointer, OneWayEquivalencyTableTypePointer, const IdentifierType, const IdentifierType, ScalarType)
void ExtractMergeHierarchy(SegmentTableTypePointer, SegmentTreeTypePointer)
Hash table to manage integral label equivalencies that are order dependent.
void operator=(const Self &)
itksys::hash_map< IdentifierType, bool, itksys::hash< IdentifierType > > HashMapType
static void MergeSegments(SegmentTableTypePointer, OneWayEquivalencyTableTypePointer, const IdentifierType, const IdentifierType)
SizeValueType IdentifierType
void SetInputSegmentTable(SegmentTableType *st)
Hash table to manage integral label equivalencies.
DataObjectPointerArray::size_type DataObjectPointerArraySizeType
SmartPointer< const Self > ConstPointer
SegmentTreeGenerator(const Self &)
OneWayEquivalencyTableType::Pointer m_MergedSegmentsTable
virtual DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override
Make a DataObject of the correct type to used as the specified output.
SegmentTreeGenerator Self
virtual void GenerateOutputRequestedRegion(DataObject *output) override
SmartPointer< Self > Pointer
void SetInputEquivalencyTable(EquivalencyTableType *eq)
DataObject * GetInput(const DataObjectIdentifierType &key)
Return an input.
SegmentTreeType * GetOutputSegmentTree()
DataObject::Pointer DataObjectPointer
Control indentation during Print() invocation.
OneWayEquivalencyTable OneWayEquivalencyTableType
virtual void SetNthInput(DataObjectPointerArraySizeType num, DataObject *input)
SegmentTableType * GetInputSegmentTable()
SegmentTableType::Pointer SegmentTableTypePointer
SegmentTreeType::Pointer SegmentTreeTypePointer
void SetFloodLevel(double)
virtual void GenerateInputRequestedRegion() override
Base class for all data objects in ITK.
virtual void GenerateData() override
OneWayEquivalencyTableType::Pointer OneWayEquivalencyTableTypePointer
DataObject * GetOutput(const DataObjectIdentifierType &key)