MultiSeedModelMk2 Class Reference

Inherits DifferentialModel, and ml::filter::ParticleSmootherModel.

Inheritance diagram for MultiSeedModelMk2:

Inheritance graph
[legend]
List of all members.

Detailed Description

Multiple seed time-series model combining indii::fmri::neural::MultiSeedNeuralModelMk2 for neural interactions, indii::fmri::hemodynamic::LogNeuralBalloonModel for independent hemodynamic activity at each seed and indii::fmri::hemodynamic::LogBOLDCalculator for predicted BOLD signal measurements.

Author:
Lawrence Murray <lawrence@indii.org>
Version:
Rev
317
Date:
Date
2007-10-05 17:18:14 +0100 (Fri, 05 Oct 2007)
Parameters of the model may be estimated using indii::ml::filter::ParticleFilter<double> or indii::ml::filter::ParticleSmoother<double>. When retrieving the state at any time from one of these methods, it will be arranged as follows (for $N$ seeds):

Definition at line 54 of file MultiSeedModelMk2.hpp.

Public Types

enum  SeedVariables {
  LN_Q, LN_V, LN_F, S,
  U, SEED_SIZE
}
 Order of state variables within each seed block of the state vector. More...

Public Member Functions

 MultiSeedModelMk2 (const unsigned int N, indii::ml::ode::FunctionModel *u)
 Construct new model.
virtual ~MultiSeedModelMk2 ()
 Destructor.
virtual unsigned int getStateSize ()
 Get state size.
virtual unsigned int getMeasurementSize ()
 Get measurement size.
indii::fmri::neural::MultiSeedNeuralModelMk2getNeuralModel ()
 Get the neural model.
indii::fmri::hemodynamic::LogNeuralBalloonModelgetHemodynamicModel (const unsigned int seed)
 Get the hemodynamic model for a particular seed.
indii::fmri::hemodynamic::LogBOLDCalculatorgetBOLDCalculator (const unsigned int seed)
 Get the BOLD calculator for a particular seed.
const indii::ml::aux::WienerProcess<
double > & 
getSystemNoise ()
 Get system noise structure.
const indii::ml::aux::GaussianPdf & getMeasurementNoise ()
 Get measurement noise structure.
const indii::ml::aux::GaussianPdf & getResamplingNoise ()
 Get resampling noise structure.
void setSystemNoise (const indii::ml::aux::WienerProcess< double > &w)
 Set system noise structure.
void setMeasurementNoise (const indii::ml::aux::GaussianPdf &v)
 Set measurement noise structure.
void setResamplingNoise (const indii::ml::aux::GaussianPdf &r)
 Set resampling noise structure.
indii::ml::aux::GaussianPdf suggestPrior ()
 Calculate a suggested prior over the initial state of the system.
indii::ml::aux::WienerProcess<
double > 
suggestSystemNoise ()
 Calculate a suggested system noise structure.
indii::ml::aux::GaussianPdf suggestMeasurementNoise ()
 Calculate a suggested measurement noise structure.
indii::ml::aux::GaussianPdf suggestResamplingNoise ()
 Calculate a suggested resampling noise structure.
virtual indii::ml::aux::vector transition (const indii::ml::aux::vector &x, const double start, const double delta)
 
See also:
indii::ml::model::ParticleFilterModel

virtual indii::ml::aux::vector measure (const indii::ml::aux::vector &x)
 
See also:
indii::ml::model::ParticleFilterModel

virtual double weight (const indii::ml::aux::vector &x, const indii::ml::aux::vector &y)
 
See also:
indii::ml::model::ParticleFilterModel

virtual indii::ml::aux::vector resample (const indii::ml::aux::vector &x)
 
See also:
indii::ml::model::ParticleFilterModel

virtual indii::ml::aux::sparse_matrix alpha (const indii::ml::aux::DiracMixturePdf &p_xtn_ytn, const indii::ml::aux::DiracMixturePdf &p_xtnp1_ytnp1, const double start, const double delta)
 
See also:
indii::ml::model::ParticleSmootherModel

virtual void alphaPrecalculate (const indii::ml::aux::DiracMixturePdf &p_xtn_ytn, const double start, const double delta)
 
See also:
indii::ml::model::ParticleSmootherModel

virtual void calculateDerivatives (double t, const double y[], double dydt[])
 
See also:
indii::ml::ode::DifferentialModel


Public Attributes

const ublas::range A_RANGE
 Range of $A$ in state vector.
const ublas::range C_RANGE
 Range of $\mathbf{c}$ in state vector.
const ublas::range SEEDS_RANGE
 Range of seed variables in state vector.
const ublas::range B_RANGE
 Range of baselines in state vector.


Member Enumeration Documentation

enum SeedVariables

Order of state variables within each seed block of the state vector.

Enumerator:
LN_Q 
LN_V 
LN_F 
S 
U 
SEED_SIZE  Number of state variables for each seed.

Definition at line 61 of file MultiSeedModelMk2.hpp.


Constructor & Destructor Documentation

MultiSeedModelMk2 ( const unsigned int  N,
indii::ml::ode::FunctionModel *  u 
)

Construct new model.

Parameters:
N Number of seeds.
u Experimental stimulus, for example a indii::fmri::experimental::BlockDesignModel.

~MultiSeedModelMk2 (  )  [virtual]

Destructor.

Definition at line 63 of file MultiSeedModelMk2.cpp.


