go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkPCAMetric2.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright UMC Utrecht and contributors
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 __itkPCAMetric2_H__
19#define __itkPCAMetric2_H__
20
22
23#include "itkSmoothingRecursiveGaussianImageFilter.h"
25#include "itkNearestNeighborInterpolateImageFunction.h"
26#include "itkExtractImageFilter.h"
27
28namespace itk
29{
30template< class TFixedImage, class TMovingImage >
32 public AdvancedImageToImageMetric< TFixedImage, TMovingImage >
33{
34public:
35
39 TFixedImage, TMovingImage > Superclass;
41 typedef SmartPointer< const Self > ConstPointer;
42
44 typedef typename FixedImageRegionType::SizeType FixedImageSizeType;
45
47 itkNewMacro( Self );
48
51
53 itkSetMacro( NumAdditionalSamplesFixed, unsigned int );
54 itkSetMacro( ReducedDimensionIndex, unsigned int );
55 itkSetMacro( SubtractMean, bool );
56 itkSetMacro( GridSize, FixedImageSizeType );
57 itkSetMacro( TransformIsStackTransform, bool );
58
60 typedef typename
93 typedef typename
97 typedef typename
99 typedef typename
101 typedef typename
103
105 itkStaticConstMacro( FixedImageDimension, unsigned int,
106 FixedImageType::ImageDimension );
107
109 itkStaticConstMacro( MovingImageDimension, unsigned int,
110 MovingImageType::ImageDimension );
111
113 MeasureType GetValue( const TransformParametersType & parameters ) const override;
114
116 void GetDerivative( const TransformParametersType & parameters,
117 DerivativeType & derivative ) const override;
118
121 MeasureType & Value, DerivativeType & Derivative ) const override;
122
127 void Initialize( void ) override;
128
129protected:
130
132 ~PCAMetric2() override {}
133 void PrintSelf( std::ostream & os, Indent indent ) const override;
134
142 typedef typename itk::ContinuousIndex< CoordinateRepresentationType, FixedImageDimension >
150
156 const TransformJacobianType & jacobian,
157 const MovingImageDerivativeType & movingImageDerivative,
158 DerivativeType & imageJacobian ) const override;
159
160private:
161
162 PCAMetric2( const Self & ); // purposely not implemented
163 void operator=( const Self & ); // purposely not implemented
164
166 void SampleRandom( const int n, const int m, std::vector< int > & numbers ) const;
167
171
174
177
180
181};
182
183} // end namespace itk
184
185#ifndef ITK_MANUAL_INSTANTIATION
186#include "itkPCAMetric2.hxx"
187#endif
188
189#endif // end #ifndef __itkPCAMetric2_H__
An extension of the ITK ImageToImageMetric. It is the intended base class for all elastix metrics.
BSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, double > BSplineInterpolatorType
Superclass::FixedImageConstPointer FixedImageConstPointer
Superclass::TransformParametersType TransformParametersType
Superclass::MovingImageConstPointer MovingImageConstPointer
Superclass::FixedImageMaskPointer FixedImageMaskPointer
InterpolatorType::ContinuousIndexType MovingImageContinuousIndexType
Superclass::GradientImageFilterPointer GradientImageFilterPointer
Superclass::GradientImageFilterType GradientImageFilterType
Superclass::TransformJacobianType TransformJacobianType
FixedArray< double, Self::MovingImageDimension > MovingImageDerivativeScalesType
Superclass::GradientImagePointer GradientImagePointer
Superclass::TransformPointer TransformPointer
ImageSamplerType::OutputVectorContainerPointer ImageSampleContainerPointer
AdvancedTransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
ImageSamplerBase< FixedImageType > ImageSamplerType
Superclass::CoordinateRepresentationType CoordinateRepresentationType
ImageSamplerType::OutputVectorContainerType ImageSampleContainerType
Superclass::InterpolatorPointer InterpolatorPointer
Superclass::MovingImageMaskPointer MovingImageMaskPointer
TransformType::InputPointType FixedImagePointType
Superclass::MovingImageMaskType MovingImageMaskType
Superclass::GradientPixelType GradientPixelType
MovingImageType::IndexType MovingImageIndexType
MovingImageType::RegionType MovingImageRegionType
FixedImageLimiterType::OutputType FixedImageLimiterOutputType
FixedImageIndexType::IndexValueType FixedImageIndexValueType
Superclass::MovingImagePixelType MovingImagePixelType
MovingImageLimiterType::OutputType MovingImageLimiterOutputType
GradientImageFilter< MovingImageType, RealType, RealType > CentralDifferenceGradientFilterType
LimiterFunctionBase< RealType, MovingImageDimension > MovingImageLimiterType
BSplineInterpolatorType::CovariantVectorType MovingImageDerivativeType
Superclass::FixedImageMaskType FixedImageMaskType
Superclass::GradientImageType GradientImageType
Superclass::InterpolatorType InterpolatorType
TransformType::OutputPointType MovingImagePointType
LimiterFunctionBase< RealType, FixedImageDimension > FixedImageLimiterType
Superclass::FixedImageRegionType FixedImageRegionType
Superclass::FixedImageIndexValueType FixedImageIndexValueType
MeasureType GetValue(const TransformParametersType &parameters) const override
~PCAMetric2() override
Superclass::TransformJacobianType TransformJacobianType
Definition: itkPCAMetric2.h:72
void Initialize(void) override
Superclass::FixedImageLimiterOutputType FixedImageLimiterOutputType
Definition: itkPCAMetric2.h:98
Superclass::TransformParametersType TransformParametersType
Definition: itkPCAMetric2.h:71
Superclass::ImageSamplerType ImageSamplerType
Definition: itkPCAMetric2.h:90
PCAMetric2(const Self &)
Superclass::TransformType TransformType
Definition: itkPCAMetric2.h:67
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
Superclass::InterpolatorPointer InterpolatorPointer
Definition: itkPCAMetric2.h:74
FixedImageSizeType m_GridSize
Superclass::CoordinateRepresentationType CoordinateRepresentationType
Definition: itkPCAMetric2.h:61
Superclass::ImageSamplerPointer ImageSamplerPointer
Definition: itkPCAMetric2.h:91
Superclass::FixedImageMaskPointer FixedImageMaskPointer
Definition: itkPCAMetric2.h:82
Superclass::OutputPointType OutputPointType
Definition: itkPCAMetric2.h:70
Superclass::MovingImageDerivativeType MovingImageDerivativeType
Superclass::TransformPointer TransformPointer
Definition: itkPCAMetric2.h:68
unsigned int m_NumAdditionalSamplesFixed
void PrintSelf(std::ostream &os, Indent indent) const override
void GetValueAndDerivative(const TransformParametersType &parameters, MeasureType &Value, DerivativeType &Derivative) const override
Superclass::DerivativeType DerivativeType
Definition: itkPCAMetric2.h:86
Superclass::MovingImageMaskType MovingImageMaskType
Definition: itkPCAMetric2.h:83
Superclass::FixedImagePixelType FixedImagePixelType
Definition: itkPCAMetric2.h:88
Superclass::MovingImageLimiterType MovingImageLimiterType
Definition: itkPCAMetric2.h:96
Superclass::FixedImageLimiterType FixedImageLimiterType
Definition: itkPCAMetric2.h:95
Superclass::CentralDifferenceGradientFilterType CentralDifferenceGradientFilterType
Superclass::MovingImageType MovingImageType
Definition: itkPCAMetric2.h:62
void SampleRandom(const int n, const int m, std::vector< int > &numbers) const
AdvancedImageToImageMetric< TFixedImage, TMovingImage > Superclass
Definition: itkPCAMetric2.h:39
Superclass::MovingImageRegionType MovingImageRegionType
Definition: itkPCAMetric2.h:89
Superclass::MovingImageDerivativeScalesType MovingImageDerivativeScalesType
Superclass::GradientImageFilterType GradientImageFilterType
Definition: itkPCAMetric2.h:79
Superclass::FixedImageIndexType FixedImageIndexType
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
Superclass::ImageSampleContainerType ImageSampleContainerType
Definition: itkPCAMetric2.h:92
Superclass::GradientImageFilterPointer GradientImageFilterPointer
Definition: itkPCAMetric2.h:80
bool m_TransformIsStackTransform
Superclass::MovingImagePixelType MovingImagePixelType
Definition: itkPCAMetric2.h:63
Superclass::MeasureType MeasureType
Definition: itkPCAMetric2.h:85
unsigned int m_ReducedDimensionIndex
Superclass::MovingImageMaskPointer MovingImageMaskPointer
Definition: itkPCAMetric2.h:84
Superclass::InputPointType InputPointType
Definition: itkPCAMetric2.h:69
Superclass::MovingImagePointType MovingImagePointType
Superclass::InterpolatorType InterpolatorType
Definition: itkPCAMetric2.h:73
Superclass::MovingImageContinuousIndexType MovingImageContinuousIndexType
PCAMetric2 Self
Definition: itkPCAMetric2.h:37
void operator=(const Self &)
Superclass::GradientImagePointer GradientImagePointer
Definition: itkPCAMetric2.h:78
Superclass::MovingImageLimiterOutputType MovingImageLimiterOutputType
Superclass::MovingImageIndexType MovingImageIndexType
Superclass::FixedImageType FixedImageType
Definition: itkPCAMetric2.h:65
Superclass::FixedImageConstPointer FixedImageConstPointer
Definition: itkPCAMetric2.h:66
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Superclass::GradientPixelType GradientPixelType
Definition: itkPCAMetric2.h:76
Superclass::ImageSampleContainerPointer ImageSampleContainerPointer
Definition: itkPCAMetric2.h:94
SmartPointer< const Self > ConstPointer
Definition: itkPCAMetric2.h:41
Superclass::BSplineInterpolatorType BSplineInterpolatorType
FixedImageRegionType::SizeType FixedImageSizeType
Definition: itkPCAMetric2.h:44
Superclass::MovingImageConstPointer MovingImageConstPointer
Definition: itkPCAMetric2.h:64
void GetDerivative(const TransformParametersType &parameters, DerivativeType &derivative) const override
void EvaluateTransformJacobianInnerProduct(const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const override
Superclass::RealType RealType
Definition: itkPCAMetric2.h:75
itk::ContinuousIndex< CoordinateRepresentationType, FixedImageDimension > FixedImageContinuousIndexType
Superclass::FixedImageRegionType FixedImageRegionType
Definition: itkPCAMetric2.h:43
Superclass::FixedImageMaskType FixedImageMaskType
Definition: itkPCAMetric2.h:81
Superclass::GradientImageType GradientImageType
Definition: itkPCAMetric2.h:77
Superclass::FixedImagePointType FixedImagePointType
Superclass::ParametersType ParametersType
Definition: itkPCAMetric2.h:87
SmartPointer< Self > Pointer
Definition: itkPCAMetric2.h:40


Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo