Slicer 5.4
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
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;
32 typedef DiffusionTensor3DTransform<DataType> Superclass;
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.