8 #ifndef VDYNAMICMODEL_HH 9 #define VDYNAMICMODEL_HH 1 11 #include "gVariables.hh" 12 #include "oImageDimensionsAndQuantification.hh" 13 #include "oOptimizerManager.hh" 66 {
mp_ID = ap_ImageDimensionsAndQuantification;}
435 #define FUNCTION_DYNAMICMODEL(CLASS) \ 436 static vDynamicModel *make_dynamic_model() { return new CLASS(); }; 439 #define CLASS_DYNAMICMODEL(NAME,CLASS) \ 440 class NAME##DynamicModelCreator \ 443 NAME##DynamicModelCreator() \ 444 { sAddonManager::GetInstance()->mp_listOfDynamicModels[#NAME] = CLASS::make_dynamic_model; } \ 446 static NAME##DynamicModelCreator DynamicModelCreator##NAME; virtual int CheckSpecificParameters()=0
This function is used to check the parameters of the child functions before initialization if require...
void NNLS_LSS_G1(FLTNB a, FLTNB b, FLTNB *cterm, FLTNB *sterm, FLTNB *sig)
bool GetModelBasisFunctionsRequiredFlag()
int NNLS(FLTNB **A, int m, int n, FLTNB *B, FLTNB *X, FLTNB *rnorm, FLTNB *wp, FLTNB *zzp, int *indexp)
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...
virtual int EstimateImageWithModel(oImageSpace *ap_Image, int a_ite, int a_sset)=0
virtual int InitializeSpecific()=0
A private function used to initialize everything specific to the child model.
int GetNbTimeBasisFunctions()
oImageDimensionsAndQuantification * mp_ID
void ShowHelp()
This function is used to print out general help about dynamic models.
int ReadAndCheckConfigurationFile(string a_fileOptions)
int NNLS_LSS_H12(int mode, int lpivot, int l1, int m, FLTNB *u, int u_dim1, FLTNB *up, FLTNB *cm, int ice, int icv, int ncv)
FLTNB ** m2p_parametricImages
This is the mother class of dynamic model classes.
bool m_saveBlacklistedImageMaskFlag
virtual int ApplyOutputFOVMaskingOnParametricImages()
Mask the outside of the transaxial FOV based on the m_fovOutPercent.
bool m_useModelInReconstruction
FLTNB * mp_blackListedvoxelsImage
virtual void ShowHelpModelSpecific()=0
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.
virtual int EstimateImage(oImageSpace *ap_Image, int a_ite, int a_sset)
virtual int EstimateModel(oImageSpace *ap_Image, int a_ite, int a_sset)
void SetUseModelInReconstruction(bool a_useModelInReconstruction)
FLTNB ** m2p_nestedModelTimeBasisFunctions
bool m_ModelSpecificBasisFunctionsRequired
virtual int ReadAndCheckConfigurationFileSpecific()=0
This function is used to read options from a configuration file. It is pure virtual so must be impl...
void SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
int Initialize()
A public function used to initialize the dynamic model.
virtual int ReadAndCheckOptionsList(string a_listOptions)=0
bool m_noParametersUpdateFlag
virtual ~vDynamicModel()
Destructor of vDynamicModel.
vDynamicModel()
Constructor of vDynamicModel. Simply set all data members to default values.
virtual int EstimateModelParameters(oImageSpace *ap_Image, int a_ite, int a_sset)=0
FLTNB ** GetTimeBasisFunctions()
oArterialInputCurve * mp_ArterialInputCurve
This class holds all the matrices in the image domain that can be used in the algorithm: image...
FLTNB ** m2p_outputParImages
This class is designed to manage all dimensions and quantification related stuff. ...
virtual void ComputeOutputParImage()
Compute output image using the m2p_parametricImages matrix Store the result in the m2p_outputParImage...
int SaveParametricImages(int a_iteration, int a_subset=-1)
FLTNB ** m2p_RGParametricImages
FLTNB ** m2p_CGParametricImages