go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkVarianceOverLastDimensionImageMetric.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
19#ifndef __itkVarianceOverLastDimensionImageMetric_h
20#define __itkVarianceOverLastDimensionImageMetric_h
21
22#include "itkSmoothingRecursiveGaussianImageFilter.h"
24#include "itkNearestNeighborInterpolateImageFunction.h"
26
27namespace itk
28{
29
51template< class TFixedImage, class TMovingImage >
53 public AdvancedImageToImageMetric< TFixedImage, TMovingImage >
54{
55public:
56
60 TFixedImage, TMovingImage > Superclass;
62 typedef SmartPointer< const Self > ConstPointer;
63
65 typedef typename FixedImageRegionType::SizeType FixedImageSizeType;
66
68 itkNewMacro( Self );
69
72
74 itkSetMacro( SampleLastDimensionRandomly, bool );
75 itkSetMacro( NumSamplesLastDimension, unsigned int );
76 itkSetMacro( NumAdditionalSamplesFixed, unsigned int );
77 itkSetMacro( ReducedDimensionIndex, unsigned int );
78 itkSetMacro( SubtractMean, bool );
79 itkSetMacro( GridSize, FixedImageSizeType );
80 itkSetMacro( TransformIsStackTransform, bool );
81
83 itkGetConstMacro( SampleLastDimensionRandomly, bool );
84 itkGetConstMacro( NumSamplesLastDimension, int );
85
87 typedef typename
120 typedef typename
124 typedef typename
126 typedef typename
128 typedef typename
130
132 itkStaticConstMacro( FixedImageDimension, unsigned int,
133 FixedImageType::ImageDimension );
134
136 itkStaticConstMacro( MovingImageDimension, unsigned int,
137 MovingImageType::ImageDimension );
138
140 MeasureType GetValue( const TransformParametersType & parameters ) const override;
141
143 void GetDerivative( const TransformParametersType & parameters,
144 DerivativeType & derivative ) const override;
145
148 MeasureType & Value, DerivativeType & Derivative ) const override;
149
153 void Initialize( void ) override;
154
155protected:
156
159 void PrintSelf( std::ostream & os, Indent indent ) const override;
160
168 typedef typename itk::ContinuousIndex< CoordinateRepresentationType, FixedImageDimension >
176
181 const TransformJacobianType & jacobian,
182 const MovingImageDerivativeType & movingImageDerivative,
183 DerivativeType & imageJacobian ) const override;
184
185private:
186
187 VarianceOverLastDimensionImageMetric( const Self & ); // purposely not implemented
188 void operator=( const Self & ); // purposely not implemented
189
191 void SampleRandom( const int n, const int m, std::vector< int > & numbers ) const;
192
198
201
204
207
210
211};
212
213} // end namespace itk
214
215#ifndef ITK_MANUAL_INSTANTIATION
216#include "itkVarianceOverLastDimensionImageMetric.hxx"
217#endif
218
219#endif // end #ifndef __itkVarianceOverLastDimensionImageMetric_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
Compute the sum of variances over the slowest varying dimension in the moving image.
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
itk::ContinuousIndex< CoordinateRepresentationType, FixedImageDimension > FixedImageContinuousIndexType
Superclass::CentralDifferenceGradientFilterType CentralDifferenceGradientFilterType
void SampleRandom(const int n, const int m, std::vector< int > &numbers) const
Superclass::GradientImageFilterPointer GradientImageFilterPointer
void PrintSelf(std::ostream &os, Indent indent) const override
MeasureType GetValue(const TransformParametersType &parameters) const override
void EvaluateTransformJacobianInnerProduct(const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const override
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Superclass::FixedImageLimiterOutputType FixedImageLimiterOutputType
Superclass::MovingImageContinuousIndexType MovingImageContinuousIndexType
void GetDerivative(const TransformParametersType &parameters, DerivativeType &derivative) const override
Superclass::MovingImageDerivativeScalesType MovingImageDerivativeScalesType
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
Superclass::ImageSampleContainerPointer ImageSampleContainerPointer
Superclass::MovingImageLimiterOutputType MovingImageLimiterOutputType
void GetValueAndDerivative(const TransformParametersType &parameters, MeasureType &Value, DerivativeType &Derivative) const override
AdvancedImageToImageMetric< TFixedImage, TMovingImage > Superclass
Superclass::CoordinateRepresentationType CoordinateRepresentationType


Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo