openModeller
Version 1.4.0
|
00001 00027 #ifndef _VIRTUALNICHEHH_ 00028 #define _VIRTUALNICHEHH_ 00029 00030 #include <openmodeller/om.hh> 00031 00032 /************************************************************/ 00033 /*********************** VirtualNiche ***********************/ 00034 00039 class VirtualNicheGenerator : public AlgorithmImpl 00040 { 00041 public: 00042 00043 VirtualNicheGenerator(); 00044 ~VirtualNicheGenerator(); 00045 00046 int initialize(); 00047 int iterate(); 00048 int done() const; 00049 00050 Scalar getValue( const Sample& x ) const; 00051 int getConvergence( Scalar * const val ) const; 00052 00053 protected: 00054 virtual void _getConfiguration( ConfigurationPtr& ) const; 00055 virtual void _setConfiguration( const ConstConfigurationPtr & ); 00056 00057 private: 00058 00059 void dump(); 00060 00061 // Probability density function for a Gaussian distribution 00062 Scalar pdf(Scalar avg, Scalar std, Scalar val) const; 00063 00064 bool _done; 00065 00066 OccurrencesPtr _background; 00067 int _num_background; 00068 00069 Sample _minimum; 00070 Sample _maximum; 00071 Sample _mean; 00072 Sample _std; 00073 Sample _scale; 00074 Scalar _threshold; 00075 }; 00076 00077 00078 #endif //VIRTUALNICHEHH