Slicer 5.9
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>
30{
31public:
32 typedef TData DataType;
35 typedef SmartPointer<Self> Pointer;
36 typedef SmartPointer<const Self> ConstPointer;
39 typedef Matrix<double, 4, 4> MatrixTransform4x4Type;
40 typedef Rigid3DTransform<double> Rigid3DTransformType;
41 typedef VersorRigid3DTransform<double> VersorRigid3DTransformType;
42 // /Set the 4x4 Matrix (the last row is ignored and considered to be 0,0,0,1
44
45 // /Set the transformation matrix from an itk::RigidTransform<double> object
46 void SetTransform(typename Rigid3DTransformType::Pointer transform);
47 typename VersorRigid3DTransformType::Pointer GetRigidTransform();
48
51
53 // /Set the 3x3 rotation matrix
54 void SetMatrix3x3(MatrixTransformType& matrix) override;
55
57
58 itkSetMacro(PrecisionChecking, bool);
59
60protected:
63 double GetDet(MatrixTransformType& matrix);
64
65 void PreCompute() override;
66};
67
68} // namespace itk
69
70#ifndef ITK_MANUAL_INSTANTIATION
71# include "itkDiffusionTensor3DRigidTransform.txx"
72#endif
73
74#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.