ITK  6.0.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution > Class Template Reference

#include <itkLevelSetEvolutionComputeIterationThreader.h>

Detailed Description

template<typename TOutput, unsigned int VDimension, typename TLevelSetEvolution>
class itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >

Definition at line 154 of file itkLevelSetEvolutionComputeIterationThreader.h.

+ Inheritance diagram for itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >:
+ Collaboration diagram for itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >:

Public Types

using ConstPointer = SmartPointer< const Self >
 
using IndexType = typename LevelSetType::IndexType
 
using LevelSetContainerType = typename LevelSetEvolutionType::LevelSetContainerType
 
using LevelSetDataType = typename LevelSetEvolutionType::LevelSetDataType
 
using LevelSetEvolutionType = TLevelSetEvolution
 
using LevelSetIdentifierType = typename LevelSetEvolutionType::LevelSetIdentifierType
 
using LevelSetInputType = typename LevelSetEvolutionType::LevelSetInputType
 
using LevelSetOutputType = typename LevelSetEvolutionType::LevelSetOutputType
 
using LevelSetType = typename LevelSetEvolutionType::LevelSetType
 
using NodePairType = typename LevelSetEvolutionType::NodePairType
 
using OffsetType = typename LevelSetType::OffsetType
 
using Pointer = SmartPointer< Self >
 
using RegionType = typename LevelSetType::RegionType
 
using Self = LevelSetEvolutionComputeIterationThreader
 
using Superclass = DomainThreader< ThreadedIteratorRangePartitioner< typename WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >
 
using TermContainerType = typename LevelSetEvolutionType::TermContainerType
 
- Public Types inherited from itk::DomainThreader< ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >
using AssociateType = TLevelSetEvolution
 
using ConstPointer = SmartPointer< const Self >
 
using DomainPartitionerType = ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >
 
using DomainType = typename DomainPartitionerType::DomainType
 
using Pointer = SmartPointer< Self >
 
using Self = DomainThreader
 
using Superclass = Object
 
- Public Types inherited from itk::Object
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = Object
 
using Superclass = LightObject
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = LightObject
 

Public Member Functions

const char * GetNameOfClass () const override
 
- Public Member Functions inherited from itk::DomainThreader< ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >
void Execute (AssociateType *enclosingClass, const DomainType &completeDomain)
 
MultiThreaderBaseGetMultiThreader () const
 
const char * GetNameOfClass () const override
 
virtual ThreadIdType GetNumberOfWorkUnitsUsed () const
 
virtual void SetDomainPartitioner (DomainPartitionerType *_arg)
 
virtual DomainPartitionerTypeGetModifiableDomainPartitioner ()
 
virtual void SetNumberOfWorkUnits (ThreadIdType _arg)
 
virtual ThreadIdType GetNumberOfWorkUnits () const
 
ThreadIdType GetMaximumNumberOfThreads () const
 
void SetMaximumNumberOfThreads (const ThreadIdType threads)
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *cmd) const
 
unsigned long AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const
 
LightObject::Pointer CreateAnother () const override
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag) const
 
void SetDebug (bool debugFlag) const
 
void SetReferenceCount (int) override
 
void UnRegister () const noexcept override
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
void SetMetaDataDictionary (MetaDataDictionary &&rrhs)
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- Public Member Functions inherited from itk::LightObject
Pointer Clone () const
 
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
void Print (std::ostream &os, Indent indent=0) const
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool val)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Protected Types

using NodePairsPerThreadType = std::vector< std::vector< NodePairType > >
 

Protected Member Functions

void AfterThreadedExecution () override
 
void BeforeThreadedExecution () override
 
 LevelSetEvolutionComputeIterationThreader ()=default
 
void ThreadedExecution (const DomainType &iteratorSubRange, const ThreadIdType threadId) override
 
- Protected Member Functions inherited from itk::DomainThreader< ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >
virtual void DetermineNumberOfWorkUnitsUsed ()
 
 DomainThreader ()
 
virtual void SetMultiThreader (MultiThreaderBase *_arg)
 
 ~DomainThreader () override=default
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
virtual void SetTimeStamp (const TimeStamp &timeStamp)
 
 ~Object () override
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Protected Attributes

NodePairsPerThreadType m_NodePairsPerThread {}
 
- Protected Attributes inherited from itk::DomainThreader< ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >
AssociateTypem_Associate
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}
 

