CASToR  3.0
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-2019 all CASToR contributors listed below:
18 
19  --> Didier BENOIT, Claude COMTAT, Marina FILIPOVIC, Thibaut MERLIN, Mael MILLARDET, Simon STUTE, Valentin VIELZEUF
20 
21 This is CASToR version 3.0.
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 ShowHelp();
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.
void ShowHelp()
This function is used to print out specific help about the deformation model and its options...
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.
~iDynamicModelTemplate()
Destructor of iDynamicModelTemplate.
Declaration of class sAddonManager.