Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
itkDiffusionTensor3DRigidTransform.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Diffusion Applications
4 Module: $HeadURL$
5 Language: C++
6 Date: $Date$
7 Version: $Revision$
8
9 Copyright (c) Brigham and Women's Hospital (BWH) All Rights Reserved.
10
11 See License.txt or http://www.slicer.org/copyright/copyright.txt for details.
12
13==========================================================================*/
14#ifndef itkDiffusionTensor3DRigidTransform_h
15#define itkDiffusionTensor3DRigidTransform_h
16
18#include <itkVersorRigid3DTransform.h>
19
20#define PRECISION .001
21
22namespace itk
23{
28template <class TData>
31{
32public:
33 typedef TData DataType;
36 typedef SmartPointer<Self> Pointer;
37 typedef SmartPointer<const Self> ConstPointer;
40 typedef Matrix<double, 4, 4> MatrixTransform4x4Type;
41 typedef Rigid3DTransform<double> Rigid3DTransformType;
42 typedef VersorRigid3DTransform<double> VersorRigid3DTransformType;
43 // /Set the 4x4 Matrix (the last row is ignored and considered to be 0,0,0,1
45
46 // /Set the transformation matrix from an itk::RigidTransform< double > object
47 void SetTransform( typename Rigid3DTransformType::Pointer transform );
48 typename VersorRigid3DTransformType::Pointer GetRigidTransform();
49
52
54 // /Set the 3x3 rotation matrix
55 void SetMatrix3x3( MatrixTransformType & matrix ) override;
56
58
59 itkSetMacro( PrecisionChecking, bool );
60protected:
63 double GetDet( MatrixTransformType & matrix );
64
65 void PreCompute() override;
66
67};
68
69} // end itk namespace
70
71#ifndef ITK_MANUAL_INSTANTIATION
72#include "itkDiffusionTensor3DRigidTransform.txx"
73#endif
74
75#endif
Superclass::InternalMatrixTransformType InternalMatrixTransformType
void SetMatrix4x4(MatrixTransform4x4Type matrix)
void SetMatrix3x3(MatrixTransformType &matrix) override
void SetTransform(typename Rigid3DTransformType::Pointer transform)
DiffusionTensor3DMatrix3x3Transform< DataType > Superclass
VersorRigid3DTransformType::Pointer GetRigidTransform()
double GetDet(MatrixTransformType &matrix)
DiffusionTensor3DRigidTransform< DataType > Self
Superclass::InternalMatrixTransformType InternalMatrixTransformType
VersorRigid3DTransform< double > VersorRigid3DTransformType
itkTypeMacro(DiffusionTensor3DRigidTransform, DiffusionTensor3DMatrix3x3Transform)
itkSetMacro(PrecisionChecking, bool)
Simplified inverse ITK transforms.