Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
src
Components
Metrics
DisplacementMagnitudePenalty
itkDisplacementMagnitudePenaltyTerm.h
Go to the documentation of this file.
1
/*======================================================================
2
3
This file is part of the elastix software.
4
5
Copyright (c) University Medical Center Utrecht. All rights reserved.
6
See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
7
details.
8
9
This software is distributed WITHOUT ANY WARRANTY; without even
10
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11
PURPOSE. See the above copyright notices for more information.
12
13
======================================================================*/
14
#ifndef __itkDisplacementMagnitudePenaltyTerm_h
15
#define __itkDisplacementMagnitudePenaltyTerm_h
16
17
#include "
itkTransformPenaltyTerm.h
"
18
19
namespace
itk
20
{
21
29
template
<
class
TFixedImage,
class
TScalarType >
30
class
DisplacementMagnitudePenaltyTerm
31
:
public
TransformPenaltyTerm
< TFixedImage, TScalarType >
32
{
33
public
:
34
36
typedef
DisplacementMagnitudePenaltyTerm
Self
;
37
typedef
TransformPenaltyTerm
<
38
TFixedImage, TScalarType >
Superclass
;
39
typedef
SmartPointer<Self>
Pointer
;
40
typedef
SmartPointer<const Self>
ConstPointer
;
41
43
itkNewMacro(
Self
);
44
46
itkTypeMacro(
DisplacementMagnitudePenaltyTerm
,
TransformPenaltyTerm
);
47
49
typedef
typename
Superclass::CoordinateRepresentationType
CoordinateRepresentationType
;
50
typedef
typename
Superclass::MovingImageType
MovingImageType
;
51
typedef
typename
Superclass::MovingImagePixelType
MovingImagePixelType
;
52
typedef
typename
Superclass::MovingImagePointer
MovingImagePointer
;
53
typedef
typename
Superclass::MovingImageConstPointer
MovingImageConstPointer
;
54
typedef
typename
Superclass::FixedImageType
FixedImageType
;
55
typedef
typename
Superclass::FixedImagePointer
FixedImagePointer
;
56
typedef
typename
Superclass::FixedImageConstPointer
FixedImageConstPointer
;
57
typedef
typename
Superclass::FixedImageRegionType
FixedImageRegionType
;
58
typedef
typename
Superclass::TransformType
TransformType
;
59
typedef
typename
Superclass::TransformPointer
TransformPointer
;
60
typedef
typename
Superclass::InputPointType
InputPointType
;
61
typedef
typename
Superclass::OutputPointType
OutputPointType
;
62
typedef
typename
Superclass::TransformParametersType
TransformParametersType
;
63
typedef
typename
Superclass::TransformJacobianType
TransformJacobianType
;
64
typedef
typename
Superclass::InterpolatorType
InterpolatorType
;
65
typedef
typename
Superclass::InterpolatorPointer
InterpolatorPointer
;
66
typedef
typename
Superclass::RealType
RealType
;
67
typedef
typename
Superclass::GradientPixelType
GradientPixelType
;
68
typedef
typename
Superclass::GradientImageType
GradientImageType
;
69
typedef
typename
Superclass::GradientImagePointer
GradientImagePointer
;
70
typedef
typename
Superclass::GradientImageFilterType
GradientImageFilterType
;
71
typedef
typename
Superclass::GradientImageFilterPointer
GradientImageFilterPointer
;
72
typedef
typename
Superclass::FixedImageMaskType
FixedImageMaskType
;
73
typedef
typename
Superclass::FixedImageMaskPointer
FixedImageMaskPointer
;
74
typedef
typename
Superclass::MovingImageMaskType
MovingImageMaskType
;
75
typedef
typename
Superclass::MovingImageMaskPointer
MovingImageMaskPointer
;
76
typedef
typename
Superclass::MeasureType
MeasureType
;
77
typedef
typename
Superclass::DerivativeType
DerivativeType
;
78
typedef
typename
Superclass::DerivativeValueType
DerivativeValueType
;
79
typedef
typename
Superclass::ParametersType
ParametersType
;
80
typedef
typename
Superclass::FixedImagePixelType
FixedImagePixelType
;
81
typedef
typename
Superclass::ImageSampleContainerType
ImageSampleContainerType
;
82
typedef
typename
Superclass::ImageSampleContainerPointer
ImageSampleContainerPointer
;
83
typedef
typename
Superclass::ScalarType
ScalarType
;
84
86
typedef
typename
Superclass::SpatialJacobianType
SpatialJacobianType
;
87
typedef
typename
Superclass
88
::JacobianOfSpatialJacobianType
JacobianOfSpatialJacobianType
;
89
typedef
typename
Superclass::SpatialHessianType
SpatialHessianType
;
90
typedef
typename
Superclass
91
::JacobianOfSpatialHessianType
JacobianOfSpatialHessianType
;
92
typedef
typename
Superclass::InternalMatrixType
InternalMatrixType
;
93
95
itkStaticConstMacro
( FixedImageDimension,
unsigned
int
, FixedImageType::ImageDimension );
96
100
virtual
MeasureType
GetValue
(
const
ParametersType
& parameters )
const
;
101
104
virtual
void
GetDerivative
(
const
ParametersType
& parameters,
105
DerivativeType
& derivative )
const
;
106
111
virtual
void
GetValueAndDerivative
(
112
const
ParametersType
& parameters,
113
MeasureType
& value,
114
DerivativeType
& derivative )
const
;
115
116
protected
:
117
119
typedef
typename
Superclass::FixedImageIndexType
FixedImageIndexType
;
120
typedef
typename
Superclass::FixedImageIndexValueType
FixedImageIndexValueType
;
121
typedef
typename
Superclass::MovingImageIndexType
MovingImageIndexType
;
122
typedef
typename
Superclass::FixedImagePointType
FixedImagePointType
;
123
typedef
typename
Superclass::MovingImagePointType
MovingImagePointType
;
124
typedef
typename
Superclass::MovingImageContinuousIndexType
MovingImageContinuousIndexType
;
125
typedef
typename
Superclass::NonZeroJacobianIndicesType
NonZeroJacobianIndicesType
;
126
128
DisplacementMagnitudePenaltyTerm
();
129
131
virtual
~DisplacementMagnitudePenaltyTerm
() {};
132
136
private
:
137
139
DisplacementMagnitudePenaltyTerm
(
const
Self
& );
// purposely not implemented
141
void
operator=
(
const
Self
& );
// purposely not implemented
142
143
};
// end class DisplacementMagnitudePenaltyTerm
144
145
146
}
// end namespace itk
147
148
#ifndef ITK_MANUAL_INSTANTIATION
149
#include "itkDisplacementMagnitudePenaltyTerm.txx"
150
#endif
151
152
#endif // #ifndef __itkDisplacementMagnitudePenaltyTerm_h
153
Generated on 21-03-2014 for elastix by
1.8.1.2