SurpriseModelSP Class Reference

A single-Poisson/Gamma SurpriseModel. More...

#include <Surprise/SurpriseModel.H>

Inheritance diagram for SurpriseModelSP:
Inheritance graph
[legend]
Collaboration diagram for SurpriseModelSP:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 SurpriseModelSP (const double updatefac=0.5, const double sampleval=0.0, const double samplevar=1.0)
 Constructor. See base class for details.
virtual ~SurpriseModelSP ()
 Virtual destructor ensures proper destruction of derived classes.
virtual void reset ()
 Reset to initial state.
virtual void init (const double updatefac=0.5, const double sampleval=0.0, const double samplevar=1.0)
 Change intial state parameters.
virtual void load (const double sampleval, const double samplevar=1.0)
 Load given sample mean and variance.
virtual double surprise (const SurpriseModelSP &other)
 Compute surprise between us and another model.
virtual void preComputeHyperParams (const SurpriseModelSP &sample)
 Is empty in this model.
virtual void combineFrom (const Image< SurpriseModelSP > &models, const Image< float > &weights)
 Initialize us as a weighted combination of the given map of models.
virtual void combineFrom (const Image< SurpriseModelSP > &models, const Image< float > &weights, const Point2D< int > &pos, const int width, const int height, const int offset)
 Initialize us as a weighted combination of the given map of models.
virtual double getMean () const
 get our mean
virtual double getVar () const
 get our variance
virtual double getUpdateFac () const
 get our UpdateFac
double getAlpha () const
 get our alpha
double getBeta () const
 get out beta
void preSetAlpha ()
 Pre set model alpha values.

Protected Attributes

int itsN
 our sample N
double itsAlpha
 our current Gamma alpha
double itsBeta
 our current Gamma beta

Detailed Description

A single-Poisson/Gamma SurpriseModel.

This is a very simple SurpriseModel consisting of a single Gamma prior over Poisson, which is updated in a sliding-average manner.

Definition at line 214 of file SurpriseModel.H.


Constructor & Destructor Documentation

SurpriseModelSP::SurpriseModelSP ( const double  updatefac = 0.5,
const double  sampleval = 0.0,
const double  samplevar = 1.0 
)

Constructor. See base class for details.

Definition at line 289 of file SurpriseModel.C.

SurpriseModelSP::~SurpriseModelSP (  )  [virtual]

Virtual destructor ensures proper destruction of derived classes.

Definition at line 299 of file SurpriseModel.C.


Member Function Documentation

void SurpriseModelSP::combineFrom ( const Image< SurpriseModelSP > &  models,
const Image< float > &  weights,
const Point2D< int > &  pos,
const int  width,
const int  height,
const int  offset 
) [inline, virtual]

Initialize us as a weighted combination of the given map of models.

Definition at line 376 of file SurpriseModel.C.

void SurpriseModelSP::combineFrom ( const Image< SurpriseModelSP > &  models,
const Image< float > &  weights 
) [inline, virtual]

Initialize us as a weighted combination of the given map of models.

Definition at line 366 of file SurpriseModel.C.

double SurpriseModelSP::getAlpha (  )  const [inline]

get our alpha

Definition at line 409 of file SurpriseModel.C.

References itsAlpha.

double SurpriseModelSP::getBeta (  )  const [inline]

get out beta

Definition at line 413 of file SurpriseModel.C.

References itsBeta.

double SurpriseModelSP::getMean (  )  const [inline, virtual]

get our mean

Implements SurpriseModel.

Definition at line 397 of file SurpriseModel.C.

References itsAlpha, and itsBeta.

double SurpriseModelSP::getUpdateFac (  )  const [inline, virtual]

get our UpdateFac

Implements SurpriseModel.

Definition at line 405 of file SurpriseModel.C.

References SurpriseModel::itsUpdateFac.

double SurpriseModelSP::getVar (  )  const [inline, virtual]

get our variance

Implements SurpriseModel.

Definition at line 401 of file SurpriseModel.C.

References itsAlpha, and itsBeta.

void SurpriseModelSP::init ( const double  updatefac = 0.5,
const double  sampleval = 0.0,
const double  samplevar = 1.0 
) [inline, virtual]

Change intial state parameters.

Reimplemented from SurpriseModel.

Definition at line 307 of file SurpriseModel.C.

References load().

void SurpriseModelSP::load ( const double  sampleval,
const double  samplevar = 1.0 
) [inline, virtual]

Load given sample mean and variance.

Implements SurpriseModel.

Definition at line 316 of file SurpriseModel.C.

References itsAlpha, itsBeta, itsN, and SurpriseModel::itsUpdateFac.

Referenced by init(), and reset().

void SurpriseModelSP::preComputeHyperParams ( const SurpriseModelSP sample  )  [inline, virtual]

Is empty in this model.

Definition at line 348 of file SurpriseModel.C.

void SurpriseModelSP::preSetAlpha (  ) 

Pre set model alpha values.

Definition at line 417 of file SurpriseModel.C.

References itsAlpha, and itsBeta.

void SurpriseModelSP::reset ( void   )  [inline, virtual]

Reset to initial state.

Implements SurpriseModel.

Definition at line 303 of file SurpriseModel.C.

References SurpriseModel::itsInitialVal, SurpriseModel::itsInitialVar, and load().

double SurpriseModelSP::surprise ( const SurpriseModelSP other  )  [inline, virtual]

Compute surprise between us and another model.

Definition at line 324 of file SurpriseModel.C.

References itsAlpha, itsBeta, itsN, and SurpriseModel::itsUpdateFac.


Member Data Documentation

double SurpriseModelSP::itsAlpha [protected]

our current Gamma alpha

Definition at line 270 of file SurpriseModel.H.

Referenced by getAlpha(), getMean(), getVar(), load(), preSetAlpha(), and surprise().

double SurpriseModelSP::itsBeta [protected]

our current Gamma beta

Definition at line 271 of file SurpriseModel.H.

Referenced by getBeta(), getMean(), getVar(), load(), preSetAlpha(), and surprise().

int SurpriseModelSP::itsN [protected]

our sample N

Definition at line 269 of file SurpriseModel.H.

Referenced by load(), and surprise().


The documentation for this class was generated from the following files:
Generated on Sun May 8 08:43:50 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3