00001 /*========================================================================= 00002 00003 Program: Insight Segmentation & Registration Toolkit 00004 Module: $RCSfile: itkVesselTubeSpatialObjectPoint.h,v $ 00005 Language: C++ 00006 Date: $Date: 2009-01-28 20:10:30 $ 00007 Version: $Revision: 1.5 $ 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 00018 #ifndef __itkVesselTubeSpatialObjectPoint_h 00019 #define __itkVesselTubeSpatialObjectPoint_h 00020 00021 #include "itkTubeSpatialObjectPoint.h" 00022 #include "itkCovariantVector.h" 00023 #include "vnl/vnl_vector_fixed.h" 00024 00025 namespace itk 00026 { 00027 00037 template < unsigned int TPointDimension = 3 > 00038 class VesselTubeSpatialObjectPoint 00039 : public TubeSpatialObjectPoint<TPointDimension> 00040 { 00041 00042 public: 00043 00044 typedef VesselTubeSpatialObjectPoint Self; 00045 typedef TubeSpatialObjectPoint<TPointDimension> Superclass; 00046 typedef Point< double, TPointDimension > PointType; 00047 typedef Vector<double, TPointDimension > VectorType; 00048 typedef CovariantVector<double, TPointDimension > CovariantVectorType; 00049 00052 VesselTubeSpatialObjectPoint( void ); 00053 00055 virtual ~VesselTubeSpatialObjectPoint( void ); 00056 00058 float GetMedialness( void ) const; 00059 00061 void SetMedialness(const float newMedialness); 00062 00064 float GetRidgeness( void ) const; 00065 00067 void SetRidgeness(const float newRidgeness); 00068 00070 float GetBranchness( void ) const; 00071 00073 void SetBranchness(const float newBranchness); 00074 00076 bool GetMark( void ) const; 00077 00079 void SetMark(const bool newMark); 00080 00082 float GetAlpha1( void ) const; 00083 00085 void SetAlpha1(const float newAlpha); 00086 00088 float GetAlpha2( void ) const; 00089 00091 void SetAlpha2(const float newAlpha); 00092 00094 float GetAlpha3( void ) const; 00095 00097 void SetAlpha3(const float newAlpha); 00098 00100 Self & operator=(const VesselTubeSpatialObjectPoint & rhs); 00101 00102 protected: 00103 00105 float m_Alpha1; 00106 00108 float m_Alpha2; 00109 00111 float m_Alpha3; 00112 00114 float m_Medialness; 00115 00117 float m_Ridgeness; 00118 00120 float m_Branchness; 00121 00123 bool m_Mark; 00124 00126 void PrintSelf( std::ostream & os, Indent indent) const; 00127 }; 00128 00129 } // end of namespace itk 00130 00131 #ifndef ITK_MANUAL_INSTANTIATION 00132 #include "itkVesselTubeSpatialObjectPoint.txx" 00133 #endif 00134 00135 #endif // __itkVesselTubeSpatialObjectPoint_h 00136