Additional Inherited Members

- Static Protected Member Functions inherited from itk::DomainThreader< ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION ThreaderCallback (void *arg)
 

Member Typedef Documentation

◆ ConstPointer

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
using itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::ConstPointer = SmartPointer<const Self>

◆ IndexType

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
using itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::IndexType = typename LevelSetType::IndexType

◆ LevelSetContainerType

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
using itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::LevelSetContainerType = typename LevelSetEvolutionType::LevelSetContainerType

◆ LevelSetDataType

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
using itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::LevelSetDataType = typename LevelSetEvolutionType::LevelSetDataType

◆ LevelSetEvolutionType

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
using itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::LevelSetEvolutionType = TLevelSetEvolution

Types of the associate class.

Definition at line 184 of file itkLevelSetEvolutionComputeIterationThreader.h.

◆ LevelSetIdentifierType

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
using itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::LevelSetIdentifierType = typename LevelSetEvolutionType::LevelSetIdentifierType

◆ LevelSetInputType

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
using itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::LevelSetInputType = typename LevelSetEvolutionType::LevelSetInputType

◆ LevelSetOutputType

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
using itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::LevelSetOutputType = typename LevelSetEvolutionType::LevelSetOutputType

◆ LevelSetType

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
using itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::LevelSetType = typename LevelSetEvolutionType::LevelSetType

◆ NodePairsPerThreadType

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
using itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::NodePairsPerThreadType = std::vector<std::vector<NodePairType> >
protected

◆ NodePairType

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
using itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::NodePairType = typename LevelSetEvolutionType::NodePairType

◆ OffsetType

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
using itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::OffsetType = typename LevelSetType::OffsetType

◆ Pointer

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
using itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::Pointer = SmartPointer<Self>

◆ RegionType

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
using itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::RegionType = typename LevelSetType::RegionType

◆ Self

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
using itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::Self = LevelSetEvolutionComputeIterationThreader

Standard class type aliases.

Definition at line 166 of file itkLevelSetEvolutionComputeIterationThreader.h.

◆ Superclass

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
using itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::Superclass = DomainThreader< ThreadedIteratorRangePartitioner<typename WhitakerSparseLevelSetImage<TOutput, VDimension>::LayerConstIterator>, TLevelSetEvolution>

◆ TermContainerType

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
using itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::TermContainerType = typename LevelSetEvolutionType::TermContainerType

Constructor & Destructor Documentation

◆ LevelSetEvolutionComputeIterationThreader()

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::LevelSetEvolutionComputeIterationThreader ( )
protecteddefault

Member Function Documentation

◆ AfterThreadedExecution()

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
void itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::AfterThreadedExecution ( )
overrideprotectedvirtual

When Execute in run, this method is run single-threaded after ThreadedExecution. Optionally collect results, etc. E.g. calculate the global minimum from the minimums calculated per thread.

Reimplemented from itk::DomainThreader< ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >.

◆ BeforeThreadedExecution()

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
void itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::BeforeThreadedExecution ( )
overrideprotectedvirtual

When Execute is run, this method is run singled-threaded before ThreadedExecution. Inside this method optional operations such as creating instance variables needed per thread may be performed.

Reimplemented from itk::DomainThreader< ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >.

◆ GetNameOfClass()

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
const char* itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::GetNameOfClass ( ) const
overridevirtual
See also
LightObject::GetNameOfClass()

Reimplemented from itk::Object.

◆ New()

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
static Pointer itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::New ( )
static

Standard New macro.

◆ ThreadedExecution()

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
void itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::ThreadedExecution ( const DomainType subdomain,
const ThreadIdType  threadId 
)
overrideprotectedvirtual

Do the threaded operation, somewhat like ThreadedGenerateData in an ImageSource.

Parameters
subdomainThe subdomain to operate on.
threadIdThe identifier for the current thread. Data to perform the operation on can be accessed by dereferencing this->m_Associate, which has direct access to private and protected members the enclosing class.

Implements itk::DomainThreader< ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >.

Member Data Documentation

◆ m_NodePairsPerThread

template<typename TOutput , unsigned int VDimension, typename TLevelSetEvolution >
NodePairsPerThreadType itk::LevelSetEvolutionComputeIterationThreader< WhitakerSparseLevelSetImage< TOutput, VDimension >, ThreadedIteratorRangePartitioner< WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >::m_NodePairsPerThread {}
protected

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