00001 /*========================================================================= 00002 00003 Program: 3DMed 00004 Date: $Date: 2014-02-25 18:30:00 +0800 $ 00005 Version: $Version: 4.6.0 $ 00006 Copyright: MIPG, Institute of Automation, Chinese Academy of Sciences 00007 00008 =========================================================================*/ 00009 00010 00011 #ifndef __mitkFootprint1DGaussian_h 00012 #define __mitkFootprint1DGaussian_h 00013 00014 #include "mitkFootprint1D.h" 00015 00040 class MITK_VISUALIZATION_API mitkFootprint1DGaussian : public mitkFootprint1D 00041 { 00042 public: 00043 MITK_TYPE(mitkFootprint1DGaussian, mitkFootprint1D) 00044 00045 virtual void PrintSelf(ostream &os); 00046 00050 mitkFootprint1DGaussian(); 00051 00056 void SetCoefficient(float coeff){ m_Coeff = coeff, m_NeedRebuild = true; } 00057 00062 void SetAdjustRadii(float adjustradii){ m_AdjustRadii = adjustradii; } 00063 00071 void SetVarianceMatrix(float vmatrix[4]); 00072 00077 float GetCoefficient(){ return m_Coeff; } 00078 00083 float GetAdjustRadii(){ return m_AdjustRadii; } 00084 00092 void GetVarianceMatrix(float vmatrix[4]); 00093 00098 virtual float* EncodeFootprintTable(); 00099 00106 virtual float DecodeFootprintTable(float x, float y); 00107 00113 float DecodeFootprintTable(float rs); 00114 00115 protected: 00116 virtual ~mitkFootprint1DGaussian(); 00117 00118 void _buildTable(); 00119 00120 float m_Coeff; 00121 float m_AdjustRadii; 00122 float m_VMatrix[4]; 00123 float m_InvMatrix[4]; 00124 00125 private: 00126 mitkFootprint1DGaussian(const mitkFootprint1DGaussian&); 00127 void operator = (const mitkFootprint1DGaussian&); 00128 00129 }; 00130 00131 00132 //#define DEFINED_mitkFootprint1DGaussian 00133 00134 00135 00136 #endif 00137