CASToR  3.1
Tomographic Reconstruction (PET/SPECT/CT)
iDynamicModelTemplate.hh
Go to the documentation of this file.
1 /*
2 This file is part of CASToR.
3 
4  CASToR is free software: you can redistribute it and/or modify it under the
5  terms of the GNU General Public License as published by the Free Software
6  Foundation, either version 3 of the License, or (at your option) any later
7  version.
8 
9  CASToR is distributed in the hope that it will be useful, but WITHOUT ANY
10  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11  FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12  details.
13 
14  You should have received a copy of the GNU General Public License along with
15  CASToR (in file GNU_GPL.TXT). If not, see <http://www.gnu.org/licenses/>.
16 
17 Copyright 2017-2020 all CASToR contributors listed below:
18 
19  --> Didier BENOIT, Claude COMTAT, Marina FILIPOVIC, Thibaut MERLIN, Mael MILLARDET, Simon STUTE, Valentin VIELZEUF, Zacharias CHALAMPALAKIS
20 
21 This is CASToR version 3.1.
22 */
23 
30 #ifndef IDYNAMICMODELTEMPLATE_HH
31 #define IDYNAMICMODELTEMPLATE_HH 1
32 
33 // Mother class of dynamic model
34 #include "vDynamicModel.hh"
35 // Required to automatically add the class in the CASToR code
36 #include "sAddonManager.hh"
37 
44 {
45  // -----------------------------------------------------------------------------------------
46  // Constructor & Destructor
47  public:
58 
59 
60  // -----------------------------------------------------------------------------------------
61  // Public member functions related to the initialization of the model
62  public:
63  // Function for automatic insertion (put the class name as the parameters and do not add semi-colon at the end of the line)
84  int ReadAndCheckOptionsList(string a_listOptions);
91  int InitializeSpecific();
96  void ShowHelpModelSpecific();
97 
98 
99  // -----------------------------------------------------------------------------------------
100  // Public member functions called by the main iterative algorithm class
109  int EstimateModelParameters(oImageSpace* ap_Image, int a_ite, int a_sset);
118  int EstimateImageWithModel(oImageSpace* ap_Image, int a_ite, int a_sset);
125  //int SaveParametricImages(int a_iteration, int a_subset = -1);
126 
127 
128  // -----------------------------------------------------------------------------------------
129  // Data members
130  protected:
133 };
134 
135 // Class for automatic insertion (set here the visible dynamic model's name, put the class name as the parameters and do not add semi-colon at the end of the line)
137 
138 #endif
#define FLTNB
Definition: gVariables.hh:81
int InitializeSpecific()
This function is used to initialize the model parametric images and basis functions.
This is the mother class of dynamic model classes.
This class is a child of the vDynamicModel class implementing a template squeleton.
iDynamicModelTemplate()
Constructor of iDynamicModelTemplate. Simply set all data members to default values.
int ReadAndCheckConfigurationFileSpecific()
This function is used to read options from a configuration file.
#define FUNCTION_DYNAMICMODEL(CLASS)
int CheckSpecificParameters()
This function is used to check whether all member variables have been correctly initialized or not...
int EstimateModelParameters(oImageSpace *ap_Image, int a_ite, int a_sset)
Estimate the model parametric images.
int EstimateImageWithModel(oImageSpace *ap_Image, int a_ite, int a_sset)
Estimate image using model parametric images and basis functions.
#define CLASS_DYNAMICMODEL(NAME, CLASS)
This class holds all the matrices in the image domain that can be used in the algorithm: image...
Definition: oImageSpace.hh:60
int ReadAndCheckOptionsList(string a_listOptions)
This function is used to read parameters from a string.
Declaration of class vDynamicModel.
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.
~iDynamicModelTemplate()
Destructor of iDynamicModelTemplate.
Declaration of class sAddonManager.