CASToR  2.0
Tomographic Reconstruction (PET/SPECT/CT)
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Public Member Functions | Protected Attributes | List of all members
vDynamicModel Class Referenceabstract

This is the mother class of dynamic model classes. More...

#include <vDynamicModel.hh>

Inheritance diagram for vDynamicModel:
Inheritance graph
Collaboration diagram for vDynamicModel:
Collaboration graph

Public Member Functions

 vDynamicModel ()
 Constructor of vDynamicModel. Simply set all data members to default values. More...
 
virtual ~vDynamicModel ()
 Destructor of vDynamicModel. More...
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 Set the image dimensions in use. More...
 
void SetVerbose (int a_verbose)
 Set the verbose level. More...
 
virtual int CheckParameters ()
 This function is used to check parameters after the latter have been all set using Set functions. More...
 
virtual int CheckSpecificParameters ()=0
 This function is used to check the parameters of the child functions before initialization if required. More...
 
virtual int ReadAndCheckConfigurationFile (string a_fileOptions)=0
 This function is used to read options from a configuration file.
It is pure virtual so must be implemented by children. More...
 
virtual int ReadAndCheckOptionsList (string a_listOptions)=0
 This function is used to read parameters from a string.
It is pure virtual so must be implemented by children. More...
 
virtual int Initialize ()=0
 This function is used to initialize specific data related to the child deformation model.
It is pure virtual so must be implemented by children. More...
 
virtual void ShowHelp ()=0
 This function is used to print out specific help about the deformation and its options. It is pure virtual so must be implemented by children. More...
 
virtual int EstimateModelParameters (oImageSpace *ap_Image, int a_ite, int a_sset)=0
 This function is pure virtual so must be implemented by children.
It can be used to estimate any temporal functions or coefficients related to the dynamic model, if required. More...
 
virtual int EstimateImageWithModel (oImageSpace *ap_Image, int a_ite, int a_sset)=0
 This function is pure virtual so must be implemented by children.
It is used to fit the dynamic model to the series of dynamic images. More...
 
virtual int SaveParametricImages (int a_iteration, int a_subset=-1)
 This function is pure virtual so must be implemented by children
Call SaveParametricImages() function of the dynamic model object, in order to write on disk any parametric image of the model. More...
 
virtual int ApplyOutputFOVMaskingOnParametricImages ()
 Mask the outside of the transaxial FOV based on the m_fovOutPercent. More...
 
virtual void ComputeOutputParImage ()
 Compute output image using the m2p_parametricImages matrix Store the result in the m2p_outputParImages matrix. More...
 

Protected Attributes

oImageDimensionsAndQuantificationmp_ID
 
int m_verbose
 
int m_nbTimeBF
 
bool m_checked
 
bool m_initialized
 
bool m_saveParImageFlag
 
uint16_t m_nbModelParam
 
FLTNB ** m2p_parametricImages
 
FLTNB ** m2p_modelTACs
 
FLTNB ** m2p_outputParImages
 

Detailed Description

This is the mother class of dynamic model classes.

This class is a virtual one, in the sense that it cannot be used on its own
because several pure virtual functions belong to it. Its children are implementations of actual dynamic models.
Everywhere in the code, this parent class should be used instead of any of its children.
It can be used during the reconstruction process by the oDynamicModelManager through the use of the EstimateModelParameters() and EstimateImageWithModel() functions

All children must implement the following pure virtual functions:

Definition at line 62 of file vDynamicModel.hh.

Constructor & Destructor Documentation

vDynamicModel::vDynamicModel ( )

Constructor of vDynamicModel. Simply set all data members to default values.

Definition at line 41 of file vDynamicModel.cc.

vDynamicModel::~vDynamicModel ( )
virtual

Destructor of vDynamicModel.

Definition at line 66 of file vDynamicModel.cc.

Member Function Documentation

int vDynamicModel::ApplyOutputFOVMaskingOnParametricImages ( )
virtual

Mask the outside of the transaxial FOV based on the m_fovOutPercent.

Similar to the eponym function in ImageSpace, but on parametric images

Definition at line 170 of file vDynamicModel.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

int vDynamicModel::CheckParameters ( )
virtual

This function is used to check parameters after the latter have been all set using Set functions.

Returns
0 if success, positive value otherwise.

Definition at line 81 of file vDynamicModel.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

vDynamicModel::CheckSpecificParameters ( )
pure virtual

This function is used to check the parameters of the child functions before initialization if required.

It could be overloaded by the child if needed. Default implementation is empty and return 0.

Returns
0 if success, other value otherwise.

Implemented in iDynamicModelTemplate.

Here is the caller graph for this function:

void vDynamicModel::ComputeOutputParImage ( )
virtual

Compute output image using the m2p_parametricImages matrix Store the result in the m2p_outputParImages matrix.

Definition at line 136 of file vDynamicModel.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

vDynamicModel::EstimateImageWithModel ( oImageSpace ap_Image,
int  a_ite,
int  a_sset 
)
pure virtual

This function is pure virtual so must be implemented by children.
It is used to fit the dynamic model to the series of dynamic images.

