4 #include <itkMatrixOffsetTransformBase.h> 9 template <
class TScalarType=
double >
11 public itk::MatrixOffsetTransformBase< TScalarType, 3 >
16 typedef itk::MatrixOffsetTransformBase< TScalarType, 3 >
Superclass;
42 typedef typename Superclass::InputCovariantVectorType
44 typedef typename Superclass::OutputCovariantVectorType
53 virtual void SetParameters(
const ParametersType & parameters)
override;
58 virtual void SetGeometry(HomogeneousMatrixType &matrix,
bool update =
true);
60 void SetLogScale(ScalarType scale,
bool update =
true);
61 itkGetConstReferenceMacro(LogScale, ScalarType);
64 itkGetConstReferenceMacro(LogFirstSkew, ScalarType);
67 itkGetConstReferenceMacro(LogSecondSkew, ScalarType);
70 itkGetConstReferenceMacro(UniqueTranslation, ScalarType);
73 itkGetConstReferenceMacro(UniqueDirection,
unsigned int);
75 virtual const itk::Vector <TScalarType,12>&
GetLogVector()
const {
return m_LogVector;}
82 this->InitializeParameters();
86 : Superclass(ParamersDim)
88 this->InitializeParameters();
93 void PrintSelf(std::ostream &os, itk::Indent indent)
const override;
105 void operator=(
const Self&);
107 void InitializeParameters()
109 m_LogVector.Fill(itk::NumericTraits<TScalarType>::Zero);
110 m_LogTransform.set_size(4,4);
111 m_ExpTransform.set_size(4,4);
116 m_UniqueTranslation = 0;
117 m_UniqueDirection = 1;
119 m_Geometry.SetIdentity();
120 m_GeometryInv.SetIdentity();
125 ScalarType m_LogScale;
126 ScalarType m_LogFirstSkew, m_LogSecondSkew;
127 ScalarType m_UniqueTranslation;
129 unsigned int m_UniqueDirection;
131 itk::Vector <TScalarType,12> m_LogVector;
134 template <
class TScalarType=
double>
158 virtual void SetParameters(
const ParametersType & parameters)
override;
159 virtual const ParametersType&
GetParameters()
const override;
172 template <
class TScalarType=
double>
196 virtual
void SetParameters(const ParametersType & parameters) override;
197 virtual const ParametersType&
GetParameters() const override;
201 : Superclass(ParametersDimension) {}