18#ifndef itkLevelSetEvolutionComputeIterationThreader_h
19#define itkLevelSetEvolutionComputeIterationThreader_h
39template <
typename TLevelSet,
typename TDomainPartitioner,
typename TLevelSetEvolution>
45template <
typename TImage,
typename TLevelSetEvolution>
46class ITK_TEMPLATE_EXPORT
50 :
public DomainThreader<ThreadedImageRegionPartitioner<TImage::ImageDimension>, TLevelSetEvolution>
68 using typename Superclass::DomainType;
69 using typename Superclass::AssociateType;
73 using IdListType =
typename LevelSetEvolutionType::IdListType;
95template <
typename TImage,
typename TLevelSetEvolution>
99 typename TLevelSetEvolution::DomainMapImageFilterType::DomainMapType::const_iterator>,
102 typename TLevelSetEvolution::DomainMapImageFilterType::DomainMapType::const_iterator>,
109 typename TLevelSetEvolution::DomainMapImageFilterType::DomainMapType::const_iterator;
125 using typename Superclass::DomainType;
126 using typename Superclass::AssociateType;
130 using IdListType =
typename LevelSetEvolutionType::IdListType;
153template <
typename TOutput,
unsigned int VDimension,
typename TLevelSetEvolution>
159 ThreadedIteratorRangePartitioner<typename WhitakerSparseLevelSetImage<TOutput, VDimension>::LayerConstIterator>,
180 using typename Superclass::DomainType;
181 using typename Superclass::AssociateType;
215#ifndef ITK_MANUAL_INSTANTIATION
216# include "itkLevelSetEvolutionComputeIterationThreader.hxx"
Multi-threaded processing on a domain by processing sub-domains per thread.
typename DomainPartitionerType::DomainType DomainType
Base class for the "dense" representation of a level-set function on one image.
typename LevelSetEvolutionType::IdListConstIterator IdListConstIterator
typename LevelSetEvolutionType::IdListType IdListType
typename LevelSetEvolutionType::LevelSetOutputRealType LevelSetOutputRealType
typename LevelSetEvolutionType::LevelSetType LevelSetType
TLevelSetEvolution LevelSetEvolutionType
LevelSetEvolutionComputeIterationThreader()=default
typename LevelSetType::OffsetType OffsetType
typename LevelSetEvolutionType::LevelSetDataType LevelSetDataType
void ThreadedExecution(const DomainType &imageSubDomain, const ThreadIdType threadId) override
typename LevelSetEvolutionType::LevelSetContainerType LevelSetContainerType
typename LevelSetType::RegionType RegionType
typename LevelSetEvolutionType::EquationContainerType EquationContainerType
typename LevelSetType::IndexType IndexType
typename LevelSetEvolutionType::LevelSetImageType LevelSetImageType
typename LevelSetEvolutionType::TermContainerType TermContainerType
typename LevelSetEvolutionType::InputImageType InputImageType
typename TLevelSetEvolution::DomainMapImageFilterType::DomainMapType::const_iterator DomainMapConstIteratorType
typename LevelSetType::OffsetType OffsetType
typename LevelSetEvolutionType::LevelSetContainerType LevelSetContainerType
typename LevelSetType::IndexType IndexType
typename LevelSetEvolutionType::LevelSetType LevelSetType
typename LevelSetType::RegionType RegionType
typename LevelSetEvolutionType::LevelSetDataType LevelSetDataType
typename LevelSetEvolutionType::LevelSetImageType LevelSetImageType
typename LevelSetEvolutionType::IdListConstIterator IdListConstIterator
TLevelSetEvolution LevelSetEvolutionType
void ThreadedExecution(const DomainType &imageSubRegion, const ThreadIdType threadId) override
typename LevelSetEvolutionType::EquationContainerType EquationContainerType
LevelSetEvolutionComputeIterationThreader()=default
typename LevelSetEvolutionType::TermContainerType TermContainerType
typename LevelSetEvolutionType::InputImageType InputImageType
typename LevelSetEvolutionType::LevelSetOutputRealType LevelSetOutputRealType
typename LevelSetEvolutionType::IdListType IdListType
typename LevelSetEvolutionType::LevelSetOutputType LevelSetOutputType
typename LevelSetEvolutionType::LevelSetType LevelSetType
typename LevelSetEvolutionType::LevelSetDataType LevelSetDataType
typename LevelSetType::OffsetType OffsetType
std::vector< std::vector< NodePairType > > NodePairsPerThreadType
TLevelSetEvolution LevelSetEvolutionType
typename LevelSetEvolutionType::NodePairType NodePairType
LevelSetEvolutionComputeIterationThreader()=default
void BeforeThreadedExecution() override
typename LevelSetEvolutionType::LevelSetInputType LevelSetInputType
typename LevelSetEvolutionType::LevelSetContainerType LevelSetContainerType
typename LevelSetEvolutionType::LevelSetIdentifierType LevelSetIdentifierType
typename LevelSetType::RegionType RegionType
void AfterThreadedExecution() override
void ThreadedExecution(const DomainType &iteratorSubRange, const ThreadIdType threadId) override
typename LevelSetType::IndexType IndexType
typename LevelSetEvolutionType::TermContainerType TermContainerType
Thread the ComputeIteration method.
Light weight base class for most itk classes.
Class for partitioning of an ImageRegion.
Partitions an iterator range for threading.
Derived class for the sparse-field representation of level-set function.
ImageBaseType::RegionType RegionType
ImageBaseType::IndexType IndexType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned int ThreadIdType