CASToR  3.2
Tomographic Reconstruction (PET/SPECT/CT)
Public Member Functions | Protected Attributes | List of all members
iLinearSpectralModel Class Reference

This class is a child of the iLinearModel class implementing the Nested Spectral reconsutction. More...

#include <iLinearSpectralModel.hh>

Inheritance diagram for iLinearSpectralModel:
Inheritance graph
Collaboration diagram for iLinearSpectralModel:
Collaboration graph

Public Member Functions

 iLinearSpectralModel ()
 Constructor of iLinearSpectralModel. Simply set all data members to default values. More...
 
 ~iLinearSpectralModel ()
 Destructor of iLinearSpectralModel. More...
 
int CheckSpecificParameters ()
 This function is used to check whether all member variables have been correctly initialized or not. More...
 
int ReadAndCheckConfigurationFileSpecific ()
 This function is used to read options from a configuration file, specific to this model. More...
 
int ReadAndCheckOptionsList (string a_listOptions)
 
int InitializeSpecific ()
 This function is used to initialize the model parametric images and basis functions. More...
 
void ShowHelpModelSpecific ()
 This function is used to print out specific help about the dynamic model and its options. It is pure virtual so must be implemented by children. More...
 
 iLinearSpectralModel ()
 
 ~iLinearSpectralModel ()
 
int CheckSpecificParameters ()
 This function is used to check whether all member variables have been correctly initialized or not. More...
 
int ReadAndCheckConfigurationFileSpecific ()
 This function is used to read options from a configuration file. More...
 
int ReadAndCheckOptionsList (string a_listOptions)
 
int InitializeSpecific ()
 This function is used to initialize the parametric images and basis functions for all Linear Models. More...
 
void ShowHelpModelSpecific ()
 This function is used to print out specific help about the dynamic model and its options. It is pure virtual so must be implemented by children. More...
 
- Public Member Functions inherited from iLinearModel
 iLinearModel ()
 Constructor of iLinearModel. Simply set all data members to default values. More...
 
 ~iLinearModel ()
 Destructor of iLinearModel. More...
 
int CheckSpecificParametersForAllLinearModels ()
 This function is used to check parameters for all Linear Models.
. More...
 
int ReadAndCheckConfigurationFileSpecificToAllLinearModels ()
 This function is used to read parameters that are generic for all Linear Models.
. More...
 
int InitializeSpecificToAllLinearModels ()
 This function is used to initialize the parametric images and basis functions for all Linear Models. More...
 
void ShowBasisFunctions ()
 This function is used to print the basis functions. More...
 
int EstimateModelParameters (oImageSpace *ap_Image, int a_ite, int a_sset)
 
int EstimateImageWithModel (oImageSpace *ap_Image, int a_ite, int a_sset)
 
int NestedEM (oImageSpace *ap_ImageS, int a_ite)
 
int EstimateParametersWithNNLS (oImageSpace *ap_ImageS, int a_ite)
 
int Patlak_LS (oImageSpace *ap_ImageS, int a_ite)
 
 iLinearModel ()
 
 ~iLinearModel ()
 
int CheckSpecificParametersForAllLinearModels ()
 
int ReadAndCheckConfigurationFileSpecificToAllLinearModels ()
 
int InitializeSpecificToAllLinearModels ()
 
void ShowBasisFunctions ()
 
int EstimateModelParameters (oImageSpace *ap_Image, int a_ite, int a_sset)
 
int EstimateImageWithModel (oImageSpace *ap_Image, int a_ite, int a_sset)
 
int NestedEM (oImageSpace *ap_ImageS, int a_ite)
 
int EstimateParametersWithNNLS (oImageSpace *ap_ImageS, int a_ite)
 
int Patlak_LS (oImageSpace *ap_ImageS, int a_ite)
 
- Public Member Functions inherited from vDynamicModel
 vDynamicModel ()
 Constructor of vDynamicModel. Simply set all data members to default values. More...
 
virtual ~vDynamicModel ()
 Destructor of vDynamicModel. More...
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 
void SetVerbose (int a_verbose)
 
virtual int CheckParameters ()
 This function is used to check parameters after the latter have been all set using Set functions. More...
 
int ReadAndCheckConfigurationFile (string a_fileOptions)
 
int Initialize ()
 A public function used to initialize the dynamic model. More...
 
void ShowHelp ()
 This function is used to print out general help about dynamic models. More...
 
virtual int EstimateModel (oImageSpace *ap_Image, int a_ite, int a_sset)
 
virtual int EstimateImage (oImageSpace *ap_Image, int a_ite, int a_sset)
 
int SaveParametricImages (int a_iteration, int a_subset=-1)
 
virtual int ApplyOutputFOVMaskingOnParametricImages ()
 Mask the outside of the transaxial FOV based on the m_fovOutPercent. More...
 
bool GetAICflag ()
 
bool GetModelBasisFunctionsRequiredFlag ()
 
