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
41namespace itk
42{
43
78template< class TScalarType = double >
79// Data type for scalars (float or double)
81 public AdvancedMatrixOffsetTransformBase< TScalarType, 3, 3 >
82{
83public:
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 ) 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
151protected:
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
177private:
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::InputCovariantVectorType InputCovariantVectorType
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Superclass::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
Superclass::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
Superclass::OutputCovariantVectorType OutputCovariantVectorType
Matrix< TScalarType, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension) > MatrixType
AffineDTI3DTransform of a vector space (e.g. space coordinates)
Superclass::NumberOfParametersType NumberOfParametersType
Superclass::CenterType CenterType
itkStaticConstMacro(InputSpaceDimension, unsigned int, 3)
Superclass::MatrixType MatrixType
Superclass::InputVnlVectorType InputVnlVectorType
void ComputeMatrix(void) override
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
void operator=(const Self &)
void GetJacobian(const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const override
const ParametersType & GetParameters(void) 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
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::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
Superclass::OutputPointType OutputPointType
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
Superclass::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
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.4 elastix logo