go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkTransformBendingEnergyPenaltyTerm.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 __itkTransformBendingEnergyPenaltyTerm_h
19 #define __itkTransformBendingEnergyPenaltyTerm_h
20 
22 #include "itkImageGridSampler.h"
23 
24 namespace itk
25 {
26 
49 template< class TFixedImage, class TScalarType >
51  public TransformPenaltyTerm< TFixedImage, TScalarType >
52 {
53 public:
54 
57  typedef TransformPenaltyTerm<
58  TFixedImage, TScalarType > Superclass;
59  typedef SmartPointer< Self > Pointer;
60  typedef SmartPointer< const Self > ConstPointer;
61 
63  itkNewMacro( Self );
64 
67 
87  typedef typename Superclass::RealType RealType;
107 
116 
119  typedef typename Superclass
122  typedef typename Superclass
127 
129  itkStaticConstMacro( FixedImageDimension, unsigned int, FixedImageType::ImageDimension );
130 
132  MeasureType GetValue( const ParametersType & parameters ) const override;
133 
135  void GetDerivative( const ParametersType & parameters,
136  DerivativeType & derivative ) const override;
137 
140  const ParametersType & parameters,
141  MeasureType & value,
142  DerivativeType & derivative ) const;
143 
145  const ParametersType & parameters,
146  MeasureType & value,
147  DerivativeType & derivative ) const override;
148 
150  inline void ThreadedGetValueAndDerivative( ThreadIdType threadID ) override;
151 
154  MeasureType & value, DerivativeType & derivative ) const override;
155 
157  void GetSelfHessian( const TransformParametersType & parameters, HessianType & H ) const override;
158 
160  itkSetMacro( NumberOfSamplesForSelfHessian, unsigned int );
161  itkGetConstMacro( NumberOfSamplesForSelfHessian, unsigned int );
162 
163 protected:
164 
173 
176 
179 
182 
183 private:
184 
186  TransformBendingEnergyPenaltyTerm( const Self & ); // purposely not implemented
188  void operator=( const Self & ); // purposely not implemented
189 
191 
192 };
193 
194 } // end namespace itk
195 
196 #ifndef ITK_MANUAL_INSTANTIATION
197 #include "itkTransformBendingEnergyPenaltyTerm.hxx"
198 #endif
199 
200 #endif // #ifndef __itkTransformBendingEnergyPenaltyTerm_h
AdvancedTransformType::NumberOfParametersType NumberOfParametersType
Samples image voxels on a regular grid.
A cost function that calculates the bending energy of a transformation.
virtual void GetValueAndDerivativeSingleThreaded(const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const
Superclass::BSplineOrder3TransformPointer BSplineOrder3TransformPointer
void GetDerivative(const ParametersType &parameters, DerivativeType &derivative) const override
Superclass ::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
Superclass::FixedImageIndexValueType FixedImageIndexValueType
void ThreadedGetValueAndDerivative(ThreadIdType threadID) override
Superclass::BSplineOrder2TransformType BSplineOrder2TransformType
Superclass::FixedImageConstPointer FixedImageConstPointer
void GetSelfHessian(const TransformParametersType &parameters, HessianType &H) const override
Superclass::CoordinateRepresentationType CoordinateRepresentationType
Superclass::GradientImageFilterType GradientImageFilterType
Superclass::GradientImageFilterPointer GradientImageFilterPointer
Superclass::ImageSampleContainerType ImageSampleContainerType
Superclass::BSplineOrder1TransformPointer BSplineOrder1TransformPointer
Superclass ::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
TransformPenaltyTerm< TFixedImage, TScalarType > Superclass
Superclass::CombinationTransformType CombinationTransformType
Superclass::TransformParametersType TransformParametersType
void GetValueAndDerivative(const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const override
Superclass::MovingImageMaskPointer MovingImageMaskPointer
Superclass::BSplineOrder1TransformType BSplineOrder1TransformType
MeasureType GetValue(const ParametersType &parameters) const override
void AfterThreadedGetValueAndDerivative(MeasureType &value, DerivativeType &derivative) const override
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
Superclass::BSplineOrder3TransformType BSplineOrder3TransformType
Superclass::BSplineOrder2TransformPointer BSplineOrder2TransformPointer
Superclass::MovingImageConstPointer MovingImageConstPointer
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Superclass::MovingImageContinuousIndexType MovingImageContinuousIndexType
Superclass::NumberOfParametersType NumberOfParametersType
Superclass::ImageSampleContainerPointer ImageSampleContainerPointer
A cost function that calculates a penalty term on a transformation.
Superclass::TransformParametersType TransformParametersType
Superclass::ImageSampleContainerType ImageSampleContainerType
Superclass::MovingImageContinuousIndexType MovingImageContinuousIndexType
Superclass::BSplineOrder2TransformType BSplineOrder2TransformType
Superclass::BSplineOrder3TransformType BSplineOrder3TransformType
Superclass::BSplineOrder1TransformPointer BSplineOrder1TransformPointer
Superclass::FixedImageIndexValueType FixedImageIndexValueType
TransformType::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Superclass::ImageSampleContainerPointer ImageSampleContainerPointer
Superclass::BSplineOrder3TransformPointer BSplineOrder3TransformPointer
Superclass::BSplineOrder2TransformPointer BSplineOrder2TransformPointer
Superclass::GradientImageFilterType GradientImageFilterType
Superclass::MovingImageConstPointer MovingImageConstPointer
TransformType::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
Superclass::BSplineOrder1TransformType BSplineOrder1TransformType
Superclass::CoordinateRepresentationType CoordinateRepresentationType
Superclass::GradientImageFilterPointer GradientImageFilterPointer
Superclass::CombinationTransformType CombinationTransformType


Generated on 1641078589 for elastix by doxygen 1.9.1 elastix logo