CASToR  3.0
Tomographic Reconstruction (PET/SPECT/CT)
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-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 ODYNAMICMODELMANAGER_HH
31 #define ODYNAMICMODELMANAGER_HH 1
32 
33 #include "gVariables.hh"
34 #include "vDynamicModel.hh"
35 #include "vDataFile.hh"
36 
46 {
47  // -----------------------------------------------------------------------------------------
48  // Constructor & Destructor
49  public:
60 
61  // -----------------------------------------------------------------------------------------
62  // Public member functions
63  public:
70  int CheckParameters();
77  int Initialize();
87  int ApplyDynamicModel(oImageSpace* ap_ImageS, int a_iteration, int a_subset);
96  int SaveParametricImages(int a_iteration, int a_subset = -1);
105  // -----------------------------------------------------------------------------------------
106  // Public Get & Set functions
107  public:
113  inline void SetVerbose(int a_verboseLevel)
114  {m_verbose = a_verboseLevel;}
120  inline void SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification* ap_ImageDimensionsAndQuantification)
121  {mp_ID = ap_ImageDimensionsAndQuantification;}
127  inline void SetOptions(const string& a_options)
128  {m_options = a_options;}
134  inline bool UseModel()
135  {return m_UseModel;}
154 
155  // -----------------------------------------------------------------------------------------
156  // Private member functions
157  private:
170 
171 
172  // -----------------------------------------------------------------------------------------
173  // Data members
174  private:
175 
177  string m_options;
179  // Variables related to basis functions for the ImageDimensionsAndQuantification object
188  bool m_UseModel;
189  int m_verbose;
190  bool m_checked;
192 };
193 
194 
195 #endif
This header file is mainly used to declare some macro definitions and all includes needed from the st...
int SetDiagonalCardBasisFunctions()
Set diagonal Cardiac Basis Functions for regular gated reconstruction.
#define FLTNB
Definition: gVariables.hh:81
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 &#39;m_UseModel&#39; 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...
int SetDiagonalRespBasisFunctions()
Set diagonal Respiratory Basis Functions for regular gated reconstruction.
This class holds all the matrices in the image domain that can be used in the algorithm: image...
Definition: oImageSpace.hh:60
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 SetDiagonalTimeBasisFunctions()
Set diagonal Time Basis Functions for regular frame-by-frame reconstruction.
int ApplyDynamicModel(oImageSpace *ap_ImageS, int a_iteration, int a_subset)