18 #ifndef itkLevelSetEvolutionComputeIterationThreader_h
19 #define itkLevelSetEvolutionComputeIterationThreader_h
38 template<
typename TLevelSet,
typename TDomainPartitioner,
typename TLevelSetEvolution >
44 template<
typename TImage,
typename TLevelSetEvolution >
46 :
public DomainThreader< ThreadedImageRegionPartitioner< TImage::ImageDimension >, TLevelSetEvolution >
62 typedef typename Superclass::DomainType
DomainType;
67 typedef typename LevelSetEvolutionType::IdListType
IdListType;
84 virtual void ThreadedExecution(
const DomainType & imageSubRegion,
const ThreadIdType threadId ) ITK_OVERRIDE;
88 void operator=(
const Self & );
92 template<
typename TImage,
typename TLevelSetEvolution >
95 :
public DomainThreader< ThreadedIteratorRangePartitioner< typename TLevelSetEvolution::DomainMapImageFilterType::DomainMapType::const_iterator >, TLevelSetEvolution >
114 typedef typename Superclass::DomainType
DomainType;
119 typedef typename LevelSetEvolutionType::IdListType
IdListType;
136 virtual void ThreadedExecution(
const DomainType & imageSubRegion,
const ThreadIdType threadId ) ITK_OVERRIDE;
140 void operator=(
const Self & );
145 template<
typename TOutput,
unsigned int VDimension,
typename TLevelSetEvolution >
151 :
public DomainThreader< ThreadedIteratorRangePartitioner< typename WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution >
167 typedef typename Superclass::DomainType
DomainType;
187 virtual void BeforeThreadedExecution() ITK_OVERRIDE;
189 virtual
void ThreadedExecution( const
DomainType & iteratorSubRange, const
ThreadIdType threadId ) ITK_OVERRIDE;
191 virtual
void AfterThreadedExecution() ITK_OVERRIDE;
194 NodePairsPerThreadType m_NodePairsPerThread;
198 void operator=( const Self & );
203 #ifndef ITK_MANUAL_INSTANTIATION
204 #include "itkLevelSetEvolutionComputeIterationThreader.hxx"
LevelSetEvolutionType::LevelSetContainerType LevelSetContainerType
LevelSetEvolutionComputeIterationThreader Self
TLevelSetEvolution LevelSetEvolutionType
LevelSetEvolutionType::EquationContainerType EquationContainerType
LevelSetEvolutionType::LevelSetContainerType LevelSetContainerType
Light weight base class for most itk classes.
LevelSetEvolutionType::LevelSetDataType LevelSetDataType
LevelSetEvolutionType::LevelSetDataType LevelSetDataType
LevelSetEvolutionType::TermContainerType TermContainerType
Superclass::AssociateType AssociateType
LevelSetType::OffsetType OffsetType
LevelSetEvolutionType::IdListConstIterator IdListConstIterator
std::vector< std::vector< NodePairType > > NodePairsPerThreadType
SmartPointer< const Self > ConstPointer
LevelSetEvolutionType::LevelSetOutputType LevelSetOutputType
Multi-threaded processing on a domain by processing sub-domains per thread.
SmartPointer< Self > Pointer
LevelSetEvolutionType::TermContainerType TermContainerType
Superclass::DomainType DomainType
Superclass::AssociateType AssociateType
LevelSetType::OffsetType OffsetType
LevelSetEvolutionType::LevelSetType LevelSetType
LevelSetEvolutionType::LevelSetImageType LevelSetImageType
ThreadedIteratorRangePartitioner< DomainMapConstIteratorType > ThreadedDomainMapPartitionerType
LevelSetEvolutionType::IdListType IdListType
Class for partitioning of an ImageRegion.
SmartPointer< const Self > ConstPointer
LevelSetEvolutionType::LevelSetType LevelSetType
Superclass::DomainType DomainType
LevelSetType::OffsetType OffsetType
SmartPointer< const Self > ConstPointer
LevelSetEvolutionComputeIterationThreader Self
DomainThreader< ThreadedDomainMapPartitionerType, TLevelSetEvolution > Superclass
DomainThreader< ThreadedIteratorRangePartitioner< typename WhitakerSparseLevelSetImage< TOutput, VDimension >::LayerConstIterator >, TLevelSetEvolution > Superclass
TLevelSetEvolution LevelSetEvolutionType
LevelSetEvolutionType::EquationContainerType EquationContainerType
LevelSetType::RegionType RegionType
LevelSetType::RegionType RegionType
LevelSetEvolutionType::LevelSetOutputRealType LevelSetOutputRealType
LevelSetEvolutionType::LevelSetType LevelSetType
Thread the ComputeIteration method.
LevelSetEvolutionType::IdListType IdListType
LevelSetEvolutionType::LevelSetDataType LevelSetDataType
Derived class for the sparse-field representation of level-set function.
LevelSetEvolutionType::NodePairType NodePairType
LevelSetType::IndexType IndexType
Base class for the "dense" representation of a level-set function on one image.
LevelSetEvolutionType::InputImageType InputImageType
LevelSetEvolutionComputeIterationThreader Self
LevelSetType::RegionType RegionType
SmartPointer< Self > Pointer
LevelSetEvolutionType::LevelSetInputType LevelSetInputType
LevelSetType::IndexType IndexType
Partitions an iterator range for threading.
unsigned int ThreadIdType
TLevelSetEvolution::DomainMapImageFilterType::DomainMapType::const_iterator DomainMapConstIteratorType
LevelSetEvolutionType::InputImageType InputImageType
Superclass::DomainType DomainType
LevelSetEvolutionType::LevelSetContainerType LevelSetContainerType
LevelSetEvolutionType::TermContainerType TermContainerType
LevelSetEvolutionType::LevelSetIdentifierType LevelSetIdentifierType
Superclass::AssociateType AssociateType
SmartPointer< Self > Pointer
DomainThreader< ThreadedImageRegionPartitioner< TImage::ImageDimension >, TLevelSetEvolution > Superclass
LevelSetEvolutionType::IdListConstIterator IdListConstIterator
LevelSetEvolutionType::LevelSetOutputRealType LevelSetOutputRealType
LevelSetType::IndexType IndexType
LevelSetEvolutionType::LevelSetImageType LevelSetImageType
TLevelSetEvolution LevelSetEvolutionType