Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
itkDiffusionTensor3DTransform.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 itkDiffusionTensor3DTransform_h
15#define itkDiffusionTensor3DTransform_h
16
17#include <itkObject.h>
19#include <itkPoint.h>
20#include "itkMatrixExtended.h"
21#include <itkNumericTraits.h>
22#include <itkTransform.h>
23
24namespace itk
25{
30template <class TData>
31class DiffusionTensor3DTransform : public Object
32{
33public:
34 typedef TData DataType;
35 typedef double TransformType;
37 typedef Point<TransformType, 3> PointType;
38 typedef DiffusionTensor3D<DataType> TensorDataType;
40 typedef Matrix<TransformType, 3, 3> MatrixTransformType;
41 typedef Matrix<DataType, 3, 3> MatrixDataType;
44 typedef SmartPointer<Self> Pointer;
45 typedef SmartPointer<const Self> ConstPointer;
46
49
50 // /Evaluate the position of the transformed tensor
51 virtual PointType EvaluateTensorPosition(const PointType& point) = 0;
52
53 // /Evaluate the transformed tensor
55
56 // /Set the measurement frame of the tensor
57 itkSetMacro(MeasurementFrame, MatrixTransformType);
58 virtual typename Transform<TransformType, 3, 3>::Pointer GetTransform() = 0;
59
60protected:
63};
64
65} // end namespace itk
66
67#ifndef ITK_MANUAL_INSTANTIATION
68# include "itkDiffusionTensor3DTransform.txx"
69#endif
70
71#endif
virtual TensorDataType EvaluateTransformedTensor(TensorDataType &tensor, PointType &outputPosition)=0
MatrixExtended< TransformType, 3, 3 > InternalMatrixTransformType
MatrixExtended< DataType, 3, 3 > InternalMatrixDataType
itkTypeMacro(DiffusionTensor3DTransform, Object)
virtual PointType EvaluateTensorPosition(const PointType &point)=0
Matrix< TransformType, 3, 3 > MatrixTransformType
itkSetMacro(MeasurementFrame, MatrixTransformType)
DiffusionTensor3D< DataType > TensorDataType
InternalMatrixTransformType m_MeasurementFrame
DiffusionTensor3DExtended< DataType > InternalTensorDataType
virtual Transform< TransformType, 3, 3 >::Pointer GetTransform()=0
Simplified inverse ITK transforms.