go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkAffineDTI2DTransform.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright UMC Utrecht and contributors
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef __itkAffineDTI2DTransform_h
19 #define __itkAffineDTI2DTransform_h
20 
21 #include <iostream>
23 
24 namespace itk
25 {
26 
62 template< class TScalarType = double >
63 // Data type for scalars (float or double)
65  public AdvancedMatrixOffsetTransformBase< TScalarType, 2, 2 >
66 {
67 public:
68 
73  typedef SmartPointer< const Self > ConstPointer;
74 
76  itkNewMacro( Self );
77 
80 
82  itkStaticConstMacro( SpaceDimension, unsigned int, 2 );
83  itkStaticConstMacro( InputSpaceDimension, unsigned int, 2 );
84  itkStaticConstMacro( OutputSpaceDimension, unsigned int, 2 );
85  itkStaticConstMacro( ParametersDimension, unsigned int, 7 );
86 
105 
106  typedef typename Superclass
109  typedef typename Superclass
112  typedef typename Superclass
115 
116  typedef FixedArray< ScalarType > ScalarArrayType;
117 
123  void SetParameters( const ParametersType & parameters );
124 
125  const ParametersType & GetParameters( void ) const;
126 
128  virtual void GetJacobian(
129  const InputPointType &,
130  JacobianType &,
131  NonZeroJacobianIndicesType & ) const;
132 
133  virtual void SetIdentity( void );
134 
135 protected:
136 
138  AffineDTI2DTransform( const MatrixType & matrix,
139  const OutputPointType & offset );
140  AffineDTI2DTransform( unsigned int outputSpaceDims,
141  unsigned int paramsSpaceDims );
142 
144 
145  void PrintSelf( std::ostream & os, Indent indent ) const;
146 
149  ScalarArrayType angle,
150  ScalarArrayType shear,
151  ScalarArrayType scale );
152 
154  void ComputeMatrix( void );
155 
156  void ComputeMatrixParameters( void );
157 
159  virtual void PrecomputeJacobianOfSpatialJacobian( void );
160 
161 private:
162 
163  AffineDTI2DTransform( const Self & ); // purposely not implemented
164  void operator=( const Self & ); // purposely not implemented
165 
166  ScalarArrayType m_Angle;
167  ScalarArrayType m_Shear;
168  ScalarArrayType m_Scale;
169 
170 };
171 
172 } // namespace itk
173 
174 #ifndef ITK_MANUAL_INSTANTIATION
175 #include "itkAffineDTI2DTransform.hxx"
176 #endif
177 
178 #endif /* __itkAffineDTI2DTransform_h */
Superclass::NumberOfParametersType NumberOfParametersType
Superclass::InternalMatrixType InternalMatrixType
SmartPointer< const Self > ConstPointer
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Superclass::InputVectorType InputVectorType
Superclass::ScalarType AngleType
Superclass::SpatialJacobianType SpatialJacobianType
Superclass::InverseMatrixType InverseMatrixType
Superclass::MatrixType MatrixType
Superclass::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
Superclass::JacobianType JacobianType
itkStaticConstMacro(SpaceDimension, unsigned int, 2)
virtual void PrecomputeJacobianOfSpatialJacobian(void)
FixedArray< ScalarType > ScalarArrayType
Superclass::CenterType CenterType
Superclass::ScalarType ScalarType
Matrix< TScalarType, itkGetStaticConstMacro(InputSpaceDimension), itkGetStaticConstMacro(OutputSpaceDimension) > InverseMatrixType
Superclass::InputCovariantVectorType InputCovariantVectorType
const ParametersType & GetParameters(void) const
AdvancedMatrixOffsetTransformBase< TScalarType, 2, 2 > Superclass
Superclass::OutputVnlVectorType OutputVnlVectorType
Superclass::OffsetType OffsetType
void ComputeMatrixParameters(void)
Superclass::ParametersType ParametersType
Superclass::InputVnlVectorType InputVnlVectorType
virtual void SetIdentity(void)
void SetVarAngleScaleShear(ScalarArrayType angle, ScalarArrayType shear, ScalarArrayType scale)
Superclass::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
Matrix< TScalarType, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension) > MatrixType
Superclass::OutputPointType OutputPointType
void PrintSelf(std::ostream &os, Indent indent) const
Superclass::OutputVectorType OutputVectorType
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Superclass::TranslationType TranslationType
Superclass::InputPointType InputPointType
Superclass::SpatialHessianType SpatialHessianType
virtual void GetJacobian(const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
void operator=(const Self &)
void SetParameters(const ParametersType &parameters)


Generated on 04-09-2015 for elastix by doxygen 1.8.9.1 elastix logo