18#ifndef itkWatershedSegmentTable_h
19#define itkWatershedSegmentTable_h
45template <
typename TScalar>
76 if (this->height < o.
height)
97 using HashMapType = std::unordered_map<IdentifierType, segment_t>;
98 using Iterator =
typename HashMapType::iterator;
101 using DataType =
typename HashMapType::mapped_type;
126 return &(result->second);
141 return &(result->second);
185 typename HashMapType::size_type
230 return sizeof(segment_t);
279#ifndef ITK_MANUAL_INSTANTIATION
280# include "itkWatershedSegmentTable.hxx"
virtual void Modified() const
Implements transparent reference counting.
SmartPointer< Self > Pointer
const segment_t * Lookup(const IdentifierType a) const
std::list< edge_pair_t > edge_list_t
SmartPointer< const Self > ConstPointer
void operator=(const Self &)
void PruneEdgeLists(ScalarType maximum_saliency)
unsigned int GetSegmentMemorySize() const
typename HashMapType::iterator Iterator
~SegmentTable() override=default
segment_t * Lookup(const IdentifierType a)
void Erase(const IdentifierType a)
std::unordered_map< IdentifierType, segment_t > HashMapType
bool Add(IdentifierType a, const segment_t &t)
typename HashMapType::mapped_type DataType
ScalarType GetMaximumDepth() const
typename HashMapType::value_type ValueType
ConstIterator Begin() const
ScalarType m_MaximumDepth
typename HashMapType::const_iterator ConstIterator
ConstIterator End() const
bool IsEntry(const IdentifierType a) const
InputPixelType ScalarType
void SetMaximumDepth(ScalarType s)
HashMapType::size_type Size() const
SizeValueType IdentifierType
bool operator<(const edge_pair_t &o) const
edge_pair_t(IdentifierType l, ScalarType s)