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
itkDiffusionTensor3DNonRigidTransform.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 itkDiffusionTensor3DNonRigidTransform_h
15#define itkDiffusionTensor3DNonRigidTransform_h
16
20#include <itkTransform.h>
21
22namespace itk
23{
24
25template <class TData>
27 public DiffusionTensor3DTransform<TData>
28{
29public:
30 typedef TData DataType;
36 typedef SmartPointer<Self> Pointer;
37 typedef SmartPointer<const Self> ConstPointer;
38 typedef Transform<double, 3, 3> TransformType;
42
45
46 // SmartPointer
48 // /Set the transform
50 TransformType::Pointer GetTransform() override;
51
52 // /Evaluate the position of the transformed tensor in the output image
53 PointType EvaluateTensorPosition( const PointType & point ) override;
54
55 // /Evaluate the transformed tensor
56 TensorDataType EvaluateTransformedTensor( TensorDataType & tensor, PointType & outputPosition ) override;
57
59protected:
61 unsigned long m_LatestTime;
62 typename TransformType::Pointer m_Transform;
64};
65
66} // end of itk namespace
67
68#ifndef ITK_MANUAL_INSTANTIATION
69#include "itkDiffusionTensor3DNonRigidTransform.txx"
70#endif
71
72#endif
itk::DiffusionTensor3DPPDAffineTransform< DataType > PPDAffineTransformType
TensorDataType EvaluateTransformedTensor(TensorDataType &tensor, PointType &outputPosition) override
TransformType::Pointer GetTransform() override
itkSetObjectMacro(Transform, TransformType)
itk::DiffusionTensor3DFSAffineTransform< DataType > FSAffineTransformType
PointType EvaluateTensorPosition(const PointType &point) override
itkTypeMacro(DiffusionTensor3DNonRigidTransform, DiffusionTensor3DTransform)
void SetAffineTransformType(typename AffineTransform::Pointer transform)
itk::DiffusionTensor3DAffineTransform< DataType > AffineTransform
Matrix< TransformType, 3, 3 > MatrixTransformType
DiffusionTensor3D< DataType > TensorDataType
Simplified inverse ITK transforms.