go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkDistancePreservingRigidityPenaltyTerm.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 __itkDistancePreservingRigidityPenaltyTerm_h
19#define __itkDistancePreservingRigidityPenaltyTerm_h
20
22
26
28#include "itkNeighborhood.h"
29#include "itkImageRegionIterator.h"
30#include "itkNeighborhoodOperatorImageFilter.h"
31#include "itkNeighborhoodIterator.h"
32
33#include "itkImageRegionIterator.h"
34#include "itkMultiResolutionPyramidImageFilter.h"
35
36namespace itk
37{
75template< class TFixedImage, class TScalarType >
77 public TransformPenaltyTerm< TFixedImage, TScalarType >
78{
79public:
80
85 typedef SmartPointer< const Self > ConstPointer;
86
88 itkNewMacro( Self );
89
92
129
136
138 itkStaticConstMacro( FixedImageDimension, unsigned int, FixedImageType::ImageDimension );
139 itkStaticConstMacro( MovingImageDimension, unsigned int, FixedImageType::ImageDimension );
140 itkStaticConstMacro( ImageDimension, unsigned int, FixedImageType::ImageDimension );
141
143 void Initialize( void ) override;
144
150 typedef typename CoefficientImageType::Pointer CoefficientImagePointer;
151 typedef typename CoefficientImageType::SpacingType CoefficientImageSpacingType;
153
155 MeasureType GetValue( const ParametersType & parameters ) const override;
156
158 void GetDerivative( const ParametersType & parameters, DerivativeType & derivative ) const override;
159
161 void GetValueAndDerivative( const ParametersType & parameters, MeasureType & value, DerivativeType & derivative ) const override;
162
167
169 typedef Image< signed short, itkGetStaticConstMacro( MovingImageDimension ) > BSplineKnotImageType;
170 typedef typename BSplineKnotImageType::Pointer BSplineKnotImagePointer;
171 typedef typename BSplineKnotImageType::RegionType BSplineKnotImageRegionType;
172
174 typedef Image< signed short, itkGetStaticConstMacro( MovingImageDimension ) > PenaltyGridImageType;
175 typedef typename PenaltyGridImageType::Pointer PenaltyGridImagePointer;
176 typedef typename PenaltyGridImageType::RegionType PenaltyGridImageRegionType;
177
179 typedef Image< signed short, itkGetStaticConstMacro( MovingImageDimension ) > SegmentedImageType;
180 typedef typename SegmentedImageType::Pointer SegmentedImagePointer;
181 typedef typename SegmentedImageType::RegionType SegmentedImageRegionType;
182
184 itkSetObjectMacro( SegmentedImage, SegmentedImageType );
185
188
190 itkSetObjectMacro( SampledSegmentedImage, SegmentedImageType );
191
194
195 itkGetMacro( NumberOfRigidGrids, unsigned int );
196
197protected:
198
201
204
206 void PrintSelf( std::ostream & os, Indent indent ) const override;
207
208private:
209
211 DistancePreservingRigidityPenaltyTerm( const Self & ); // purposely not implemented
212
214 void operator=( const Self & ); // purposely not implemented
215
218
220
225
227
228};
229
230// end class DistancePreservingRigidityPenaltyTerm
231
232} // end namespace itk
233
234#ifndef ITK_MANUAL_INSTANTIATION
235#include "itkDistancePreservingRigidityPenaltyTerm.hxx"
236#endif
237
238#endif // #ifndef __itkDistancePreservingRigidityPenaltyTerm_h
Deformable transform using a B-spline representation.
This class combines two transforms: an 'initial transform' with a 'current transform'.
Superclass::CoordinateRepresentationType CoordinateRepresentationType
itkStaticConstMacro(ImageDimension, unsigned int, FixedImageType::ImageDimension)
TransformPenaltyTerm< TFixedImage, TScalarType > Superclass
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
itkGetModifiableObjectMacro(SegmentedImage, SegmentedImageType)
void GetDerivative(const ParametersType &parameters, DerivativeType &derivative) const override
AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 3 > BSplineTransformType
itkGetModifiableObjectMacro(SampledSegmentedImage, SegmentedImageType)
AdvancedCombinationTransform< ScalarType, FixedImageDimension > CombinationTransformType
itkStaticConstMacro(MovingImageDimension, unsigned int, FixedImageType::ImageDimension)
void PrintSelf(std::ostream &os, Indent indent) const override
Superclass::ImageSampleContainerPointer ImageSampleContainerPointer
Image< signed short, itkGetStaticConstMacro(MovingImageDimension) > PenaltyGridImageType
Superclass::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
void GetValueAndDerivative(const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const override
Superclass::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
MeasureType GetValue(const ParametersType &parameters) const override
Image< signed short, itkGetStaticConstMacro(MovingImageDimension) > BSplineKnotImageType
Image< signed short, itkGetStaticConstMacro(MovingImageDimension) > SegmentedImageType
A cost function that calculates a penalty term on a transformation.
Superclass::TransformParametersType TransformParametersType
Superclass::ImageSampleContainerType ImageSampleContainerType
Superclass::MeasureType MeasureType
TransformType::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
Superclass::ImageSampleContainerPointer ImageSampleContainerPointer
Superclass::GradientImageFilterType GradientImageFilterType
Superclass::MovingImageConstPointer MovingImageConstPointer
TransformType::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
Superclass::CoordinateRepresentationType CoordinateRepresentationType
Superclass::GradientImageFilterPointer GradientImageFilterPointer


Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo