go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkAdvancedSimilarity2DTransform.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkAdvancedSimilarity2DTransform.h,v $
5  Language: C++
6  Date: $Date: 2006-06-07 16:06:32 $
7  Version: $Revision: 1.11 $
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 __itkAdvancedSimilarity2DTransform_h
19 #define __itkAdvancedSimilarity2DTransform_h
20 
21 #include <iostream>
23 
24 namespace itk
25 {
26 
61 template < class TScalarType=double > // Data type for scalars (float or double)
63  public AdvancedRigid2DTransform< TScalarType >
64 {
65 public:
69  typedef SmartPointer<Self> Pointer;
70  typedef SmartPointer<const Self> ConstPointer;
71 
73  itkNewMacro( Self );
74 
77 
79  itkStaticConstMacro(SpaceDimension, unsigned int, 2);
80  itkStaticConstMacro(InputSpaceDimension, unsigned int, 2);
81  itkStaticConstMacro(OutputSpaceDimension, unsigned int, 2);
82  itkStaticConstMacro(ParametersDimension, unsigned int, 4);
83 
86  typedef TScalarType ScaleType;
87 
91 
94 
97 
100 
104 
108 
112 
116 
117  typedef typename Superclass
120  typedef typename Superclass
123  typedef typename Superclass
126 
128  void SetScale( ScaleType scale );
129  itkGetConstReferenceMacro( Scale, ScaleType );
130 
140  void SetParameters( const ParametersType & parameters );
141 
151  const ParametersType & GetParameters( void ) const;
152 
159  virtual void GetJacobian(
160  const InputPointType &,
161  JacobianType &,
162  NonZeroJacobianIndicesType & ) const;
163 
165  virtual void SetIdentity( void );
166 
171  void CloneInverseTo( Pointer & newinverse ) const;
172 
177  void CloneTo( Pointer & clone ) const;
178 
192  virtual void SetMatrix( const MatrixType & matrix );
193 
194 protected:
196  AdvancedSimilarity2DTransform( unsigned int spaceDimension,
197  unsigned int parametersDimension);
198 
200  void PrintSelf(std::ostream &os, Indent indent) const;
201 
205  virtual void ComputeMatrix(void);
206 
211  virtual void ComputeMatrixParameters(void);
212 
214  void SetVarScale( ScaleType scale )
215  { m_Scale = scale; }
216 
218  virtual void PrecomputeJacobianOfSpatialJacobian(void);
219 
220 private:
221  AdvancedSimilarity2DTransform(const Self&); //purposely not implemented
222  void operator=(const Self&); //purposely not implemented
223 
225 
226 }; //class AdvancedSimilarity2DTransform
227 
228 
229 } // namespace itk
230 
231 // Define instantiation macro for this template.
232 #define ITK_TEMPLATE_AdvancedSimilarity2DTransform(_, EXPORT, x, y) namespace itk { \
233  _(1(class EXPORT AdvancedSimilarity2DTransform< ITK_TEMPLATE_1 x >)) \
234  namespace Templates { typedef AdvancedSimilarity2DTransform< ITK_TEMPLATE_1 x > AdvancedSimilarity2DTransform##y; } \
235  }
236 
237 #if ITK_TEMPLATE_EXPLICIT
238 # include "Templates/itkAdvancedSimilarity2DTransform+-.h"
239 #endif
240 
241 #if ITK_TEMPLATE_TXX
242 # include "itkAdvancedSimilarity2DTransform.txx"
243 #endif
244 
245 #endif /* __itkAdvancedSimilarity2DTransform_h */
AdvancedRigid2DTransform< TScalarType > Superclass
Superclass::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
Superclass::InputCovariantVectorType InputCovariantVectorType
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Superclass::SpatialJacobianType SpatialJacobianType
Superclass::OutputVnlVectorType OutputVnlVectorType
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
AdvancedSimilarity2DTransform of a vector space (e.g. space coordinates)
Superclass::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
Superclass::ParametersType ParametersType
AdvancedRigid2DTransform of a vector space (e.g. space coordinates)
Superclass::InputPointType InputPointType
Standard coordinate point type for this class.
Superclass::NumberOfParametersType NumberOfParametersType
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType


Generated on 04-01-2014 for elastix by doxygen 1.8.5 elastix logo