ITK  5.4.0
Insight Toolkit
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
itk::NarrowBand< NodeType > Class Template Reference

#include <itkNarrowBand.h>

Detailed Description

template<typename NodeType>
class itk::NarrowBand< NodeType >

Narrow Band class.

Definition at line 51 of file itkNarrowBand.h.

+ Inheritance diagram for itk::NarrowBand< NodeType >:
+ Collaboration diagram for itk::NarrowBand< NodeType >:

Classes

struct  RegionType
 

Public Types

using ConstIterator = typename NodeContainerType::const_iterator
 
using ConstPointer = SmartPointer< const Self >
 
using Iterator = typename NodeContainerType::iterator
 
using NodeContainerType = std::vector< NodeType >
 
using Pointer = SmartPointer< Self >
 
using Self = NarrowBand
 
using SizeType = typename NodeContainerType::size_type
 
using Superclass = LightObject
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = LightObject
 

Public Member Functions

Iterator Begin ()
 
ConstIterator Begin () const
 
void Clear ()
 
bool Empty () const
 
Iterator End ()
 
ConstIterator End () const
 
float GetInnerRadius () const
 
float GetTotalRadius () const
 
 itkOverrideGetNameOfClassMacro (NarrowBand)
 
NodeType & operator[] (SizeType n)
 
const NodeType & operator[] (SizeType n) const
 
void PopBack ()
 
void PushBack (const NodeType &n)
 
void Reserve (SizeType n)
 
void Resize (SizeType n)
 
void SetInnerRadius (const float val)
 
void SetTotalRadius (const float val)
 
SizeType Size () const
 
std::vector< RegionTypeSplitBand (const SizeType &)
 
- Public Member Functions inherited from itk::LightObject
Pointer Clone () const
 
virtual Pointer CreateAnother () const
 
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkVirtualGetNameOfClassMacro (LightObject)
 
void Print (std::ostream &os, Indent indent=0) const
 
virtual void Register () const
 
virtual void SetReferenceCount (int)
 
virtual void UnRegister () const noexcept
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Protected Member Functions

 NarrowBand ()=default
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintSelf (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Protected Attributes

float m_InnerRadius { 0.0 }
 
float m_TotalRadius { 0.0 }
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}
 

Private Attributes

NodeContainerType m_NodeContainer {}
 

Member Typedef Documentation

◆ ConstIterator

template<typename NodeType >
using itk::NarrowBand< NodeType >::ConstIterator = typename NodeContainerType::const_iterator

Definition at line 70 of file itkNarrowBand.h.

◆ ConstPointer

template<typename NodeType >
using itk::NarrowBand< NodeType >::ConstPointer = SmartPointer<const Self>

Definition at line 60 of file itkNarrowBand.h.

◆ Iterator

template<typename NodeType >
using itk::NarrowBand< NodeType >::Iterator = typename NodeContainerType::iterator

Definition at line 71 of file itkNarrowBand.h.

◆ NodeContainerType

template<typename NodeType >
using itk::NarrowBand< NodeType >::NodeContainerType = std::vector<NodeType>

Definition at line 68 of file itkNarrowBand.h.

◆ Pointer

template<typename NodeType >
using itk::NarrowBand< NodeType >::Pointer = SmartPointer<Self>

Definition at line 59 of file itkNarrowBand.h.

◆ Self

template<typename NodeType >
using itk::NarrowBand< NodeType >::Self = NarrowBand

Standard class type aliases

Definition at line 57 of file itkNarrowBand.h.

◆ SizeType

template<typename NodeType >
using itk::NarrowBand< NodeType >::SizeType = typename NodeContainerType::size_type

Definition at line 69 of file itkNarrowBand.h.

◆ Superclass

template<typename NodeType >
using itk::NarrowBand< NodeType >::Superclass = LightObject

Definition at line 58 of file itkNarrowBand.h.

Constructor & Destructor Documentation

◆ NarrowBand()

template<typename NodeType >
itk::NarrowBand< NodeType >::NarrowBand ( )
protecteddefault

Member Function Documentation

◆ Begin() [1/2]

template<typename NodeType >
Iterator itk::NarrowBand< NodeType >::Begin ( )
inline

Definition at line 90 of file itkNarrowBand.h.

◆ Begin() [2/2]

template<typename NodeType >
ConstIterator itk::NarrowBand< NodeType >::Begin ( ) const
inline

Definition at line 96 of file itkNarrowBand.h.

