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);
241 #ifndef ITK_MANUAL_INSTANTIATION
242 #include "itkWatershedSegmentTreeGenerator.hxx"
void CompileMergeList(SegmentTableTypePointer, SegmentTreeTypePointer)
Light weight base class for most itk classes.
double m_HighestCalculatedFloodLevel
void MergeEquivalencies()
SegmentTree< ScalarType > SegmentTreeType
EquivalencyTableType * GetInputEquivalencyTable()
EquivalencyTable EquivalencyTableType
virtual ~SegmentTreeGenerator()
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 GenerateInputRequestedRegion()
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
SegmentTreeGenerator Self
SmartPointer< Self > Pointer
virtual DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx)
void SetInputEquivalencyTable(EquivalencyTableType *eq)
DataObject * GetInput(const DataObjectIdentifierType &key)
void PrintSelf(std::ostream &os, Indent indent) const
virtual DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx)
ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
SegmentTreeType * GetOutputSegmentTree()
DataObject::Pointer DataObjectPointer
void GenerateOutputRequestedRegion(DataObject *output)
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)
Base class for all data objects in ITK.
OneWayEquivalencyTableType::Pointer OneWayEquivalencyTableTypePointer
DataObject * GetOutput(const DataObjectIdentifierType &key)