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 
90 
93 
96 
99 
103 
107 
111 
115 
116  typedef typename Superclass
119  typedef typename Superclass
122  typedef typename Superclass
125 
127  void SetScale( ScaleType scale );
128  itkGetConstReferenceMacro( Scale, ScaleType );
129 
139  void SetParameters( const ParametersType & parameters );
140 
150  const ParametersType & GetParameters( void ) const;
151 
158  virtual void GetJacobian(
159  const InputPointType &,
160  JacobianType &,
161  NonZeroJacobianIndicesType & ) const;
162 
164  virtual void SetIdentity( void );
165 
170  void CloneInverseTo( Pointer & newinverse ) const;
171 
176  void CloneTo( Pointer & clone ) const;
177 
191  virtual void SetMatrix( const MatrixType & matrix );
192 
193 protected:
195  AdvancedSimilarity2DTransform( unsigned int spaceDimension,
196  unsigned int parametersDimension);
197 
199  void PrintSelf(std::ostream &os, Indent indent) const;
200 
204  virtual void ComputeMatrix(void);
205 
210  virtual void ComputeMatrixParameters(void);
211 
213  void SetVarScale( ScaleType scale )
214  { m_Scale = scale; }
215 
217  virtual void PrecomputeJacobianOfSpatialJacobian(void);
218 
219 private:
220  AdvancedSimilarity2DTransform(const Self&); //purposely not implemented
221  void operator=(const Self&); //purposely not implemented
222 
224 
225 }; //class AdvancedSimilarity2DTransform
226 
227 
228 } // namespace itk
229 
230 // Define instantiation macro for this template.
231 #define ITK_TEMPLATE_AdvancedSimilarity2DTransform(_, EXPORT, x, y) namespace itk { \
232  _(1(class EXPORT AdvancedSimilarity2DTransform< ITK_TEMPLATE_1 x >)) \
233  namespace Templates { typedef AdvancedSimilarity2DTransform< ITK_TEMPLATE_1 x > AdvancedSimilarity2DTransform##y; } \
234  }
235 
236 #if ITK_TEMPLATE_EXPLICIT
237 # include "Templates/itkAdvancedSimilarity2DTransform+-.h"
238 #endif
239 
240 #if ITK_TEMPLATE_TXX
241 # include "itkAdvancedSimilarity2DTransform.txx"
242 #endif
243 
244 #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::NonZeroJacobianIndicesType NonZeroJacobianIndicesType


Generated on 05-12-2013 for elastix by doxygen 1.8.5 elastix logo