◆ Clear()

template<typename NodeType >
void itk::NarrowBand< NodeType >::Clear ( )
inline

Clear the narrow band container.

Definition at line 127 of file itkNarrowBand.h.

◆ Empty()

template<typename NodeType >
bool itk::NarrowBand< NodeType >::Empty ( ) const
inline

Definition at line 120 of file itkNarrowBand.h.

◆ End() [1/2]

template<typename NodeType >
Iterator itk::NarrowBand< NodeType >::End ( )
inline

Definition at line 102 of file itkNarrowBand.h.

◆ End() [2/2]

template<typename NodeType >
ConstIterator itk::NarrowBand< NodeType >::End ( ) const
inline

Definition at line 108 of file itkNarrowBand.h.

◆ GetInnerRadius()

template<typename NodeType >
float itk::NarrowBand< NodeType >::GetInnerRadius ( ) const
inline

Definition at line 184 of file itkNarrowBand.h.

◆ GetTotalRadius()

template<typename NodeType >
float itk::NarrowBand< NodeType >::GetTotalRadius ( ) const
inline

Definition at line 170 of file itkNarrowBand.h.

◆ itkOverrideGetNameOfClassMacro()

template<typename NodeType >
itk::NarrowBand< NodeType >::itkOverrideGetNameOfClassMacro ( NarrowBand< NodeType >  )

Run-time type information (and related methods).

◆ New()

template<typename NodeType >
static Pointer itk::NarrowBand< NodeType >::New ( )
static

Method for creation through the object factory.

◆ operator[]() [1/2]

template<typename NodeType >
NodeType& itk::NarrowBand< NodeType >::operator[] ( SizeType  n)
inline

Definition at line 156 of file itkNarrowBand.h.

◆ operator[]() [2/2]

template<typename NodeType >
const NodeType& itk::NarrowBand< NodeType >::operator[] ( SizeType  n) const
inline

Definition at line 158 of file itkNarrowBand.h.

◆ PopBack()

template<typename NodeType >
void itk::NarrowBand< NodeType >::PopBack ( )
inline

Definition at line 145 of file itkNarrowBand.h.

◆ PushBack()

template<typename NodeType >
void itk::NarrowBand< NodeType >::PushBack ( const NodeType &  n)
inline

Definition at line 139 of file itkNarrowBand.h.

◆ Reserve()

template<typename NodeType >
void itk::NarrowBand< NodeType >::Reserve ( SizeType  n)
inline

Definition at line 133 of file itkNarrowBand.h.

◆ Resize()

template<typename NodeType >
void itk::NarrowBand< NodeType >::Resize ( SizeType  n)
inline

Definition at line 151 of file itkNarrowBand.h.

◆ SetInnerRadius()

template<typename NodeType >
void itk::NarrowBand< NodeType >::SetInnerRadius ( const float  val)
inline

Set/Get the narrow band inner radius. The inner radius is the safe are where the level set can be computed.

Definition at line 178 of file itkNarrowBand.h.

◆ SetTotalRadius()

template<typename NodeType >
void itk::NarrowBand< NodeType >::SetTotalRadius ( const float  val)
inline

Set/Get the narrow band total radius. The narrow band width will be twice this value (positive and negative distance to the zero level set). The user of the narrow band container should set up this value properly.

Definition at line 164 of file itkNarrowBand.h.

◆ Size()

template<typename NodeType >
SizeType itk::NarrowBand< NodeType >::Size ( ) const
inline

Definition at line 114 of file itkNarrowBand.h.

◆ SplitBand()

template<typename NodeType >
std::vector<RegionType> itk::NarrowBand< NodeType >::SplitBand ( const SizeType )

Returns an array of RegionStructs which represent contiguous arrays of nodes within the narrow band.

Member Data Documentation

◆ m_InnerRadius

template<typename NodeType >
float itk::NarrowBand< NodeType >::m_InnerRadius { 0.0 }
protected

Definition at line 193 of file itkNarrowBand.h.

◆ m_NodeContainer

template<typename NodeType >
NodeContainerType itk::NarrowBand< NodeType >::m_NodeContainer {}
private

Definition at line 196 of file itkNarrowBand.h.

◆ m_TotalRadius

template<typename NodeType >
float itk::NarrowBand< NodeType >::m_TotalRadius { 0.0 }
protected

Definition at line 192 of file itkNarrowBand.h.


The documentation for this class was generated from the following file: