go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkAffineDTI3DTransform.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 
19 /*=========================================================================
20 
21  Program: Insight Segmentation & Registration Toolkit
22  Module: $RCSfile: itkAffineDTI3DTransform.h,v $
23  Language: C++
24  Date: $Date: 2008-10-13 15:36:31 $
25  Version: $Revision: 1.14 $
26 
27  Copyright (c) Insight Software Consortium. All rights reserved.
28  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
29 
30  This software is distributed WITHOUT ANY WARRANTY; without even
31  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
32  PURPOSE. See the above copyright notices for more information.
33 
34 =========================================================================*/
35 #ifndef __itkAffineDTI3DTransform_h
36 #define __itkAffineDTI3DTransform_h
37 
38 #include <iostream>
40 
41 namespace itk
42 {
43 
78 template< class TScalarType = double >
79 // Data type for scalars (float or double)
81  public AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 >
82 {
83 public:
84 
89  typedef SmartPointer< const Self > ConstPointer;
90 
92  itkNewMacro( Self );
93 
96 
98  itkStaticConstMacro( SpaceDimension, unsigned int, 3 );
99  itkStaticConstMacro( InputSpaceDimension, unsigned int, 3 );
100  itkStaticConstMacro( OutputSpaceDimension, unsigned int, 3 );
101  itkStaticConstMacro( ParametersDimension, unsigned int, 12 );
102 
121 
122  typedef typename Superclass
125  typedef typename Superclass
128  typedef typename Superclass
131 
132  typedef FixedArray< ScalarType > ScalarArrayType;
133 
139  void SetParameters( const ParametersType & parameters );
140 
141  const ParametersType & GetParameters( void ) const;
142 
144  virtual void GetJacobian(
145  const InputPointType &,
146  JacobianType &,
147  NonZeroJacobianIndicesType & ) const;
148 
149  virtual void SetIdentity( void );
150 
151 protected:
152 
155  const OutputPointType & offset );
156  AffineDTI3DTransform( unsigned int outputSpaceDims,
157  unsigned int paramsSpaceDims );
158 
160 
161  void PrintSelf( std::ostream & os, Indent indent ) const;
162 
165  ScalarArrayType angle,
166  ScalarArrayType shear,
167  ScalarArrayType scale );
168 
170  void ComputeMatrix( void );
171 
173 
176 
177 private:
178 
179  AffineDTI3DTransform( const Self & ); // purposely not implemented
180  void operator=( const Self & ); // purposely not implemented
181 
185 
186 };
187 
188 } // namespace itk
189 
190 #ifndef ITK_MANUAL_INSTANTIATION
191 #include "itkAffineDTI3DTransform.hxx"
192 #endif
193 
194 #endif /* __itkAffineDTI3DTransform_h */
itk::AffineDTI3DTransform::itkStaticConstMacro
itkStaticConstMacro(SpaceDimension, unsigned int, 3)
itk::AffineDTI3DTransform::Pointer
SmartPointer< Self > Pointer
Definition: itkAffineDTI3DTransform.h:88
itk::AffineDTI3DTransform::JacobianOfSpatialHessianType
Superclass ::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
Definition: itkAffineDTI3DTransform.h:129
itk::AdvancedMatrixOffsetTransformBase::InternalMatrixType
Superclass::InternalMatrixType InternalMatrixType
Definition: itkAdvancedMatrixOffsetTransformBase.h:148
itk::AffineDTI3DTransform::m_Shear
ScalarArrayType m_Shear
Definition: itkAffineDTI3DTransform.h:183
itk::AdvancedMatrixOffsetTransformBase::ParametersType
Superclass::ParametersType ParametersType
Definition: itkAdvancedMatrixOffsetTransformBase.h:123
itk::AffineDTI3DTransform::SpatialJacobianType
Superclass::SpatialJacobianType SpatialJacobianType
Definition: itkAffineDTI3DTransform.h:124
itk::AffineDTI3DTransform::ComputeMatrixParameters
void ComputeMatrixParameters(void)
SmartPointer< Self >
itk::AffineDTI3DTransform::InputCovariantVectorType
Superclass::InputCovariantVectorType InputCovariantVectorType
Definition: itkAffineDTI3DTransform.h:109
itk::AffineDTI3DTransform::PrecomputeJacobianOfSpatialJacobian
virtual void PrecomputeJacobianOfSpatialJacobian(void)
itk::AffineDTI3DTransform::Superclass
AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 > Superclass
Definition: itkAffineDTI3DTransform.h:87
itk::AdvancedMatrixOffsetTransformBase::SpatialHessianType
Superclass::SpatialHessianType SpatialHessianType
Definition: itkAdvancedMatrixOffsetTransformBase.h:145
itk::AdvancedMatrixOffsetTransformBase::OutputPointType
Superclass::OutputPointType OutputPointType
Definition: itkAdvancedMatrixOffsetTransformBase.h:137
itk::AdvancedMatrixOffsetTransformBase::MatrixType
Matrix< TScalarType, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension) > MatrixType
Definition: itkAdvancedMatrixOffsetTransformBase.h:153
itk::AdvancedMatrixOffsetTransformBase::SpatialJacobianType
Superclass::SpatialJacobianType SpatialJacobianType
Definition: itkAdvancedMatrixOffsetTransformBase.h:142
itk::AffineDTI3DTransform
AffineDTI3DTransform of a vector space (e.g. space coordinates)
Definition: itkAffineDTI3DTransform.h:82
itk::AdvancedMatrixOffsetTransformBase
Definition: itkAdvancedMatrixOffsetTransformBase.h:99
itk::AffineDTI3DTransform::SetVarAngleScaleShear
void SetVarAngleScaleShear(ScalarArrayType angle, ScalarArrayType shear, ScalarArrayType scale)
itk::AdvancedMatrixOffsetTransformBase::TranslationType
OutputVectorType TranslationType
Definition: itkAdvancedMatrixOffsetTransformBase.h:163
itk::AffineDTI3DTransform::AffineDTI3DTransform
AffineDTI3DTransform(unsigned int outputSpaceDims, unsigned int paramsSpaceDims)
itk::AffineDTI3DTransform::SetIdentity
virtual void SetIdentity(void)
itk::AdvancedMatrixOffsetTransformBase::OffsetType
OutputVectorType OffsetType
Definition: itkAdvancedMatrixOffsetTransformBase.h:162
itk::AffineDTI3DTransform::JacobianOfSpatialJacobianType
Superclass ::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
Definition: itkAffineDTI3DTransform.h:126
itk::AdvancedMatrixOffsetTransformBase::OutputVnlVectorType
Superclass::OutputVnlVectorType OutputVnlVectorType
Definition: itkAdvancedMatrixOffsetTransformBase.h:135
itk::AffineDTI3DTransform::ParametersType
Superclass::ParametersType ParametersType
Definition: itkAffineDTI3DTransform.h:103
itk::AdvancedMatrixOffsetTransformBase::InverseMatrixType
Matrix< TScalarType, itkGetStaticConstMacro(InputSpaceDimension), itkGetStaticConstMacro(OutputSpaceDimension) > InverseMatrixType
Definition: itkAdvancedMatrixOffsetTransformBase.h:158
itk::AffineDTI3DTransform::MatrixType
Superclass::MatrixType MatrixType
Definition: itkAffineDTI3DTransform.h:115
itk::AffineDTI3DTransform::OutputVnlVectorType
Superclass::OutputVnlVectorType OutputVnlVectorType
Definition: itkAffineDTI3DTransform.h:112
itk::AdvancedMatrixOffsetTransformBase::NonZeroJacobianIndicesType
Superclass ::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Definition: itkAdvancedMatrixOffsetTransformBase.h:141
itk::AdvancedMatrixOffsetTransformBase::OutputCovariantVectorType
Superclass ::OutputCovariantVectorType OutputCovariantVectorType
Definition: itkAdvancedMatrixOffsetTransformBase.h:133
itk::AffineDTI3DTransform::OffsetType
Superclass::OffsetType OffsetType
Definition: itkAffineDTI3DTransform.h:119
itk::AffineDTI3DTransform::CenterType
Superclass::CenterType CenterType
Definition: itkAffineDTI3DTransform.h:117
itk::AffineDTI3DTransform::InverseMatrixType
Superclass::InverseMatrixType InverseMatrixType
Definition: itkAffineDTI3DTransform.h:116
itk::AffineDTI3DTransform::operator=
void operator=(const Self &)
itk::AffineDTI3DTransform::NumberOfParametersType
Superclass::NumberOfParametersType NumberOfParametersType
Definition: itkAffineDTI3DTransform.h:104
itk::AffineDTI3DTransform::SetParameters
void SetParameters(const ParametersType &parameters)
itk::AffineDTI3DTransform::itkStaticConstMacro
itkStaticConstMacro(OutputSpaceDimension, unsigned int, 3)
itk::AdvancedMatrixOffsetTransformBase::InputPointType
Superclass::InputPointType InputPointType
Definition: itkAdvancedMatrixOffsetTransformBase.h:136
itk::AffineDTI3DTransform::ScalarArrayType
FixedArray< ScalarType > ScalarArrayType
Definition: itkAffineDTI3DTransform.h:132
itk::AffineDTI3DTransform::Self
AffineDTI3DTransform Self
Definition: itkAffineDTI3DTransform.h:86
itk::AffineDTI3DTransform::AngleType
Superclass::ScalarType AngleType
Definition: itkAffineDTI3DTransform.h:120
itk::AffineDTI3DTransform::InputPointType
Superclass::InputPointType InputPointType
Definition: itkAffineDTI3DTransform.h:113
itk::AffineDTI3DTransform::SpatialHessianType
Superclass::SpatialHessianType SpatialHessianType
Definition: itkAffineDTI3DTransform.h:127
itk::AdvancedMatrixOffsetTransformBase::JacobianOfSpatialHessianType
Superclass ::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
Definition: itkAdvancedMatrixOffsetTransformBase.h:147
itk::AffineDTI3DTransform::AffineDTI3DTransform
AffineDTI3DTransform()
itk::AffineDTI3DTransform::AffineDTI3DTransform
AffineDTI3DTransform(const MatrixType &matrix, const OutputPointType &offset)
itk::AdvancedMatrixOffsetTransformBase::InputVnlVectorType
Superclass::InputVnlVectorType InputVnlVectorType
Definition: itkAdvancedMatrixOffsetTransformBase.h:134
itk::AdvancedMatrixOffsetTransformBase::JacobianOfSpatialJacobianType
Superclass ::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
Definition: itkAdvancedMatrixOffsetTransformBase.h:144
itk::AffineDTI3DTransform::InputVectorType
Superclass::InputVectorType InputVectorType
Definition: itkAffineDTI3DTransform.h:107
itk::AffineDTI3DTransform::TranslationType
Superclass::TranslationType TranslationType
Definition: itkAffineDTI3DTransform.h:118
itk::AffineDTI3DTransform::ComputeMatrix
void ComputeMatrix(void)
itk::AffineDTI3DTransform::AffineDTI3DTransform
AffineDTI3DTransform(const Self &)
itk::AffineDTI3DTransform::OutputPointType
Superclass::OutputPointType OutputPointType
Definition: itkAffineDTI3DTransform.h:114
itk::AdvancedMatrixOffsetTransformBase::InputCovariantVectorType
Superclass ::InputCovariantVectorType InputCovariantVectorType
Definition: itkAdvancedMatrixOffsetTransformBase.h:131
itk::AdvancedMatrixOffsetTransformBase::OutputVectorType
Superclass::OutputVectorType OutputVectorType
Definition: itkAdvancedMatrixOffsetTransformBase.h:129
itk::AdvancedMatrixOffsetTransformBase::NumberOfParametersType
Superclass::NumberOfParametersType NumberOfParametersType
Definition: itkAdvancedMatrixOffsetTransformBase.h:126
itk
Definition: itkAdvancedImageToImageMetric.h:40
itk::AffineDTI3DTransform::GetParameters
const ParametersType & GetParameters(void) const
itk::AffineDTI3DTransform::InputVnlVectorType
Superclass::InputVnlVectorType InputVnlVectorType
Definition: itkAffineDTI3DTransform.h:111
itk::AffineDTI3DTransform::m_Angle
ScalarArrayType m_Angle
Definition: itkAffineDTI3DTransform.h:182
itk::AdvancedMatrixOffsetTransformBase::JacobianType
Superclass::JacobianType JacobianType
Definition: itkAdvancedMatrixOffsetTransformBase.h:127
itk::AdvancedMatrixOffsetTransformBase::InputVectorType
Superclass::InputVectorType InputVectorType
Definition: itkAdvancedMatrixOffsetTransformBase.h:128
itk::AffineDTI3DTransform::InternalMatrixType
Superclass::InternalMatrixType InternalMatrixType
Definition: itkAffineDTI3DTransform.h:130
itk::AffineDTI3DTransform::ScalarType
Superclass::ScalarType ScalarType
Definition: itkAffineDTI3DTransform.h:106
itk::AffineDTI3DTransform::itkStaticConstMacro
itkStaticConstMacro(InputSpaceDimension, unsigned int, 3)
itk::AffineDTI3DTransform::~AffineDTI3DTransform
~AffineDTI3DTransform()
Definition: itkAffineDTI3DTransform.h:159
itk::AdvancedMatrixOffsetTransformBase::CenterType
InputPointType CenterType
Definition: itkAdvancedMatrixOffsetTransformBase.h:161
itk::AffineDTI3DTransform::OutputVectorType
Superclass::OutputVectorType OutputVectorType
Definition: itkAffineDTI3DTransform.h:108
itk::AdvancedMatrixOffsetTransformBase::ScalarType
Superclass::ScalarType ScalarType
Definition: itkAdvancedMatrixOffsetTransformBase.h:122
itkAdvancedMatrixOffsetTransformBase.h
itk::AffineDTI3DTransform::GetJacobian
virtual void GetJacobian(const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
itk::AffineDTI3DTransform::JacobianType
Superclass::JacobianType JacobianType
Definition: itkAffineDTI3DTransform.h:105
itk::AffineDTI3DTransform::m_Scale
ScalarArrayType m_Scale
Definition: itkAffineDTI3DTransform.h:184
itk::AffineDTI3DTransform::itkStaticConstMacro
itkStaticConstMacro(ParametersDimension, unsigned int, 12)
itk::AffineDTI3DTransform::ConstPointer
SmartPointer< const Self > ConstPointer
Definition: itkAffineDTI3DTransform.h:89
itk::AffineDTI3DTransform::NonZeroJacobianIndicesType
Superclass ::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Definition: itkAffineDTI3DTransform.h:123
itk::AffineDTI3DTransform::OutputCovariantVectorType
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Definition: itkAffineDTI3DTransform.h:110
itk::AffineDTI3DTransform::PrintSelf
void PrintSelf(std::ostream &os, Indent indent) const


Generated on OURCE_DATE_EPOCH for elastix by doxygen 1.8.18 elastix logo