Member Function Documentation

unsigned int getStateSize (  )  [virtual]

Get state size.

Definition at line 80 of file MultiSeedModelMk2.cpp.

unsigned int getMeasurementSize (  )  [virtual]

Get measurement size.

Definition at line 84 of file MultiSeedModelMk2.cpp.

MultiSeedNeuralModelMk2 * getNeuralModel (  ) 

Get the neural model.

Settings of this model may be adjusted.

Returns:
The neural model.

Definition at line 88 of file MultiSeedModelMk2.cpp.

LogNeuralBalloonModel * getHemodynamicModel ( const unsigned int  seed  ) 

Get the hemodynamic model for a particular seed.

Settings of this model may be adjusted.

Parameters:
seed The seed.
Returns:
The hemodynamic model for the given seed.

Definition at line 100 of file MultiSeedModelMk2.cpp.

LogBOLDCalculator * getBOLDCalculator ( const unsigned int  seed  ) 

Get the BOLD calculator for a particular seed.

Settings of this may be adjusted.

Parameters:
seed The seed.
Returns:
The BOLD calculator for the given seed.

Definition at line 92 of file MultiSeedModelMk2.cpp.

const aux::WienerProcess< double > & getSystemNoise (  ) 

Get system noise structure.

Returns:
System noise.

Definition at line 108 of file MultiSeedModelMk2.cpp.

const aux::GaussianPdf & getMeasurementNoise (  ) 

Get measurement noise structure.

Returns:
Measurement noise.

Definition at line 112 of file MultiSeedModelMk2.cpp.

const aux::GaussianPdf & getResamplingNoise (  ) 

Get resampling noise structure.

Returns:
Resampling noise.

Definition at line 116 of file MultiSeedModelMk2.cpp.

void setSystemNoise ( const indii::ml::aux::WienerProcess< double > &  w  ) 

Set system noise structure.

Parameters:
w System noise.

void setMeasurementNoise ( const indii::ml::aux::GaussianPdf &  v  ) 

Set measurement noise structure.

Parameters:
v Measurement noise.

void setResamplingNoise ( const indii::ml::aux::GaussianPdf &  r  ) 

Set resampling noise structure.

Parameters:
r Resampling noise.

aux::GaussianPdf suggestPrior (  ) 

Calculate a suggested prior over the initial state of the system.

Returns:
Suggested prior over the initial state of the system.

Definition at line 132 of file MultiSeedModelMk2.cpp.

aux::WienerProcess< double > suggestSystemNoise (  ) 

Calculate a suggested system noise structure.

Returns:
Suggested system noise.

Definition at line 175 of file MultiSeedModelMk2.cpp.

aux::GaussianPdf suggestMeasurementNoise (  ) 

Calculate a suggested measurement noise structure.

Returns:
Suggested measurement noise.

Definition at line 210 of file MultiSeedModelMk2.cpp.

aux::GaussianPdf suggestResamplingNoise (  ) 

Calculate a suggested resampling noise structure.

Returns:
Suggested resampling noise.

Definition at line 221 of file MultiSeedModelMk2.cpp.

virtual indii::ml::aux::vector transition ( const indii::ml::aux::vector &  x,
const double  start,
const double  delta 
) [virtual]

See also:
indii::ml::model::ParticleFilterModel

virtual indii::ml::aux::vector measure ( const indii::ml::aux::vector &  x  )  [virtual]

See also:
indii::ml::model::ParticleFilterModel

virtual double weight ( const indii::ml::aux::vector &  x,
const indii::ml::aux::vector &  y 
) [virtual]

See also:
indii::ml::model::ParticleFilterModel

virtual indii::ml::aux::vector resample ( const indii::ml::aux::vector &  x  )  [virtual]

See also:
indii::ml::model::ParticleFilterModel

virtual indii::ml::aux::sparse_matrix alpha ( const indii::ml::aux::DiracMixturePdf &  p_xtn_ytn,
const indii::ml::aux::DiracMixturePdf &  p_xtnp1_ytnp1,
const double  start,
const double  delta 
) [virtual]

See also:
indii::ml::model::ParticleSmootherModel

void alphaPrecalculate ( const indii::ml::aux::DiracMixturePdf &  p_xtn_ytn,
const double  start,
const double  delta 
) [virtual]

See also:
indii::ml::model::ParticleSmootherModel

Definition at line 363 of file MultiSeedModelMk2.cpp.

void calculateDerivatives ( double  t,
const double  y[],
double  dydt[] 
) [virtual]

See also:
indii::ml::ode::DifferentialModel

Definition at line 446 of file MultiSeedModelMk2.cpp.


Member Data Documentation

const ublas::range A_RANGE

Range of $A$ in state vector.

Definition at line 241 of file MultiSeedModelMk2.hpp.

const ublas::range C_RANGE

Range of $\mathbf{c}$ in state vector.

Definition at line 246 of file MultiSeedModelMk2.hpp.

const ublas::range SEEDS_RANGE

Range of seed variables in state vector.

Definition at line 251 of file MultiSeedModelMk2.hpp.

const ublas::range B_RANGE

Range of baselines in state vector.

Definition at line 256 of file MultiSeedModelMk2.hpp.


The documentation for this class was generated from the following files:
Generated on Tue Oct 9 22:02:12 2007 for fmrii fMRI Modelling Library by  doxygen 1.5.2