openModeller  Version 1.5.0
VirtualNicheGenerator Class Reference

#include <virtual_niche.hh>

Inheritance diagram for VirtualNicheGenerator:
Inheritance graph
Collaboration diagram for VirtualNicheGenerator:
Collaboration graph

Public Member Functions

 VirtualNicheGenerator ()
 
 ~VirtualNicheGenerator ()
 
int initialize ()
 
int iterate ()
 
int done () const
 
Scalar getValue (const Sample &x) const
 
int getConvergence (Scalar *const val) const
 
- Public Member Functions inherited from AlgorithmImpl
 AlgorithmImpl (AlgMetadata const *metadata)
 
virtual ~AlgorithmImpl ()
 
void setParameters (int nparam, AlgParameter const *param)
 
void setParameters (const ParamSetType &)
 
std::string const getID () const
 
AlgMetadata const * getMetadata () const
 
AlgorithmPtr getFreshCopy ()
 
virtual int supportsModelProjection () const
 
Model createModel (const SamplerPtr &samp, CallbackWrapper *func=0)
 
void setSampler (const SamplerPtr &samp)
 
virtual int finalize ()
 
virtual float getProgress () const
 
virtual int needNormalization ()
 
NormalizergetNormalizer () const
 
void setNormalization (const SamplerPtr &samp) const
 
void setNormalization (const EnvironmentPtr &env) const
 
virtual Model getModel () const
 
ConfigurationPtr getConfiguration () const
 
void setConfiguration (const ConstConfigurationPtr &)
 
- Public Member Functions inherited from Configurable
virtual ~Configurable ()
 

Protected Member Functions

virtual void _getConfiguration (ConfigurationPtr &) const
 
virtual void _setConfiguration (const ConstConfigurationPtr &)
 
- Protected Member Functions inherited from AlgorithmImpl
int dimDomain ()
 
int getParameter (std::string const &name, std::string *value)
 
int getParameter (std::string const &name, double *value)
 
int getParameter (std::string const &name, float *value)
 
int getParameter (std::string const &name, int *value)
 

Private Member Functions

void dump ()
 
Scalar pdf (Scalar avg, Scalar std, Scalar val) const
 

Private Attributes

bool _done
 
OccurrencesPtr _background
 

true if the algorithm is finished.

More...
 
int _num_background
 
Sample _minimum
 
Sample _maximum
 

Mininum value for each variable.

More...
 
Sample _mean
 

Maximum value for each variable.

More...
 
Sample _std
 

Average for the normal distribution.

More...
 
Sample _scale
 

Standard deviation for the normal distribution.

More...
 
Scalar _threshold
 

Factors to multiply the PDF values.

More...
 
Scalar _std_factor
 

Threshold to get a binary niche.

More...
 

Additional Inherited Members

- Public Types inherited from AlgorithmImpl
typedef std::map< icstring,
std::string > 
ParamSetType
 
- Protected Attributes inherited from AlgorithmImpl
SamplerPtr _samp
 
Normalizer_normalizerPtr
 
ParamSetType _param
 

Detailed Description

Declaration of Virtual Niche Generator.

Author
Renato De Giovanni <renato at cria.org.br>
Id:
virtual_niche.hh 5995 2014-11-06 16:34:19Z rdg

LICENSE INFORMATION

Copyright(c) 2012 by CRIA - Centro de Referência em Informação Ambiental

http://www.cria.org.br

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details:

http://www.gnu.org/copyleft/gpl.html Virtual Niche Generator algorithm

Definition at line 39 of file virtual_niche.hh.

Constructor & Destructor Documentation

VirtualNicheGenerator::VirtualNicheGenerator ( )

Definition at line 191 of file virtual_niche.cpp.

VirtualNicheGenerator::~VirtualNicheGenerator ( )

Definition at line 207 of file virtual_niche.cpp.

Member Function Documentation

void VirtualNicheGenerator::_getConfiguration ( ConfigurationPtr config) const
protectedvirtual

Reimplemented from AlgorithmImpl.

Definition at line 435 of file virtual_niche.cpp.

References _done, _maximum, _mean, _minimum, _scale, _std, and _threshold.

void VirtualNicheGenerator::_setConfiguration ( const ConstConfigurationPtr config)
protectedvirtual

Reimplemented from AlgorithmImpl.

Definition at line 452 of file virtual_niche.cpp.

References _done, _maximum, _mean, _minimum, _scale, _std, and _threshold.

