Slicer  4.8
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
itkDiffusionTensor3DExtended.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 itkDiffusionTensor3DExtended_h
15 #define itkDiffusionTensor3DExtended_h
16 
17 #include <itkDiffusionTensor3D.h>
18 #include <itkMatrix.h>
19 
20 namespace itk
21 {
22 
30 template <class T>
31 class DiffusionTensor3DExtended : public DiffusionTensor3D<T>
32 {
33 public:
34  typedef T DataType;
36  typedef DiffusionTensor3D<DataType> Superclass;
37  typedef Matrix<DataType, 3, 3> MatrixType;
38 
40  {
41  }
42  DiffusionTensor3DExtended( const Superclass & tensor );
43  // /Get a Symmetric matrix representing the tensor
44  MatrixType GetTensor2Matrix();
45 
46  // /Set the Tensor from a symmetric matrix
47  template <class C>
48  void SetTensorFromMatrix( Matrix<C, 3, 3> matrix );
49 
50  // /Cast the component values of the tensor
51  template <class C>
52  operator DiffusionTensor3DExtended<C> const ();
53 
54 };
55 
56 } // end namespace itk
57 
58 #ifndef ITK_MANUAL_INSTANTIATION
59 #include "itkDiffusionTensor3DExtended.txx"
60 #endif
61 
62 #endif
void SetTensorFromMatrix(Matrix< C, 3, 3 > matrix)
Simplified inverse ITK transforms.
DiffusionTensor3D< DataType > Superclass