ITK
5.2.0
Insight Toolkit
ITK
Modules
Registration
Metricsv4
include
itkJointHistogramMutualInformationComputeJointPDFThreaderBase.h
Go to the documentation of this file.
1
/*=========================================================================
2
*
3
* Copyright NumFOCUS
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 itkJointHistogramMutualInformationComputeJointPDFThreaderBase_h
19
#define itkJointHistogramMutualInformationComputeJointPDFThreaderBase_h
20
21
#include "
itkDomainThreader.h
"
22
#include "
itkImage.h
"
23
24
namespace
itk
25
{
26
35
template
<
typename
TDomainPartitioner,
typename
TJo
int
HistogramMetric>
36
class
ITK_TEMPLATE_EXPORT
JointHistogramMutualInformationComputeJointPDFThreaderBase
37
:
public
DomainThreader
<TDomainPartitioner, TJointHistogramMetric>
38
{
39
public
:
40
ITK_DISALLOW_COPY_AND_MOVE(
JointHistogramMutualInformationComputeJointPDFThreaderBase
);
41
43
using
Self
=
JointHistogramMutualInformationComputeJointPDFThreaderBase
;
44
using
Superclass
=
DomainThreader<TDomainPartitioner, TJointHistogramMetric>
;
45
using
Pointer
=
SmartPointer<Self>
;
46
using
ConstPointer
=
SmartPointer<const Self>
;
47
48
itkTypeMacro(
JointHistogramMutualInformationComputeJointPDFThreaderBase
,
DomainThreader
);
49
51
using
DomainType
=
typename
Superclass::DomainType;
52
using
AssociateType
=
typename
Superclass::AssociateType;
53
55
using
JointHistogramMetricType
= TJointHistogramMetric;
56
using
VirtualImageType
=
typename
JointHistogramMetricType::VirtualImageType;
57
using
VirtualIndexType
=
typename
JointHistogramMetricType::VirtualIndexType;
58
using
VirtualPointType
=
typename
JointHistogramMetricType::VirtualPointType;
59
using
JointPDFType
=
typename
JointHistogramMetricType::JointPDFType;
60
using
JointPDFIndexType
=
typename
JointHistogramMetricType::JointPDFIndexType;
61
using
JointPDFPointType
=
typename
JointHistogramMetricType::JointPDFPointType;
62
using
JointPDFValueType
=
typename
JointHistogramMetricType::JointPDFValueType;
63
64
using
InternalComputationValueType
=
typename
JointHistogramMetricType::InternalComputationValueType;
65
66
protected
:
67
JointHistogramMutualInformationComputeJointPDFThreaderBase
();
68
~
JointHistogramMutualInformationComputeJointPDFThreaderBase
()
override
;
69
71
void
72
BeforeThreadedExecution()
override
;
73
75
virtual
void
76
ProcessPoint(
const
VirtualIndexType
& virtualIndex,
77
const
VirtualPointType
& virtualPoint,
78
const
ThreadIdType
threadId);
79
81
void
82
AfterThreadedExecution()
override
;
83
84
using
JointHistogramType
=
Image<SizeValueType, 2>
;
85
// TODO: This needs updating
86
struct
JointHistogramMIPerThreadStruct
87
{
88
typename
JointHistogramType::Pointer
JointHistogram
;
89
SizeValueType
JointHistogramCount
;
90
};
91
itkPadStruct(ITK_CACHE_LINE_ALIGNMENT,
JointHistogramMIPerThreadStruct
, PaddedJointHistogramMIPerThreadStruct);
92
itkAlignedTypedef(ITK_CACHE_LINE_ALIGNMENT,
93
PaddedJointHistogramMIPerThreadStruct,
94
AlignedJointHistogramMIPerThreadStruct);
95
AlignedJointHistogramMIPerThreadStruct *
m_JointHistogramMIPerThreadVariables
;
96
};
97
98
}
// end namespace itk
99
100
#endif
101
102
#ifndef ITK_MANUAL_INSTANTIATION
103
#include "itkJointHistogramMutualInformationComputeJointPDFThreaderBase.hxx"
104
#endif
itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< ThreadedIndexedContainerPartitioner, TJointHistogramMetric >::JointPDFType
typename JointHistogramMetricType::JointPDFType JointPDFType
Definition:
itkJointHistogramMutualInformationComputeJointPDFThreaderBase.h:59
itk::DomainThreader< ThreadedIndexedContainerPartitioner, TJointHistogramMetric >::AssociateType
TJointHistogramMetric AssociateType
Definition:
itkDomainThreader.h:80
itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< ThreadedIndexedContainerPartitioner, TJointHistogramMetric >::InternalComputationValueType
typename JointHistogramMetricType::InternalComputationValueType InternalComputationValueType
Definition:
itkJointHistogramMutualInformationComputeJointPDFThreaderBase.h:64
itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< ThreadedIndexedContainerPartitioner, TJointHistogramMetric >::JointPDFPointType
typename JointHistogramMetricType::JointPDFPointType JointPDFPointType
Definition:
itkJointHistogramMutualInformationComputeJointPDFThreaderBase.h:61
itk::JointHistogramMutualInformationComputeJointPDFThreaderBase::m_JointHistogramMIPerThreadVariables
AlignedJointHistogramMIPerThreadStruct * m_JointHistogramMIPerThreadVariables
Definition:
itkJointHistogramMutualInformationComputeJointPDFThreaderBase.h:95
itkImage.h
itk::SmartPointer< Self >
itk::JointHistogramMutualInformationComputeJointPDFThreaderBase
Compute the JointPDF image.
Definition:
itkJointHistogramMutualInformationComputeJointPDFThreaderBase.h:36
itk::ThreadIdType
unsigned int ThreadIdType
Definition:
itkIntTypes.h:99
itk::LightObject
Light weight base class for most itk classes.
Definition:
itkLightObject.h:59
itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< ThreadedIndexedContainerPartitioner, TJointHistogramMetric >::JointHistogramMetricType
TJointHistogramMetric JointHistogramMetricType
Definition:
itkJointHistogramMutualInformationComputeJointPDFThreaderBase.h:55
itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< ThreadedIndexedContainerPartitioner, TJointHistogramMetric >::VirtualPointType
typename JointHistogramMetricType::VirtualPointType VirtualPointType
Definition:
itkJointHistogramMutualInformationComputeJointPDFThreaderBase.h:58
itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< ThreadedIndexedContainerPartitioner, TJointHistogramMetric >::VirtualImageType
typename JointHistogramMetricType::VirtualImageType VirtualImageType
Definition:
itkJointHistogramMutualInformationComputeJointPDFThreaderBase.h:56
itk::DomainThreader< ThreadedIndexedContainerPartitioner, TJointHistogramMetric >::DomainType
typename DomainPartitionerType::DomainType DomainType
Definition:
itkDomainThreader.h:78
itk::JointHistogramMutualInformationComputeJointPDFThreaderBase::JointHistogramMIPerThreadStruct::JointHistogramCount
SizeValueType JointHistogramCount
Definition:
itkJointHistogramMutualInformationComputeJointPDFThreaderBase.h:89
itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< ThreadedIndexedContainerPartitioner, TJointHistogramMetric >::JointPDFValueType
typename JointHistogramMetricType::JointPDFValueType JointPDFValueType
Definition:
itkJointHistogramMutualInformationComputeJointPDFThreaderBase.h:62
itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< ThreadedIndexedContainerPartitioner, TJointHistogramMetric >::VirtualIndexType
typename JointHistogramMetricType::VirtualIndexType VirtualIndexType
Definition:
itkJointHistogramMutualInformationComputeJointPDFThreaderBase.h:57
itk::JointHistogramMutualInformationComputeJointPDFThreaderBase< ThreadedIndexedContainerPartitioner, TJointHistogramMetric >::JointPDFIndexType
typename JointHistogramMetricType::JointPDFIndexType JointPDFIndexType
Definition:
itkJointHistogramMutualInformationComputeJointPDFThreaderBase.h:60
itk::DomainThreader
Multi-threaded processing on a domain by processing sub-domains per thread.
Definition:
itkDomainThreader.h:66
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition:
itkAnnulusOperator.h:24
itk::Image
Templated n-dimensional image class.
Definition:
itkImage.h:86
itk::JointHistogramMutualInformationComputeJointPDFThreaderBase::JointHistogramMIPerThreadStruct
Definition:
itkJointHistogramMutualInformationComputeJointPDFThreaderBase.h:86
itk::JointHistogramMutualInformationComputeJointPDFThreaderBase::JointHistogramMIPerThreadStruct::JointHistogram
JointHistogramType::Pointer JointHistogram
Definition:
itkJointHistogramMutualInformationComputeJointPDFThreaderBase.h:88
itkDomainThreader.h
itk::SizeValueType
unsigned long SizeValueType
Definition:
itkIntTypes.h:83
Generated on Thu Apr 1 2021 01:50:53 for ITK by
1.8.16