int VirtualNicheGenerator::done ( ) const
virtual

Return != 0 if algorithm finished.

Reimplemented from AlgorithmImpl.

Definition at line 392 of file virtual_niche.cpp.

References _done.

void VirtualNicheGenerator::dump ( )
private

Definition at line 474 of file virtual_niche.cpp.

References _maximum, _mean, _minimum, _scale, _std, Log::info(), Log::instance(), and Sample::size().

Referenced by iterate().

Here is the call graph for this function:

int VirtualNicheGenerator::getConvergence ( Scalar *const  val) const
virtual

Returns the algorithm's convergence value at the moment

Reimplemented from AlgorithmImpl.

Definition at line 425 of file virtual_niche.cpp.

Scalar VirtualNicheGenerator::getValue ( const Sample x) const
virtual

The algorithm must return the occurrence probability at the given environment conditions.

Parameters
xEnvironmental conditions.
Returns
The occurrence probability in the range [0,1].

Implements AlgorithmImpl.

Definition at line 402 of file virtual_niche.cpp.

References _mean, _scale, _std, _threshold, pdf(), and Sample::size().

Here is the call graph for this function:

int VirtualNicheGenerator::initialize ( )
virtual

Initiate a new training.

Implements AlgorithmImpl.

Definition at line 215 of file virtual_niche.cpp.

References _background, _num_background, AlgorithmImpl::_samp, _std_factor, _threshold, BACKGROUND_ID, AlgorithmImpl::getParameter(), Log::info(), Log::instance(), STD_FACTOR_ID, THRESHOLD_ID, USE_ABSENCES_ID, and Log::warn().

Here is the call graph for this function:

int VirtualNicheGenerator::iterate ( )
virtual

One step further on the training. Return 0 if something wrong happened.

Reimplemented from AlgorithmImpl.

Definition at line 315 of file virtual_niche.cpp.

References _background, _done, _maximum, _mean, _minimum, _num_background, AlgorithmImpl::_samp, _scale, _std, _std_factor, dump(), Log::info(), Log::instance(), pdf(), Sample::size(), and Sample::sqrt().

Here is the call graph for this function:

Scalar VirtualNicheGenerator::pdf ( Scalar  avg,
Scalar  std,
Scalar  val 
) const
private

Definition at line 492 of file virtual_niche.cpp.

References PI.

Referenced by getValue(), and iterate().

Member Data Documentation

OccurrencesPtr VirtualNicheGenerator::_background
private

true if the algorithm is finished.

Definition at line 66 of file virtual_niche.hh.

Referenced by initialize(), and iterate().

bool VirtualNicheGenerator::_done
private

Definition at line 64 of file virtual_niche.hh.

Referenced by _getConfiguration(), _setConfiguration(), done(), and iterate().

Sample VirtualNicheGenerator::_maximum
private

Mininum value for each variable.

Definition at line 70 of file virtual_niche.hh.

Referenced by _getConfiguration(), _setConfiguration(), dump(), and iterate().

Sample VirtualNicheGenerator::_mean
private

Maximum value for each variable.

Definition at line 71 of file virtual_niche.hh.

Referenced by _getConfiguration(), _setConfiguration(), dump(), getValue(), and iterate().

Sample VirtualNicheGenerator::_minimum
private

Definition at line 69 of file virtual_niche.hh.

Referenced by _getConfiguration(), _setConfiguration(), dump(), and iterate().

int VirtualNicheGenerator::_num_background
private

Definition at line 67 of file virtual_niche.hh.

Referenced by initialize(), and iterate().

Sample VirtualNicheGenerator::_scale
private

Standard deviation for the normal distribution.

Definition at line 73 of file virtual_niche.hh.

Referenced by _getConfiguration(), _setConfiguration(), dump(), getValue(), and iterate().

Sample VirtualNicheGenerator::_std
private

Average for the normal distribution.

Definition at line 72 of file virtual_niche.hh.

Referenced by _getConfiguration(), _setConfiguration(), dump(), getValue(), and iterate().

Scalar VirtualNicheGenerator::_std_factor
private

Threshold to get a binary niche.

Definition at line 75 of file virtual_niche.hh.

Referenced by initialize(), and iterate().

Scalar VirtualNicheGenerator::_threshold
private

Factors to multiply the PDF values.

Definition at line 74 of file virtual_niche.hh.

Referenced by _getConfiguration(), _setConfiguration(), getValue(), and initialize().


The documentation for this class was generated from the following files: