Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
itkDiffusionTensor3DFSAffineTransform.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 itkDiffusionTensor3DFSAffineTransform_h
15#define itkDiffusionTensor3DFSAffineTransform_h
16
18#include <vnl/vnl_matrix.h>
19#include <vnl/algo/vnl_real_eigensystem.h>
20#include <vnl/vnl_real.h>
21
22namespace itk
23{
41template <class TData>
43{
44public:
45 typedef TData DataType;
50 typedef SmartPointer<Self> Pointer;
51 typedef SmartPointer<const Self> ConstPointer;
52
54
57
58protected:
59 void PreCompute() override;
60
61private:
62 MatrixTransformType ComputeMatrixSquareRoot(MatrixTransformType matrix);
63
64 MatrixTransformType ComputeRotationMatrixFromTransformationMatrix();
65};
66
67} // end namespace itk
68
69#ifndef ITK_MANUAL_INSTANTIATION
70# include "itkDiffusionTensor3DFSAffineTransform.txx"
71#endif
72
73#endif
Superclass::InternalMatrixTransformType InternalMatrixTransformType
Superclass::InternalMatrixTransformType InternalMatrixTransformType
DiffusionTensor3DAffineTransform< DataType > Superclass
itkTypeMacro(DiffusionTensor3DFSAffineTransform, DiffusionTensor3DAffineTransform)
Simplified inverse ITK transforms.