NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
itkFFDSteepestGradientDescentOptimizer.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  NifTK: A software platform for medical image computing.
4 
5  Copyright (c) University College London (UCL). All rights reserved.
6 
7  This software is distributed WITHOUT ANY WARRANTY; without even
8  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9  PURPOSE.
10 
11  See LICENSE.txt in the top level directory for details.
12 
13 =============================================================================*/
14 
15 #ifndef itkFFDSteepestGradientDescentOptimizer_h
16 #define itkFFDSteepestGradientDescentOptimizer_h
17 
18 #include <NifTKConfigure.h>
22 #include <itkUCLBSplineTransform.h>
27 
28 namespace itk
29 {
30 
37 template <class TFixedImage, class TMovingImage, class TScalarType, class TDeformationScalar>
39  public FFDGradientDescentOptimizer<TFixedImage, TMovingImage, TScalarType, TDeformationScalar>
40 {
41 public:
42 
47  typedef FFDGradientDescentOptimizer<TFixedImage, TMovingImage,
48  TScalarType, TDeformationScalar> Superclass;
49  typedef SmartPointer<Self> Pointer;
50  typedef SmartPointer<const Self> ConstPointer;
51 
53  itkNewMacro(Self);
54 
57 
59  itkStaticConstMacro(Dimension, unsigned int, TFixedImage::ImageDimension);
60 
62  typedef typename Superclass::SimilarityMeasureType SimilarityMeasureType;
64 
65 protected:
66 
69  void PrintSelf(std::ostream& os, Indent indent) const;
70 
72  virtual void OptimizeNextStep(int iterationNumber, int numberOfGridVoxels, const ParametersType& current, ParametersType& next);
73 
74 private:
75 
76  FFDSteepestGradientDescentOptimizer(const Self&); //purposely not implemented
77  void operator=(const Self&); //purposely not implemented
78 
79 };
80 
81 } // namespace itk.
82 
83 #ifndef ITK_MANUAL_INSTANTIATION
84 #include "itkFFDSteepestGradientDescentOptimizer.txx"
85 #endif
86 
87 #endif /*ITKFFDSTEEPESTGRADIENTDESCENTOPTIMIZER_H_*/
88 
89 
90 
Superclass::SimilarityMeasureType SimilarityMeasureType
Definition: itkFFDSteepestGradientDescentOptimizer.h:62
Class to perform FFD specific optimization using steepest gradient descent.
Definition: itkFFDSteepestGradientDescentOptimizer.h:38
FFDGradientDescentOptimizer< TFixedImage, TMovingImage, TScalarType, TDeformationScalar > Superclass
Definition: itkFFDSteepestGradientDescentOptimizer.h:48
SimilarityMeasureType::TransformParametersType ParametersType
Definition: itkFFDSteepestGradientDescentOptimizer.h:63
Definition: niftkITKAffineResampleImage.cxx:74
SmartPointer< const Self > ConstPointer
Definition: itkFFDSteepestGradientDescentOptimizer.h:50
virtual ~FFDSteepestGradientDescentOptimizer()
Definition: itkFFDSteepestGradientDescentOptimizer.h:68
Superclass::ParametersType TransformParametersType
Definition: itkImageToImageMetricWithConstraint.h:71
SmartPointer< Self > Pointer
Definition: itkFFDSteepestGradientDescentOptimizer.h:49
FFDSteepestGradientDescentOptimizer Self
Definition: itkFFDSteepestGradientDescentOptimizer.h:46
const unsigned int Dimension
Definition: niftkBreastDCEandADC.cxx:89
Class to perform FFD specific optimization.
Definition: itkFFDGradientDescentOptimizer.h:39