ITK
5.0.0
Insight Segmentation and Registration Toolkit
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
ITK
Modules
Segmentation
LevelSetsv4
include
itkLevelSetEvolutionUpdateLevelSetsThreader.h
Go to the documentation of this file.
1
/*=========================================================================
2
*
3
* Copyright Insight Software Consortium
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0.txt
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
*=========================================================================*/
18
#ifndef itkLevelSetEvolutionUpdateLevelSetsThreader_h
19
#define itkLevelSetEvolutionUpdateLevelSetsThreader_h
20
21
#include "
itkCompensatedSummation.h
"
22
#include "
itkDomainThreader.h
"
23
#include "
itkLevelSetDenseImage.h
"
24
#include "
itkThreadedImageRegionPartitioner.h
"
25
26
namespace
itk
27
{
28
36
template
<
typename
TLevelSet,
typename
TDomainPartitioner,
typename
TLevelSetEvolution >
37
class
ITK_TEMPLATE_EXPORT
LevelSetEvolutionUpdateLevelSetsThreader
38
{};
39
40
// For dense image level set.
41
template
<
typename
TImage,
typename
TLevelSetEvolution >
42
class
ITK_TEMPLATE_EXPORT
LevelSetEvolutionUpdateLevelSetsThreader
<
LevelSetDenseImage
< TImage >,
ThreadedImageRegionPartitioner
< TImage::ImageDimension >, TLevelSetEvolution >
43
:
public
DomainThreader
< ThreadedImageRegionPartitioner< TImage::ImageDimension >, TLevelSetEvolution >
44
{
45
public
:
46
ITK_DISALLOW_COPY_AND_ASSIGN(
LevelSetEvolutionUpdateLevelSetsThreader
);
47
49
using
Self
=
LevelSetEvolutionUpdateLevelSetsThreader
;
50
using
Superclass
=
DomainThreader< ThreadedImageRegionPartitioner< TImage::ImageDimension >
, TLevelSetEvolution >;
51
using
Pointer
=
SmartPointer< Self >
;
52
using
ConstPointer
=
SmartPointer< const Self >
;
53
55
itkTypeMacro(
LevelSetEvolutionUpdateLevelSetsThreader
,
DomainThreader
);
56
58
itkNewMacro(
Self
);
59
61
using
DomainType
=
typename
Superclass::DomainType;
62
using
AssociateType
=
typename
Superclass::AssociateType;
63
65
using
LevelSetEvolutionType
= TLevelSetEvolution;
66
using
LevelSetContainerType
=
typename
LevelSetEvolutionType::LevelSetContainerType;
67
using
LevelSetType
=
typename
LevelSetEvolutionType::LevelSetType;
68
using
LevelSetImageType
=
typename
LevelSetEvolutionType::LevelSetImageType;
69
using
LevelSetOutputRealType
=
typename
LevelSetEvolutionType::LevelSetOutputRealType;
70
71
protected
:
72
LevelSetEvolutionUpdateLevelSetsThreader
() =
default
;
73
74
void
BeforeThreadedExecution()
override
;
75
76
void
ThreadedExecution(
const
DomainType
& imageSubRegion,
const
ThreadIdType
threadId )
override
;
77
78
void
AfterThreadedExecution()
override
;
79
80
using
RMSChangeAccumulatorType
=
CompensatedSummation< LevelSetOutputRealType >
;
81
using
RMSChangeAccumulatorPerThreadType
= std::vector< RMSChangeAccumulatorType >;
82
83
RMSChangeAccumulatorPerThreadType
m_RMSChangeAccumulatorPerThread
;
84
};
85
86
}
// end namespace itk
87
88
#ifndef ITK_MANUAL_INSTANTIATION
89
#include "itkLevelSetEvolutionUpdateLevelSetsThreader.hxx"
90
#endif
91
92
#endif
itk::LevelSetEvolutionUpdateLevelSetsThreader< LevelSetDenseImage< TImage >, ThreadedImageRegionPartitioner< TImage::ImageDimension >, TLevelSetEvolution >::LevelSetImageType
typename LevelSetEvolutionType::LevelSetImageType LevelSetImageType
Definition:
itkLevelSetEvolutionUpdateLevelSetsThreader.h:68
itk::LightObject
Light weight base class for most itk classes.
Definition:
itkLightObject.h:55
itk::LevelSetEvolutionUpdateLevelSetsThreader< LevelSetDenseImage< TImage >, ThreadedImageRegionPartitioner< TImage::ImageDimension >, TLevelSetEvolution >::LevelSetType
typename LevelSetEvolutionType::LevelSetType LevelSetType
Definition:
itkLevelSetEvolutionUpdateLevelSetsThreader.h:67
itk::DomainThreader
Multi-threaded processing on a domain by processing sub-domains per thread.
Definition:
itkDomainThreader.h:66
itk::LevelSetEvolutionUpdateLevelSetsThreader< LevelSetDenseImage< TImage >, ThreadedImageRegionPartitioner< TImage::ImageDimension >, TLevelSetEvolution >::m_RMSChangeAccumulatorPerThread
RMSChangeAccumulatorPerThreadType m_RMSChangeAccumulatorPerThread
Definition:
itkLevelSetEvolutionUpdateLevelSetsThreader.h:83
itk::LevelSetEvolutionUpdateLevelSetsThreader
Threade the UpdateLevelSets method.
Definition:
itkLevelSetEvolutionUpdateLevelSetsThreader.h:37
itk::LevelSetEvolutionUpdateLevelSetsThreader< LevelSetDenseImage< TImage >, ThreadedImageRegionPartitioner< TImage::ImageDimension >, TLevelSetEvolution >::LevelSetOutputRealType
typename LevelSetEvolutionType::LevelSetOutputRealType LevelSetOutputRealType
Definition:
itkLevelSetEvolutionUpdateLevelSetsThreader.h:69
itk::ThreadedImageRegionPartitioner
Class for partitioning of an ImageRegion.
Definition:
itkThreadedImageRegionPartitioner.h:45
itkCompensatedSummation.h
itk::LevelSetEvolutionUpdateLevelSetsThreader< LevelSetDenseImage< TImage >, ThreadedImageRegionPartitioner< TImage::ImageDimension >, TLevelSetEvolution >::AssociateType
typename Superclass::AssociateType AssociateType
Definition:
itkLevelSetEvolutionUpdateLevelSetsThreader.h:62
itk::LevelSetEvolutionUpdateLevelSetsThreader< LevelSetDenseImage< TImage >, ThreadedImageRegionPartitioner< TImage::ImageDimension >, TLevelSetEvolution >::LevelSetEvolutionType
TLevelSetEvolution LevelSetEvolutionType
Definition:
itkLevelSetEvolutionUpdateLevelSetsThreader.h:65
itkLevelSetDenseImage.h
itk::LevelSetEvolutionUpdateLevelSetsThreader< LevelSetDenseImage< TImage >, ThreadedImageRegionPartitioner< TImage::ImageDimension >, TLevelSetEvolution >::LevelSetContainerType
typename LevelSetEvolutionType::LevelSetContainerType LevelSetContainerType
Definition:
itkLevelSetEvolutionUpdateLevelSetsThreader.h:66
itk::CompensatedSummation
Perform more precise accumulation of floating point numbers.
Definition:
itkCompensatedSummation.h:66
itk::LevelSetDenseImage
Base class for the "dense" representation of a level-set function on one image.
Definition:
itkLevelSetDenseImage.h:41
itk::LevelSetEvolutionUpdateLevelSetsThreader< LevelSetDenseImage< TImage >, ThreadedImageRegionPartitioner< TImage::ImageDimension >, TLevelSetEvolution >::RMSChangeAccumulatorPerThreadType
std::vector< RMSChangeAccumulatorType > RMSChangeAccumulatorPerThreadType
Definition:
itkLevelSetEvolutionUpdateLevelSetsThreader.h:81
itk::ThreadIdType
unsigned int ThreadIdType
Definition:
itkIntTypes.h:99
itk::LevelSetEvolutionUpdateLevelSetsThreader< LevelSetDenseImage< TImage >, ThreadedImageRegionPartitioner< TImage::ImageDimension >, TLevelSetEvolution >::DomainType
typename Superclass::DomainType DomainType
Definition:
itkLevelSetEvolutionUpdateLevelSetsThreader.h:61
itk::SmartPointer< Self >
itkThreadedImageRegionPartitioner.h
itkDomainThreader.h
Generated on Sun Mar 24 2019 03:01:31 for ITK by
1.8.5