int GetNbTimeBasisFunctions ()
 
FLTNB ** GetTimeBasisFunctions ()
 
virtual void ComputeOutputParImage ()
 Compute output image using the m2p_parametricImages matrix Store the result in the m2p_outputParImages matrix. More...
 
void SetUseModelInReconstruction (bool a_useModelInReconstruction)
 
int NNLS (FLTNB **A, int m, int n, FLTNB *B, FLTNB *X, FLTNB *rnorm, FLTNB *wp, FLTNB *zzp, int *indexp)
 
 vDynamicModel ()
 
virtual ~vDynamicModel ()
 
void SetImageDimensionsAndQuantification (oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
 
void SetVerbose (int a_verbose)
 
virtual int CheckParameters ()
 
int ReadAndCheckConfigurationFile (string a_fileOptions)
 
int Initialize ()
 
void ShowHelp ()
 
virtual int EstimateModel (oImageSpace *ap_Image, int a_ite, int a_sset)
 
virtual int EstimateImage (oImageSpace *ap_Image, int a_ite, int a_sset)
 
int SaveParametricImages (int a_iteration, int a_subset=-1)
 
virtual int ApplyOutputFOVMaskingOnParametricImages ()
 
bool GetAICflag ()
 
bool GetModelBasisFunctionsRequiredFlag ()
 
int GetNbTimeBasisFunctions ()
 
FLTNB ** GetTimeBasisFunctions ()
 
virtual void ComputeOutputParImage ()
 
void SetUseModelInReconstruction (bool a_useModelInReconstruction)
 
int NNLS (FLTNB **A, int m, int n, FLTNB *B, FLTNB *X, FLTNB *rnorm, FLTNB *wp, FLTNB *zzp, int *indexp)
 

Protected Attributes

HPFLTNB m_fast_exp
 
HPFLTNB m_slow_exp
 
bool m_full_trapping_basis_flag
 
bool m_blood_fraction_fasis_flag
 
int m_spectral_bank_size
 
int m_additionalBF_size
 
HPFLTNBmp_spectral_bank
 
- Protected Attributes inherited from iLinearModel
int m_OptimisationMethod
 
int m_nbRgateBF
 
int m_nbCgateBF
 
FLTNB ** m2p_respBasisFunctions
 
FLTNB ** m2p_cardBasisFunctions
 
FLTNBmp_corrBasisCoeffs
 
FLTNBmp_corrBasisFunctions
 
uint32_t m_nbLinearModelCycles
 
int m_basisFunctionsUpdStartIte
 
int m_basisFunctionsUpdRatio
 
int m_basisFunctionsUpdIdx
 
- Protected Attributes inherited from vDynamicModel
oImageDimensionsAndQuantificationmp_ID
 
int m_verbose
 
int m_nbTimeBF
 
int m_nbWeightFactors
 
int m_nbModelParam
 
int m_nbRGModelParam
 
int m_nbCGModelParam
 
string m_AICfile
 
oArterialInputCurvemp_ArterialInputCurve
 
FLTNB ** m2p_parametricImages
 
FLTNBmp_blackListedvoxelsImage
 
FLTNB ** m2p_nestedModelTimeBasisFunctions
 
FLTNB ** m2p_outputParImages
 
FLTNB ** m2p_RGParametricImages
 
FLTNB ** m2p_CGParametricImages
 
string m_fileOptions
 
string m_listOptions
 
bool m_checked
 
bool m_initialized
 
bool m_useModelInReconstruction
 
bool m_saveParImageFlag
 
bool m_saveBlacklistedImageMaskFlag
 
bool m_AICfileProvided
 
bool m_ModelSpecificBasisFunctionsRequired
 
bool m_noImageUpdateFlag
 
bool m_noParametersUpdateFlag
 
int m_startIteUpdateFlag
 
FLTNBmp_maskModel
 
INTNB m_nbVoxelsMask
 
FLTNBmp_w
 
FLTNB *** m3p_nnlsA
 
FLTNB ** m2p_nnlsB
 
FLTNB ** m2p_nnlsMat
 
FLTNB ** m2p_nnlsX
 
FLTNB ** m2p_nnlsWp
 
int ** m2p_nnlsIdx
 
uint16_t m_nnlsN =0
 

Detailed Description

This class is a child of the iLinearModel class implementing the Nested Spectral reconsutction.

Definition at line 24 of file code/include/dynamic/iLinearSpectralModel.hh.

Constructor & Destructor Documentation

◆ iLinearSpectralModel() [1/2]

iLinearSpectralModel::iLinearSpectralModel ( )

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

Definition at line 22 of file code/src/dynamic/iLinearSpectralModel.cc.

◆ ~iLinearSpectralModel() [1/2]

iLinearSpectralModel::~iLinearSpectralModel ( )

Destructor of iLinearSpectralModel.

Definition at line 52 of file code/src/dynamic/iLinearSpectralModel.cc.

◆ iLinearSpectralModel() [2/2]

iLinearSpectralModel::iLinearSpectralModel ( )

◆ ~iLinearSpectralModel() [2/2]

iLinearSpectralModel::~iLinearSpectralModel ( )

Member Function Documentation

◆ CheckSpecificParameters() [1/2]

int iLinearSpectralModel::CheckSpecificParameters ( )
virtual

This function is used to check whether all member variables have been correctly initialized or not.

Returns
0 if success, positive value otherwise.

Reimplemented from iLinearModel.

Definition at line 247 of file code/src/dynamic/iLinearSpectralModel.cc.

Here is the call graph for this function:

◆ CheckSpecificParameters() [2/2]

int iLinearSpectralModel::CheckSpecificParameters ( )
virtual

This function is used to check whether all member variables have been correctly initialized or not.

Returns
0 if success, positive value otherwise.

Reimplemented from iLinearModel.

◆ InitializeSpecific() [1/2]

int iLinearSpectralModel::InitializeSpecific ( )
virtual

This function is used to initialize the model parametric images and basis functions.

Returns
0 if success, other value otherwise.
0 if success, other value otherwise.

Reimplemented from iLinearModel.

Definition at line 275 of file code/src/dynamic/iLinearSpectralModel.cc.

Here is the call graph for this function:

◆ InitializeSpecific() [2/2]

int iLinearSpectralModel::InitializeSpecific ( )
virtual

This function is used to initialize the parametric images and basis functions for all Linear Models.

Returns
0 if success, other value otherwise.
0 if success, other value otherwise.

Reimplemented from iLinearModel.

◆ ReadAndCheckConfigurationFileSpecific() [1/2]

int iLinearSpectralModel::ReadAndCheckConfigurationFileSpecific ( )
virtual

This function is used to read options from a configuration file, specific to this model.

Returns
0 if success, other value otherwise.

Reimplemented from iLinearModel.

Definition at line 120 of file code/src/dynamic/iLinearSpectralModel.cc.

Here is the call graph for this function:

◆ ReadAndCheckConfigurationFileSpecific() [2/2]

int iLinearSpectralModel::ReadAndCheckConfigurationFileSpecific ( )
virtual

This function is used to read options from a configuration file.

Returns
0 if success, other value otherwise.

Reimplemented from iLinearModel.

◆ ReadAndCheckOptionsList() [1/2]

int iLinearSpectralModel::ReadAndCheckOptionsList ( string  a_listOptions)
virtual

Reimplemented from iLinearModel.

◆ ReadAndCheckOptionsList() [2/2]

int iLinearSpectralModel::ReadAndCheckOptionsList ( string  a_listOptions)
virtual

Reimplemented from iLinearModel.

Definition at line 215 of file code/src/dynamic/iLinearSpectralModel.cc.

◆ ShowHelpModelSpecific() [1/2]

void iLinearSpectralModel::ShowHelpModelSpecific ( )
virtual

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

Reimplemented from iLinearModel.

◆ ShowHelpModelSpecific() [2/2]

void iLinearSpectralModel::ShowHelpModelSpecific ( )
virtual

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

Reimplemented from iLinearModel.

Definition at line 67 of file code/src/dynamic/iLinearSpectralModel.cc.

Here is the call graph for this function:

Member Data Documentation

◆ m_additionalBF_size

int iLinearSpectralModel::m_additionalBF_size
protected

Size of additional basis functions required for the model (eg. constant etc) .

Definition at line 94 of file code/include/dynamic/iLinearSpectralModel.hh.

◆ m_blood_fraction_fasis_flag

bool iLinearSpectralModel::m_blood_fraction_fasis_flag
protected

Value for constant basis function to be added.

Definition at line 92 of file code/include/dynamic/iLinearSpectralModel.hh.

◆ m_fast_exp

HPFLTNB iLinearSpectralModel::m_fast_exp
protected

Fastest spectral function.

Definition at line 89 of file code/include/dynamic/iLinearSpectralModel.hh.

◆ m_full_trapping_basis_flag

bool iLinearSpectralModel::m_full_trapping_basis_flag
protected

Value for constant basis function to be added.

Definition at line 91 of file code/include/dynamic/iLinearSpectralModel.hh.

◆ m_slow_exp

HPFLTNB iLinearSpectralModel::m_slow_exp
protected

Fastest spectral function.

Definition at line 90 of file code/include/dynamic/iLinearSpectralModel.hh.

◆ m_spectral_bank_size

int iLinearSpectralModel::m_spectral_bank_size
protected

requested number for size Bank of spectral function decay rates.

Definition at line 93 of file code/include/dynamic/iLinearSpectralModel.hh.

◆ mp_spectral_bank

HPFLTNB * iLinearSpectralModel::mp_spectral_bank
protected

Bank of spectral function decay rates.

Definition at line 95 of file code/include/dynamic/iLinearSpectralModel.hh.


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