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 #ifndef __itkAdvancedSimilarity3DTransform_h
18 #define __itkAdvancedSimilarity3DTransform_h
19 
20 #include <iostream>
22 
23 namespace itk
24 {
25 
45 template< class TScalarType = double >
46 // Data type for scalars (float or double)
48  public AdvancedVersorRigid3DTransform< TScalarType >
49 {
50 public:
51 
55  typedef SmartPointer< Self > Pointer;
56  typedef SmartPointer< const Self > ConstPointer;
57 
59  itkNewMacro( Self );
60 
63 
65  itkStaticConstMacro( SpaceDimension, unsigned int, 3 );
66  itkStaticConstMacro( InputSpaceDimension, unsigned int, 3 );
67  itkStaticConstMacro( OutputSpaceDimension, unsigned int, 3 );
68  itkStaticConstMacro( ParametersDimension, unsigned int, 7 );
69 
90 
92  typedef typename Superclass::VersorType VersorType;
93  typedef typename Superclass::AxisType AxisType;
94  typedef typename Superclass::AngleType AngleType;
95  typedef TScalarType ScaleType;
96 
97  typedef typename Superclass
100  typedef typename Superclass
103  typedef typename Superclass
106 
112  virtual void SetMatrix( const MatrixType & matrix );
113 
118  void SetParameters( const ParametersType & parameters );
119 
120  virtual const ParametersType & GetParameters( void ) const;
121 
123  void SetScale( ScaleType scale );
124 
125  itkGetConstReferenceMacro( Scale, ScaleType );
126 
128  virtual void GetJacobian(
129  const InputPointType &,
130  JacobianType &,
131  NonZeroJacobianIndicesType & ) const;
132 
133 protected:
134 
135  AdvancedSimilarity3DTransform( unsigned int outputSpaceDim,
136  unsigned int paramDim );
138  const OutputVectorType & offset );
141 
142  void PrintSelf( std::ostream & os, Indent indent ) const;
143 
146  void ComputeMatrix();
147 
149  void ComputeMatrixParameters();
150 
152  virtual void PrecomputeJacobianOfSpatialJacobian( void );
153 
154 private:
155 
156  AdvancedSimilarity3DTransform( const Self & ); //purposely not implemented
157  void operator=( const Self & ); //purposely not implemented
158 
160 
161 };
162 
163 //class AdvancedSimilarity3DTransform
164 
165 } // namespace itk
166 
167 #ifndef ITK_MANUAL_INSTANTIATION
168 #include "itkAdvancedSimilarity3DTransform.hxx"
169 #endif
170 
171 #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 27-04-2014 for elastix by doxygen 1.8.6 elastix logo