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
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>
44{
45public:
46 typedef TData DataType;
51 typedef SmartPointer<Self> Pointer;
52 typedef SmartPointer<const Self> ConstPointer;
53
55
58
59protected:
60 void PreCompute() override;
61
62private:
63 MatrixTransformType ComputeMatrixSquareRoot( MatrixTransformType matrix );
64
65 MatrixTransformType ComputeRotationMatrixFromTransformationMatrix();
66
67};
68
69} // end namespace itk
70
71#ifndef ITK_MANUAL_INSTANTIATION
72#include "itkDiffusionTensor3DFSAffineTransform.txx"
73#endif
74
75#endif
Superclass::InternalMatrixTransformType InternalMatrixTransformType
Superclass::InternalMatrixTransformType InternalMatrixTransformType
DiffusionTensor3DAffineTransform< DataType > Superclass
itkTypeMacro(DiffusionTensor3DFSAffineTransform, DiffusionTensor3DAffineTransform)
Simplified inverse ITK transforms.