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 
88  typedef SmartPointer< Self > Pointer;
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 ) override;
140 
141  const ParametersType & GetParameters( void ) const override;
142 
145  const InputPointType &,
146  JacobianType &,
147  NonZeroJacobianIndicesType & ) const override;
148 
149  void SetIdentity( void ) override;
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 override;
162 
165  ScalarArrayType angle,
166  ScalarArrayType shear,
167  ScalarArrayType scale );
168 
170  void ComputeMatrix( void ) override;
171 
172  void ComputeMatrixParameters( void ) override;
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 */
Matrix< TScalarType, itkGetStaticConstMacro(InputSpaceDimension), itkGetStaticConstMacro(OutputSpaceDimension) > InverseMatrixType
Superclass ::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
Superclass ::OutputCovariantVectorType OutputCovariantVectorType
Superclass ::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
Superclass ::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Matrix< TScalarType, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension) > MatrixType
Superclass ::InputCovariantVectorType InputCovariantVectorType
Transform maps points, vectors and covariant vectors from an input space to an output space.
Superclass::ParametersType ParametersType
Superclass::OutputPointType OutputPointType
Superclass::JacobianType JacobianType
Superclass::InputPointType InputPointType
std::vector< unsigned long > NonZeroJacobianIndicesType
AffineDTI3DTransform of a vector space (e.g. space coordinates)
Superclass::NumberOfParametersType NumberOfParametersType
Superclass::CenterType CenterType
Superclass ::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
itkStaticConstMacro(InputSpaceDimension, unsigned int, 3)
Superclass::MatrixType MatrixType
Superclass::InputVnlVectorType InputVnlVectorType
Superclass ::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
void ComputeMatrix(void) override
void operator=(const Self &)
void GetJacobian(const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const override
Superclass::InputCovariantVectorType InputCovariantVectorType
Superclass::ParametersType ParametersType
Superclass::InternalMatrixType InternalMatrixType
AffineDTI3DTransform(unsigned int outputSpaceDims, unsigned int paramsSpaceDims)
AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 > Superclass
Superclass::InverseMatrixType InverseMatrixType
Superclass::ScalarType ScalarType
Superclass::ScalarType AngleType
const ParametersType & GetParameters(void) const override
void PrintSelf(std::ostream &os, Indent indent) const override
void SetParameters(const ParametersType &parameters) override
itkStaticConstMacro(OutputSpaceDimension, unsigned int, 3)
void ComputeMatrixParameters(void) override
Superclass::OutputPointType OutputPointType
Superclass ::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
void SetVarAngleScaleShear(ScalarArrayType angle, ScalarArrayType shear, ScalarArrayType scale)
Superclass::OffsetType OffsetType
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Superclass::SpatialJacobianType SpatialJacobianType
itkStaticConstMacro(ParametersDimension, unsigned int, 12)
Superclass::SpatialHessianType SpatialHessianType
Superclass::TranslationType TranslationType
AffineDTI3DTransform(const MatrixType &matrix, const OutputPointType &offset)
Superclass::OutputVectorType OutputVectorType
Superclass::OutputVnlVectorType OutputVnlVectorType
Superclass::InputPointType InputPointType
FixedArray< ScalarType > ScalarArrayType
SmartPointer< const Self > ConstPointer
void SetIdentity(void) override
Superclass::JacobianType JacobianType
virtual void PrecomputeJacobianOfSpatialJacobian(void)
AffineDTI3DTransform(const Self &)
itkStaticConstMacro(SpaceDimension, unsigned int, 3)
Superclass::InputVectorType InputVectorType


Generated on 1667476801 for elastix by doxygen 1.9.1 elastix logo