BOLDCalculator Class Reference

Inherits ParameterCollection.

Inheritance diagram for BOLDCalculator:

Inheritance graph
[legend]
List of all members.

Detailed Description

Calculates Blood Oxygenation Level Dependent (BOLD) signal from a FlowBalloonModel or NeuralBalloonModel.

Author:
Lawrence Murray <lawrence@indii.org>
Version:
Rev
285
Date:
Date
2007-07-20 17:25:40 +0100 (Fri, 20 Jul 2007)

Details

The BOLD signal change $\frac{\Delta S}{S}$ may be calculated from the $q$ and $v$ state variables of a balloon model according to the formula given in Buxton et al. (1998):

\[\frac{\Delta S}{S} = V_0\left[ k_1(1-q) + k_2\left(1-\frac{q}{v}\right) + k_3(1-v) \right]\]

where $k_1$, $k_2$ and $k_3$ are constants.

Usage

The basic usage idiom is to firstly construct a BalloonModel object and then create the BOLDCalculator coupled to it:

 FlowBalloonModel bm; // or NeuralBalloonModel bm;
 BOLDCalculator bc(&bm);

The balloon model may then be simulated as normal and the BOLD signal calculated from it at any time by calling calculate(). This would usually be done after each step of the balloon model:

 indii::ml::ode::AdaptiveRungeKutta solver(&bm, bm.suggestInitialState());
 double end = 60.0;
 double t = 0.0;

 while (t < end) {
   t = solver.step(end);
   std::cout << t << '=' << bc.calculate(solver.getState()) << std::endl;
 }

The BalloonModel object itself may be used as normal, the BOLDCalculator does not modify it in any way, and simply requires it for some parameters.

Definition at line 62 of file BOLDCalculator.hpp.

Public Types

enum  BiophysicalParameter { K_1, K_2, K_3 }
 Biophysical parameters. More...

Public Member Functions

 BOLDCalculator (const BalloonModel *m)
 Create new BOLD calculator with default biophysical parameters, coupled with the given balloon model.
virtual ~BOLDCalculator ()
 Destructor.
double calculate (const indii::ml::aux::vector &y)
 Calculate BOLD signal from coupled balloon model and given state.


Member Enumeration Documentation

enum BiophysicalParameter

Biophysical parameters.

These are initialised according to the values in BOLDCalculatorDefaults, but may be overridden using setParameter().

Enumerator:
K_1  $k_1$
K_2  $k_2$
K_3  $k_3$

Definition at line 69 of file BOLDCalculator.hpp.


Constructor & Destructor Documentation

BOLDCalculator ( const BalloonModel m  ) 

Create new BOLD calculator with default biophysical parameters, coupled with the given balloon model.

Parameters:
m FlowBalloonModel or NeuralBalloonModel from which to calculate BOLD signal.

Definition at line 11 of file BOLDCalculator.cpp.

~BOLDCalculator (  )  [virtual]

Destructor.

Definition at line 19 of file BOLDCalculator.cpp.


Member Function Documentation

double calculate ( const indii::ml::aux::vector &  y  ) 

Calculate BOLD signal from coupled balloon model and given state.

Parameters:
y State of the balloon model, usually provided by the ordinary differential equation solver being used on the balloon model, such as indii::ml::ode::AdaptiveRungeKutta.
Returns:
The BOLD signal produced by the coupled balloon model in the given state.


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