itkDiffusionTensor3DFSAffineTransform.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Diffusion Applications
00004   Module:    $HeadURL: http://svn.slicer.org/Slicer3/trunk/Applications/CLI/DiffusionApplications/ResampleDTI/itkDiffusionTensor3DFSAffineTransform.h $
00005   Language:  C++
00006   Date:      $Date: 2010-03-15 18:00:34 -0400 (Mon, 15 Mar 2010) $
00007   Version:   $Revision: 12353 $
00008 
00009   Copyright (c) Brigham and Women's Hospital (BWH) All Rights Reserved.
00010 
00011   See License.txt or http://www.slicer.org/copyright/copyright.txt for details.
00012 
00013 ==========================================================================*/
00014 #ifndef __itkDiffusionTensor3DFSAffineTransform_h
00015 #define __itkDiffusionTensor3DFSAffineTransform_h
00016 
00017 
00018 #include "itkDiffusionTensor3DAffineTransform.h"
00019 #include <vnl/vnl_matrix.h>
00020 #include <vnl/algo/vnl_real_eigensystem.h>
00021 #include <vnl/vnl_real.h>
00022 
00023 
00024 
00025 namespace itk
00026 {
00044 template<class TData>
00045 class DiffusionTensor3DFSAffineTransform :
00046   public DiffusionTensor3DAffineTransform< TData >
00047 {
00048 public:
00049   typedef TData DataType ;
00050   typedef DiffusionTensor3DFSAffineTransform Self ;
00051   typedef DiffusionTensor3DAffineTransform< DataType > Superclass ;
00052   typedef typename Superclass::MatrixTransformType MatrixTransformType;
00053   typedef typename Superclass::InternalMatrixTransformType InternalMatrixTransformType ;
00054   typedef SmartPointer< Self > Pointer ;
00055   typedef SmartPointer< const Self > ConstPointer ;
00056   
00057   itkNewMacro(Self);
00058 
00059 
00060 protected:
00061   void PreCompute();
00062 
00063 private:
00064   MatrixTransformType ComputeMatrixSquareRoot( MatrixTransformType matrix ) ;
00065   MatrixTransformType ComputeRotationMatrixFromTransformationMatrix() ;
00066 
00067 };
00068 
00069 }//end namespace itk
00070 
00071 #ifndef ITK_MANUAL_INSTANTIATION
00072 #include "itkDiffusionTensor3DFSAffineTransform.txx"
00073 #endif
00074 
00075 #endif

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1