go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkAdvancedSimilarity3DTransform.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkAdvancedSimilarity3DTransform.h,v $
5  Language: C++
6  Date: $Date: 2006-08-09 04:35:32 $
7  Version: $Revision: 1.3 $
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 __itkAdvancedSimilarity3DTransform_h
19 #define __itkAdvancedSimilarity3DTransform_h
20 
21 #include <iostream>
23 
24 namespace itk
25 {
26 
46 template < class TScalarType=double > // Data type for scalars (float or double)
48  public AdvancedVersorRigid3DTransform< TScalarType >
49 {
50 public:
54  typedef SmartPointer<Self> Pointer;
55  typedef SmartPointer<const Self> ConstPointer;
56 
58  itkNewMacro( Self );
59 
62 
64  itkStaticConstMacro(SpaceDimension, unsigned int, 3);
65  itkStaticConstMacro(InputSpaceDimension, unsigned int, 3);
66  itkStaticConstMacro(OutputSpaceDimension, unsigned int, 3);
67  itkStaticConstMacro(ParametersDimension, unsigned int, 7);
68 
89 
91  typedef typename Superclass::VersorType VersorType;
92  typedef typename Superclass::AxisType AxisType;
93  typedef typename Superclass::AngleType AngleType;
94  typedef TScalarType ScaleType;
95 
96  typedef typename Superclass
99  typedef typename Superclass
102  typedef typename Superclass
105 
111  virtual void SetMatrix(const MatrixType &matrix);
112 
117  void SetParameters( const ParametersType & parameters );
118  virtual const ParametersType& GetParameters(void) const;
119 
121  void SetScale( ScaleType scale );
122  itkGetConstReferenceMacro( Scale, ScaleType );
123 
125  virtual void GetJacobian(
126  const InputPointType &,
127  JacobianType &,
128  NonZeroJacobianIndicesType & ) const;
129 
130 protected:
131  AdvancedSimilarity3DTransform(unsigned int outputSpaceDim,
132  unsigned int paramDim);
134  const OutputVectorType & offset);
137 
138  void PrintSelf(std::ostream &os, Indent indent) const;
139 
142  void ComputeMatrix();
143 
145  void ComputeMatrixParameters();
146 
148  virtual void PrecomputeJacobianOfSpatialJacobian(void);
149 
150 private:
151  AdvancedSimilarity3DTransform(const Self&); //purposely not implemented
152  void operator=(const Self&); //purposely not implemented
153 
155 
156 }; //class AdvancedSimilarity3DTransform
157 
158 
159 } // namespace itk
160 
161 // Define instantiation macro for this template.
162 #define ITK_TEMPLATE_AdvancedSimilarity3DTransform(_, EXPORT, x, y) namespace itk { \
163  _(1(class EXPORT AdvancedSimilarity3DTransform< ITK_TEMPLATE_1 x >)) \
164  namespace Templates { typedef AdvancedSimilarity3DTransform< ITK_TEMPLATE_1 x > AdvancedSimilarity3DTransform##y; } \
165  }
166 
167 #if ITK_TEMPLATE_EXPLICIT
168 # include "Templates/itkAdvancedSimilarity3DTransform+-.h"
169 #endif
170 
171 #if ITK_TEMPLATE_TXX
172 # include "itkAdvancedSimilarity3DTransform.txx"
173 #endif
174 
175 #endif /* __itkAdvancedSimilarity3DTransform_h */
Superclass::NumberOfParametersType NumberOfParametersType
AdvancedVersorRigid3DTransform of a vector space (e.g. space coordinates)
Superclass::OutputVnlVectorType OutputVnlVectorType
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
AdvancedSimilarity3DTransform of a vector space (e.g. space coordinates)
Superclass::OutputVectorType OutputVectorType
AdvancedRigid3DTransform of a vector space (e.g. space coordinates)
Superclass::InputVnlVectorType InputVnlVectorType
Superclass::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
AdvancedVersorRigid3DTransform< TScalarType > Superclass
Superclass::ParametersType ParametersType
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Superclass::InputPointType InputPointType
Superclass::SpatialJacobianType SpatialJacobianType
Superclass::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
Superclass::InputCovariantVectorType InputCovariantVectorType


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