18 #ifndef itkWatershedSegmentTable_h 19 #define itkWatershedSegmentTable_h 46 template<
typename TScalar >
58 itkTypeMacro(WatershedSegmentTable,
DataObject);
72 if ( this->height < o.
height )
97 typedef typename HashMapType::iterator
Iterator;
103 bool Add(IdentifierType a,
const segment_t & t);
113 segment_t *
Lookup(
const IdentifierType a)
117 if ( result ==
m_HashMap.end() ) {
return ITK_NULLPTR; }
118 else {
return &( ( *result ).second ); }
123 const segment_t *
Lookup(
const IdentifierType a)
const 125 ConstIterator result =
m_HashMap.find(a);
127 if ( result ==
m_HashMap.end() ) {
return 0; }
128 else {
return &( ( *result ).second ); }
136 else {
return true; }
158 typename HashMapType::size_type
Size()
const 183 return sizeof( segment_t );
225 #ifndef ITK_MANUAL_INSTANTIATION 226 #include "itkWatershedSegmentTable.hxx"
HashMapType::data_type DataType
segment_t * Lookup(const IdentifierType a)
HashMapType::size_type Size() const
bool IsEntry(const IdentifierType a) const
bool Add(IdentifierType a, const segment_t &t)
void operator=(const Self &)
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
ScalarType GetMaximumDepth() const
SmartPointer< const Self > ConstPointer
edge_pair_t(IdentifierType l, ScalarType s)
SizeValueType IdentifierType
HashMapType::const_iterator ConstIterator
ScalarType m_MaximumDepth
bool operator<(const edge_pair_t &o) const
void SetMaximumDepth(ScalarType s)
HashMapType::iterator Iterator
const segment_t * Lookup(const IdentifierType a) const
unsigned int GetSegmentMemorySize() const
ConstIterator Begin() const
void PruneEdgeLists(ScalarType maximum_saliency)
virtual void Modified() const
itksys::hash_map< IdentifierType, segment_t, itksys::hash< IdentifierType > > HashMapType
HashMapType::value_type ValueType
void Erase(const IdentifierType a)
std::list< edge_pair_t > edge_list_t
Base class for all data objects in ITK.
ConstIterator End() const