CASToR  2.0
Tomographic Reconstruction (PET/SPECT/CT)
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
oDynamicModelManager.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-2018 all CASToR contributors listed below:
18 
19  --> current contributors: Thibaut MERLIN, Simon STUTE, Didier BENOIT, Claude COMTAT, Marina FILIPOVIC, Mael MILLARDET
20  --> past contributors: Valentin VIELZEUF
21 
22 This is CASToR version 2.0.
23 */
24 
31 #ifndef ODYNAMICMODELMANAGER_HH
32 #define ODYNAMICMODELMANAGER_HH 1
33 
34 #include "gVariables.hh"
35 #include "vDynamicModel.hh"
36 #include "vDataFile.hh"
37 
47 {
48  // -----------------------------------------------------------------------------------------
49  // Constructor & Destructor
50  public:
61 
62  // -----------------------------------------------------------------------------------------
63  // Public member functions
64  public:
71  int CheckParameters();
78  int Initialize();
88  int ApplyDynamicModel(oImageSpace* ap_ImageS, int a_iteration, int a_subset);
97  int SaveParametricImages(int a_iteration, int a_subset = -1);
98 
99 
100  // -----------------------------------------------------------------------------------------
101  // Public Get & Set functions
102  public:
108  inline void SetVerbose(int a_verboseLevel)
109  {m_verbose = a_verboseLevel;}
115  inline void SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification* ap_ImageDimensionsAndQuantification)
116  {mp_ID = ap_ImageDimensionsAndQuantification;}
122  inline void SetOptions(const string& a_options)
123  {m_options = a_options;}
129  inline bool UseModel()
130  {return m_UseModel;}
131 
132 
133  // -----------------------------------------------------------------------------------------
134  // Private member functions
135  private:
148 
149 
150  // -----------------------------------------------------------------------------------------
151  // Data members
152  private:
153 
155  string m_options;
157  bool m_UseModel;
158  int m_verbose;
159  bool m_checked;
161 };
162 
163 
164 #endif
This header file is mainly used to declare some macro definitions and all includes needed from the st...
void SetOptions(const string &a_options)
Set the respiratory motion options contained in the provided string.
This is the mother class of dynamic model classes.
void SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
Set the image dimensions in use.
oDynamicModelManager()
Constructor of oDynamicModelManager. Simply set all data members to default values.
int Initialize()
Set the dynamic model flag and instanciate/initialize model objects through the ParseOptionsAndInitia...
void SetVerbose(int a_verboseLevel)
Set the verbose level.
int ParseOptionsAndInitializeModel()
Parse dynamic model options contained in the previously provided strings. This function is called ins...
This class is designed to manage the use of dynamic model in the reconstruction.
Declaration of class vDataFile.
bool UseModel()
Indicate if the use of a dynamic model is enabled.
int SaveParametricImages(int a_iteration, int a_subset=-1)
Call SaveParametricImages() function of the dynamic model object is 'm_UseModel' is on...
oImageDimensionsAndQuantification * mp_ID
vDynamicModel * mp_DynamicModel
int CheckParameters()
This function is used to check parameters after the latter have been all set using Set functions...
This class holds all the matrices in the image domain that can be used in the algorithm: image...
Definition: oImageSpace.hh:61
This class is designed to manage all dimensions and quantification related stuff. ...
Declaration of class vDynamicModel.
~oDynamicModelManager()
Destructor of oDynamicModelManager. Free memory from all allocated tabs.
int ApplyDynamicModel(oImageSpace *ap_ImageS, int a_iteration, int a_subset)