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