Parameters
ap_ImageS: pointer to the ImageSpace
a_ite: index of the actual iteration
a_sset: index of the actual subset
Returns
0 if success, other value otherwise.

Implemented in iDynamicModelTemplate.

Here is the caller graph for this function:

vDynamicModel::EstimateModelParameters ( oImageSpace ap_Image,
int  a_ite,
int  a_sset 
)
pure virtual

This function is pure virtual so must be implemented by children.
It can be used to estimate any temporal functions or coefficients related to the dynamic model, if required.

Parameters
ap_ImageS: pointer to the ImageSpace
a_ite: index of the actual iteration
a_sset: index of the actual subset
Returns
0 if success, other value otherwise.

Implemented in iDynamicModelTemplate.

Here is the caller graph for this function:

vDynamicModel::Initialize ( )
pure virtual

This function is used to initialize specific data related to the child deformation model.
It is pure virtual so must be implemented by children.

Returns
0 if success, other value otherwise.

Implemented in iDynamicModelTemplate.

Here is the caller graph for this function:

vDynamicModel::ReadAndCheckConfigurationFile ( string  a_fileOptions)
pure virtual

This function is used to read options from a configuration file.
It is pure virtual so must be implemented by children.

Parameters
conststring& a_configurationFile : ASCII file containing informations about a dynamic model
Returns
0 if success, other value otherwise.

Implemented in iDynamicModelTemplate.

Here is the caller graph for this function:

vDynamicModel::ReadAndCheckOptionsList ( string  a_listOptions)
pure virtual

This function is used to read parameters from a string.
It is pure virtual so must be implemented by children.

Parameters
conststring& a_optionsList : a list of parameters separated by commas
Returns
0 if success, other value otherwise.

Implemented in iDynamicModelTemplate.

Here is the caller graph for this function:

int vDynamicModel::SaveParametricImages ( int  a_iteration,
int  a_subset = -1 
)
virtual

This function is pure virtual so must be implemented by children
Call SaveParametricImages() function of the dynamic model object, in order to write on disk any parametric image of the model.

Parameters
a_iteration: current iteration index
a_subset: current number of subsets (or -1 by default)
Returns
0 if success, positive value otherwise

Definition at line 284 of file vDynamicModel.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

vDynamicModel::SetImageDimensionsAndQuantification ( oImageDimensionsAndQuantification ap_ImageDimensionsAndQuantification)
inline

Set the image dimensions in use.

Parameters
ap_ImageDimensionsAndQuantification

Definition at line 87 of file vDynamicModel.hh.

Here is the caller graph for this function:

vDynamicModel::SetVerbose ( int  a_verbose)
inline

Set the verbose level.

Parameters
a_verboseLevel

Definition at line 94 of file vDynamicModel.hh.

Here is the caller graph for this function:

vDynamicModel::ShowHelp ( )
pure virtual

This function is used to print out specific help about the deformation and its options. It is pure virtual so must be implemented by children.

Implemented in iDynamicModelTemplate.

Here is the caller graph for this function:

Member Data Documentation

FLTNB** vDynamicModel::m2p_modelTACs
protected

Vector containing the Model temporal basis functions
2 pointers:
1: index of the temporal function
2: coefficient of the functions for each time points of a dynamic acquisition

Definition at line 202 of file vDynamicModel.hh.

FLTNB** vDynamicModel::m2p_outputParImages
protected

Image matrix to gather the parametric image before writing on disk
By default it will point directly to the parametric m2p_parametricImages.
They are allocated if post-processing are enabled before writing the image (i.e FOV masking)
2 pointers:
1: Parametric image related to the dynamic model basis functions.
2: 3D voxels

Definition at line 207 of file vDynamicModel.hh.

FLTNB** vDynamicModel::m2p_parametricImages
protected

Image matrix containing the parametric images
2 pointers:
1: Parametric image related to the dynamic model basis functions.
2: 3D voxels

Definition at line 197 of file vDynamicModel.hh.

bool vDynamicModel::m_checked
protected

Boolean indicating whether the parameters were checked or not

Definition at line 193 of file vDynamicModel.hh.

bool vDynamicModel::m_initialized
protected

Boolean indicating whether the manager was initialized or not

Definition at line 194 of file vDynamicModel.hh.

uint16_t vDynamicModel::m_nbModelParam
protected

Nb parameters in the model

Definition at line 196 of file vDynamicModel.hh.

int vDynamicModel::m_nbTimeBF
protected

Number of time basis functions in the model

Definition at line 192 of file vDynamicModel.hh.

bool vDynamicModel::m_saveParImageFlag
protected

Flag indicating if parametric images should be written on disk (default=true)

Definition at line 195 of file vDynamicModel.hh.

int vDynamicModel::m_verbose
protected

The verbose level

Definition at line 191 of file vDynamicModel.hh.

oImageDimensionsAndQuantification* vDynamicModel::mp_ID
protected

Pointer to the oImageDimensionsAndQuantification object in use

Definition at line 190 of file vDynamicModel.hh.


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