Slicer  5.1
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
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 
22 namespace itk
23 {
41 template <class TData>
44 {
45 public:
46  typedef TData DataType;
51  typedef SmartPointer<Self> Pointer;
52  typedef SmartPointer<const Self> ConstPointer;
53 
55 
58 
59 protected:
60  void PreCompute() override;
61 
62 private:
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
DiffusionTensor3DAffineTransform< DataType > Superclass
Simplified inverse ITK transforms.
itkTypeMacro(DiffusionTensor3DFSAffineTransform, DiffusionTensor3DAffineTransform)