Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itkDTITubeSpatialObjectPoint.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Insight Segmentation & Registration Toolkit
00004   Module:    $RCSfile: itkDTITubeSpatialObjectPoint.h,v $
00005   Language:  C++
00006   Date:      $Date: 2004/12/14 15:49:07 $
00007   Version:   $Revision: 1.2 $
00008 
00009   Copyright (c) Insight Software Consortium. All rights reserved.
00010   See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
00011 
00012      This software is distributed WITHOUT ANY WARRANTY; without even 
00013      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00014      PURPOSE.  See the above copyright notices for more information.
00015 
00016 =========================================================================*/
00017 #ifndef __itkDTITubeSpatialObjectPoint_h
00018 #define __itkDTITubeSpatialObjectPoint_h
00019 
00020 #include "itkTubeSpatialObjectPoint.h"
00021 #include "itkCovariantVector.h"
00022 #include "vnl/vnl_vector_fixed.h"
00023 
00024 namespace itk 
00025 {
00026 
00035 template < unsigned int TPointDimension = 3 >
00036 class DTITubeSpatialObjectPoint 
00037   : public TubeSpatialObjectPoint<TPointDimension>
00038 {
00039 
00040 public:
00041 
00042   typedef DTITubeSpatialObjectPoint              Self;
00043   typedef SpatialObjectPoint<TPointDimension> Superclass;
00044   typedef Point< double, TPointDimension >    PointType;
00045   typedef Vector<double, TPointDimension >    VectorType;
00046   typedef CovariantVector<double, TPointDimension >    CovariantVectorType;
00047  
00050   DTITubeSpatialObjectPoint( void );
00051 
00053   virtual ~DTITubeSpatialObjectPoint( void );
00054 
00056   void  SetFA(const float fa) {m_FA = fa;}
00057   float GetFA() const {return m_FA;}
00058  
00060   void  SetADC(const float adc) {m_ADC = adc;}
00061   float GetADC() const {return m_ADC;}
00062   
00064   void  SetGA(const float ga) {m_GA = ga;}
00065   float GetGA() const {return m_GA;}
00066 
00068   void  SetLambda1(const float lambda1) {m_Lambda1 = lambda1;}
00069   float GetLambda1() const {return m_Lambda1;}
00070 
00072   void  SetLambda2(const float lambda2) {m_Lambda2 = lambda2;}
00073   float GetLambda2() const {return m_Lambda2;}
00074 
00076   void  SetLambda3(const float lambda3) {m_Lambda3 = lambda3;}
00077   float GetLambda3() const {return m_Lambda3;}
00078 
00080   void SetMinEigenVector(float* val)
00081     {
00082     for(unsigned int i=0;i<3;i++)
00083       {
00084       m_MinEV[i] = val[i];
00085       }
00086     }
00087   const float* GetMinEigenVector() const {return m_MinEV;}
00088 
00090   void SetMedEigenVector(float* val)
00091     {
00092     for(unsigned int i=0;i<3;i++)
00093       {
00094       m_MedEV[i] = val[i];
00095       }
00096     }
00097   const float* GetMedEigenVector() const {return m_MedEV;}
00098 
00100   void SetMaxEigenVector(float* val)
00101     {
00102     for(unsigned int i=0;i<3;i++)
00103       {
00104       m_MaxEV[i] = val[i];
00105       }
00106     }
00107   const float* GetMaxEigenVector() const {return m_MaxEV;}
00108 
00110   void SetMRI(float* mri)
00111     {
00112     for(unsigned int i=0;i<5;i++)
00113       {
00114       m_MRI[i] = mri[i];
00115       }
00116     }
00117 
00118   const float* GetMRI() const {return m_MRI;}
00119 
00121   void SetTensorMatrix(float* matrix)
00122     {
00123     for(unsigned int i=0;i<6;i++)
00124       {
00125       m_TensorMatrix[i] = matrix[i];
00126       }
00127     }
00128 
00129   const float* GetTensorMatrix() const {return m_TensorMatrix;}
00130 
00132   void  SetInterpolation(const int interp) {m_Interpolation = interp;}
00133   int GetInterpolation() const {return m_Interpolation;}
00134 
00136   Self & operator=(const DTITubeSpatialObjectPoint & rhs);
00137 
00138 protected:
00139 
00140   float m_FA;
00141   float m_ADC;
00142   float m_GA;
00143   float m_Lambda1;
00144   float m_Lambda2;
00145   float m_Lambda3;
00146   float m_MinEV[3];
00147   float m_MedEV[3];
00148   float m_MaxEV[3];
00149   float m_MRI[5];
00150   float m_TensorMatrix[6];
00151   int   m_Interpolation;
00152 
00153 
00155   unsigned short int m_NumDimensions;
00156 
00158   void PrintSelf( std::ostream & os, Indent indent) const;
00159 };
00160 
00161 } // end of namespace itk
00162 
00163 #ifndef ITK_MANUAL_INSTANTIATION
00164 #include "itkDTITubeSpatialObjectPoint.txx"
00165 #endif
00166 
00167 #endif // __itkDTITubeSpatialObjectPoint_h

Generated at Tue Mar 29 23:50:23 2005 for ITK by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2000