Orfeo Toolbox  3.16
itkScaleLogarithmicTransform.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkScaleLogarithmicTransform.h,v $
5  Language: C++
6  Date: $Date: 2009-11-24 02:27:27 $
7  Version: $Revision: 1.5 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 
18 #ifndef __itkScaleLogarithmicTransform_h
19 #define __itkScaleLogarithmicTransform_h
20 
21 #include "itkScaleTransform.h"
22 
23 namespace itk
24 {
25 
35 template <
36  class TScalarType=float, // Type for cordinate representation type (float or double)
37  unsigned int NDimensions=3 > // Number of dimensions
39  public ScaleTransform< TScalarType,
40  NDimensions >
41 {
42 public:
48 
50  itkNewMacro( Self );
51 
54 
56  itkStaticConstMacro(SpaceDimension, unsigned int, NDimensions);
57  itkStaticConstMacro(ParametersDimension, unsigned int, NDimensions);
58 
60  typedef typename Superclass::ScalarType ScalarType;
61 
63  typedef typename Superclass::ParametersType ParametersType;
64  typedef typename ParametersType::ValueType ParametersValueType;
65 
67  typedef typename Superclass::JacobianType JacobianType;
68 
70  typedef typename Superclass::ScaleType ScaleType;
71  typedef typename ScaleType::ValueType ScalesValueType;
72 
74  typedef typename Superclass::InputVectorType InputVectorType;
75  typedef typename Superclass::OutputVectorType OutputVectorType;
76 
78  typedef typename Superclass::InputCovariantVectorType InputCovariantVectorType;
79  typedef typename Superclass::OutputCovariantVectorType OutputCovariantVectorType;
80 
82  typedef typename Superclass::InputVnlVectorType InputVnlVectorType;
83  typedef typename Superclass::OutputVnlVectorType OutputVnlVectorType;
84 
86  typedef typename Superclass::InputPointType InputPointType;
87  typedef typename Superclass::OutputPointType OutputPointType;
88 
92  void SetParameters(const ParametersType & parameters);
93 
99  const ParametersType & GetParameters( void ) const;
100 
102  const JacobianType & GetJacobian( const InputPointType & point ) const;
103 
104 protected:
107 
110 
112  void PrintSelf(std::ostream &os, Indent indent) const;
113 
114 private:
115  ScaleLogarithmicTransform(const Self & other); //purposely not implemented
116  const Self & operator=( const Self & ); //purposely not implemented
117 
118 }; //class ScaleLogarithmicTransform
119 
120 } // namespace itk
121 
122 // Define instantiation macro for this template.
123 #define ITK_TEMPLATE_ScaleLogarithmicTransform(_, EXPORT, x, y) namespace itk { \
124  _(2(class EXPORT ScaleLogarithmicTransform< ITK_TEMPLATE_2 x >)) \
125  namespace Templates { typedef ScaleLogarithmicTransform< ITK_TEMPLATE_2 x > \
126  ScaleLogarithmicTransform##y; } \
127  }
128 
129 #if ITK_TEMPLATE_EXPLICIT
130 # include "Templates/itkScaleLogarithmicTransform+-.h"
131 #endif
132 
133 #if ITK_TEMPLATE_TXX
135 #endif
136 
137 #endif /* __itkScaleLogarithmicTransform_h */

Generated at Sun Feb 3 2013 00:05:04 for Orfeo Toolbox with doxygen 1.8.1.1