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  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 __itkTransformBendingEnergyPenaltyTerm_h
15 #define __itkTransformBendingEnergyPenaltyTerm_h
16 
18 #include "itkImageGridSampler.h"
19 
20 namespace itk
21 {
22 
45 template< class TFixedImage, class TScalarType >
47  public TransformPenaltyTerm< TFixedImage, TScalarType >
48 {
49 public:
50 
53  typedef TransformPenaltyTerm<
54  TFixedImage, TScalarType > Superclass;
55  typedef SmartPointer< Self > Pointer;
56  typedef SmartPointer< const Self > ConstPointer;
57 
59  itkNewMacro( Self );
60 
63 
83  typedef typename Superclass::RealType RealType;
103 
106  typedef typename Superclass
109  typedef typename Superclass
114 
116  itkStaticConstMacro( FixedImageDimension, unsigned int, FixedImageType::ImageDimension );
117 
119  virtual MeasureType GetValue( const ParametersType & parameters ) const;
120 
122  virtual void GetDerivative( const ParametersType & parameters,
123  DerivativeType & derivative ) const;
124 
127  const ParametersType & parameters,
128  MeasureType & value,
129  DerivativeType & derivative ) const;
130 
131  virtual void GetValueAndDerivative(
132  const ParametersType & parameters,
133  MeasureType & value,
134  DerivativeType & derivative ) const;
135 
137  inline void ThreadedGetValueAndDerivative( ThreadIdType threadID );
138 
141  MeasureType & value, DerivativeType & derivative ) const;
142 
144  virtual void GetSelfHessian( const TransformParametersType & parameters, HessianType & H ) const;
145 
147  itkSetMacro( NumberOfSamplesForSelfHessian, unsigned int );
148  itkGetConstMacro( NumberOfSamplesForSelfHessian, unsigned int );
149 
150 protected:
151 
160 
164 
167 
170 
173 
174 private:
175 
177  TransformBendingEnergyPenaltyTerm( const Self & ); // purposely not implemented
179  void operator=( const Self & ); // purposely not implemented
180 
182 
183 };
184 
185 } // end namespace itk
186 
187 #ifndef ITK_MANUAL_INSTANTIATION
188 #include "itkTransformBendingEnergyPenaltyTerm.hxx"
189 #endif
190 
191 #endif // #ifndef __itkTransformBendingEnergyPenaltyTerm_h
A cost function that calculates a penalty term on a transformation.
Superclass::DerivativeValueType DerivativeValueType
AdvancedTransformType::NumberOfParametersType NumberOfParametersType
Superclass::MovingImageIndexType MovingImageIndexType
Superclass::MovingImageConstPointer MovingImageConstPointer
AdvancedCombinationTransform< ScalarType, FixedImageDimension > CombinationTransformType
Superclass::FixedImagePixelType FixedImagePixelType
Superclass::TransformParametersType TransformParametersType
Superclass::CombinationTransformType CombinationTransformType
Superclass::GradientImageType GradientImageType
Superclass::MovingImageContinuousIndexType MovingImageContinuousIndexType
Superclass::MeasureType MeasureType
Superclass::FixedImageIndexValueType FixedImageIndexValueType
virtual void GetSelfHessian(const TransformParametersType &parameters, HessianType &H) const
Superclass::ImageSampleContainerPointer ImageSampleContainerPointer
An extension of the ITK ImageToImageMetric. It is the intended base class for all elastix metrics...
Superclass::NumberOfParametersType NumberOfParametersType
Superclass::MovingImageType MovingImageType
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
Superclass::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
Superclass::InterpolatorType InterpolatorType
Superclass::FixedImageIndexValueType FixedImageIndexValueType
Superclass::GradientImageFilterType GradientImageFilterType
virtual void GetValueAndDerivative(const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const
Superclass::ImageSampleContainerPointer ImageSampleContainerPointer
Superclass::GradientImageFilterPointer GradientImageFilterPointer
TransformPenaltyTerm< TFixedImage, TScalarType > Superclass
void ThreadedGetValueAndDerivative(ThreadIdType threadID)
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Superclass::CoordinateRepresentationType CoordinateRepresentationType
virtual MeasureType GetValue(const ParametersType &parameters) const
Superclass::InputPointType InputPointType
Superclass::FixedImageRegionType FixedImageRegionType
TransformType::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
Superclass::FixedImageMaskPointer FixedImageMaskPointer
Superclass::TransformJacobianType TransformJacobianType
Superclass::ImageSampleContainerType ImageSampleContainerType
Superclass::FixedImageMaskType FixedImageMaskType
Superclass::FixedImageIndexType FixedImageIndexType
Superclass::CoordinateRepresentationType CoordinateRepresentationType
Superclass::FixedImagePointType FixedImagePointType
Superclass::FixedImageType FixedImageType
Superclass::GradientImagePointer GradientImagePointer
Superclass::MovingImagePixelType MovingImagePixelType
TransformType::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
Superclass::GradientImageFilterType GradientImageFilterType
Superclass::InterpolatorPointer InterpolatorPointer
Superclass::GradientImageFilterPointer GradientImageFilterPointer
Superclass::MovingImageConstPointer MovingImageConstPointer
Superclass::ParametersType ParametersType
Superclass::ImageSampleContainerType ImageSampleContainerType
Superclass::OutputPointType OutputPointType
Superclass::FixedImageConstPointer FixedImageConstPointer
Superclass::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
TransformType::SpatialJacobianType SpatialJacobianType
TransformType::InternalMatrixType InternalMatrixType
Superclass::FixedImagePointer FixedImagePointer
A cost function that calculates the bending energy of a transformation.
Superclass::DerivativeType DerivativeType
TransformType::SpatialHessianType SpatialHessianType
virtual void GetDerivative(const ParametersType &parameters, DerivativeType &derivative) const
void AfterThreadedGetValueAndDerivative(MeasureType &value, DerivativeType &derivative) const
Superclass::GradientPixelType GradientPixelType
Superclass::MovingImagePointer MovingImagePointer
Superclass::AdvancedTransformType TransformType
Superclass::ThreadInfoType ThreadInfoType
Superclass::TransformParametersType TransformParametersType
Superclass::MovingImageMaskPointer MovingImageMaskPointer
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Superclass::MovingImageMaskPointer MovingImageMaskPointer
Superclass::ThreaderType ThreaderType
Superclass::MovingImagePointType MovingImagePointType
Superclass::MovingImageContinuousIndexType MovingImageContinuousIndexType
Superclass::MovingImageMaskType MovingImageMaskType
Samples image voxels on a regular grid.
virtual void GetValueAndDerivativeSingleThreaded(const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const
AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 3 > BSplineTransformType
Superclass::FixedImageConstPointer FixedImageConstPointer


Generated on 11-03-2014 for elastix by doxygen 1.8.6 elastix logo