Slicer  4.8
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
itkDiffusionTensor3DPPDAffineTransform.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 itkDiffusionTensor3DPPDAffineTransform_h
15 #define itkDiffusionTensor3DPPDAffineTransform_h
16 
18 #include <vnl/vnl_vector.h>
19 #include <vnl/vnl_cross.h>
20 
21 namespace itk
22 {
34 template <class TData>
37 {
38 public:
39  typedef TData DataType;
48  typedef SmartPointer<Self> Pointer;
49  typedef SmartPointer<const Self> ConstPointer;
53 
56 
57  itkNewMacro( Self );
59  virtual TensorDataType EvaluateTransformedTensor( TensorDataType & tensor ) ITK_OVERRIDE;
60 
61  void SetMatrix( MatrixTransformType & matrix );
62 
63 protected:
64  void PreCompute() ITK_OVERRIDE;
65 
66  InternalMatrixTransformType ComputeMatrixFromAxisAndAngle( VectorType axis, double cosangle );
67 
68  InternalMatrixTransformType m_TransformMatrixInverse;
69 };
70 
71 } // end namespace itk
72 
73 #ifndef ITK_MANUAL_INSTANTIATION
74 #include "itkDiffusionTensor3DPPDAffineTransform.txx"
75 #endif
76 
77 #endif
itkTypeMacro(DiffusionTensor3DPPDAffineTransform, DiffusionTensor3DAffineTransform)
InternalMatrixTransformType ComputeMatrixFromAxisAndAngle(VectorType axis, double cosangle)
Simplified inverse ITK transforms.
DiffusionTensor3DExtended< double >::EigenVectorsMatrixType EVectorsType
virtual TensorDataType EvaluateTransformedTensor(TensorDataType &tensor) ITK_OVERRIDE
virtual TensorDataType EvaluateTransformedTensor(TensorDataType &tensor)
DiffusionTensor3DExtended< double >::EigenValuesArrayType EValuesType
void SetMatrix(MatrixTransformType &matrix)
DiffusionTensor3DAffineTransform< DataType > Superclass
Superclass::InternalMatrixTransformType InternalMatrixTransformType