Slicer 5.4
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
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;
34 typedef DiffusionTensor3DRigidTransform<DataType> Self;
35 typedef DiffusionTensor3DMatrix3x3Transform<DataType> Superclass;
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
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.