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;
60  typedef SmartPointer< const Self > ConstPointer;
61 
63  itkNewMacro( Self );
64 
67 
87  typedef typename Superclass::RealType RealType;
107 
110  typedef typename Superclass
113  typedef typename Superclass
118 
120  itkStaticConstMacro( FixedImageDimension, unsigned int, FixedImageType::ImageDimension );
121 
123  virtual MeasureType GetValue( const ParametersType & parameters ) const;
124 
126  virtual void GetDerivative( const ParametersType & parameters,
127  DerivativeType & derivative ) const;
128 
131  const ParametersType & parameters,
132  MeasureType & value,
133  DerivativeType & derivative ) const;
134 
135  virtual void GetValueAndDerivative(
136  const ParametersType & parameters,
137  MeasureType & value,
138  DerivativeType & derivative ) const;
139 
141  inline void ThreadedGetValueAndDerivative( ThreadIdType threadID );
142 
145  MeasureType & value, DerivativeType & derivative ) const;
146 
148  virtual void GetSelfHessian( const TransformParametersType & parameters, HessianType & H ) const;
149 
151  itkSetMacro( NumberOfSamplesForSelfHessian, unsigned int );
152  itkGetConstMacro( NumberOfSamplesForSelfHessian, unsigned int );
153 
154 protected:
155 
164 
168 
171 
174 
177 
178 private:
179 
181  TransformBendingEnergyPenaltyTerm( const Self & ); // purposely not implemented
183  void operator=( const Self & ); // purposely not implemented
184 
186 
187 };
188 
189 } // end namespace itk
190 
191 #ifndef ITK_MANUAL_INSTANTIATION
192 #include "itkTransformBendingEnergyPenaltyTerm.hxx"
193 #endif
194 
195 #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
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 04-09-2015 for elastix by doxygen 1.8.9.1 elastix logo