CASToR  3.0
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)
 This function is used to read parameters from a string. More...
 
int InitializeSpecific ()
 This function is used to initialize the model parametric images and basis functions. More...
 
void ShowHelp ()
 This function is used to print out specific help about the model and its options. 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)
 Estimate model parameters (parametric images and basis functions) More...
 
int EstimateImageWithModel (oImageSpace *ap_Image, int a_ite, int a_sset)
 Re-estimate image using the linear parametric images and basis functions. More...
 
int NestedEM (oImageSpace *ap_ImageS, int a_ite)
 Estimate parametric images and basis functions (if enabled) using the nested EM method. More...
 
int EstimateParametersWithNNLS (oImageSpace *ap_ImageS, int a_ite)
 Estimate parametric images using the NNLS method. More...
 
int Patlak_LS (oImageSpace *ap_ImageS, int a_ite)
 Estimate parametric images using linear regression. More...
 
- 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)
 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...
 
int ReadAndCheckConfigurationFile (string a_fileOptions)
 This function is used to read options from a configuration file.
It looks for the parameters implemented by the mother class, such as 'No image update', 'No parameters update', or 'Save parametric images'. More...
 
int Initialize ()
 A public function used to initialize the dynamic model. More...
 
virtual int EstimateModel (oImageSpace *ap_Image, int a_ite, int a_sset)
 This function checks if the EstimateModelParameters() function (specific to each model) must be called at this stage of the reconstruction depending on the m_xxxUpdateflags. More...
 
virtual int EstimateImage (oImageSpace *ap_Image, int a_ite, int a_sset)
 
int SaveParametricImages (int a_iteration, int a_subset=-1)
 This function is virtual it can be overloaded by children if required. More...
 
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...
 
int NNLS (FLTNB **A, int m, int n, FLTNB *B, FLTNB *X, FLTNB *rnorm, FLTNB *wp, FLTNB *zzp, int *indexp)
 Implementation of NNLS (non-negative least squares) algorithm Derived from Turku PET center libraries (authors: Vesa Oikonen and Kaisa Sederholm) This routine is based on the text and fortran code in C.L. Lawson and R.J. Hanson, Solving Least Squares Problems, Prentice-Hall, Englewood Cliffs, New Jersey, 1974. More...
 

Protected Attributes

HPFLTNB m_fast_exp
 
HPFLTNB m_slow_exp
 
int m_constant_basis_value
 
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_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 46 of file iLinearSpectralModel.hh.

Constructor & Destructor Documentation

◆ iLinearSpectralModel()

iLinearSpectralModel::iLinearSpectralModel ( )

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

Definition at line 44 of file iLinearSpectralModel.cc.

◆ ~iLinearSpectralModel()

iLinearSpectralModel::~iLinearSpectralModel ( )

Destructor of iLinearSpectralModel.

Definition at line 73 of file iLinearSpectralModel.cc.

Member Function Documentation

◆ CheckSpecificParameters()

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 258 of file iLinearSpectralModel.cc.

Here is the call graph for this function:

◆ InitializeSpecific()

int iLinearSpectralModel::InitializeSpecific ( )
virtual

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

Returns
0 if success, other value otherwise.

Reimplemented from iLinearModel.

Definition at line 286 of file iLinearSpectralModel.cc.

Here is the call graph for this function:

◆ ReadAndCheckConfigurationFileSpecific()

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 141 of file iLinearSpectralModel.cc.

Here is the call graph for this function:

◆ ReadAndCheckOptionsList()

int iLinearSpectralModel::ReadAndCheckOptionsList ( string  a_listOptions)
virtual

This function is used to read parameters from a string.

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

Reimplemented from iLinearModel.

Definition at line 226 of file iLinearSpectralModel.cc.

◆ ShowHelp()

void iLinearSpectralModel::ShowHelp ( )
virtual

This function is used to print out specific help about the model and its options.

Reimplemented from iLinearModel.

Definition at line 88 of file iLinearSpectralModel.cc.

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 115 of file iLinearSpectralModel.hh.

◆ m_constant_basis_value

int iLinearSpectralModel::m_constant_basis_value
protected

Value for constant basis function to be added.

Definition at line 113 of file iLinearSpectralModel.hh.

◆ m_fast_exp

HPFLTNB iLinearSpectralModel::m_fast_exp
protected

Fastest spectral function.

Definition at line 111 of file iLinearSpectralModel.hh.

◆ m_slow_exp

HPFLTNB iLinearSpectralModel::m_slow_exp
protected

Fastest spectral function.

Definition at line 112 of file 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 114 of file iLinearSpectralModel.hh.

◆ mp_spectral_bank

HPFLTNB* iLinearSpectralModel::mp_spectral_bank
protected

Bank of spectral function decay rates.

Definition at line 116 of file iLinearSpectralModel.hh.


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