CASToR  3.2
Tomographic Reconstruction (PET/SPECT/CT)
code/include/image/oImageConvolverManager.hh
Go to the documentation of this file.
1 
8 #ifndef OIMAGECONVOLVERMANAGER_HH
9 #define OIMAGECONVOLVERMANAGER_HH 1
10 
11 #include "gVariables.hh"
12 #include "oImageSpace.hh"
13 #include "vImageConvolver.hh"
14 
32 {
33  // -----------------------------------------------------------------------------------------
34  // Constructor & Destructor
35  public:
50 
51 
52  // -----------------------------------------------------------------------------------------
53  // Public member functions for initialization
54  public:
62  int CheckParameters();
72  int Initialize();
79  static void ShowCommonHelp();
80 
81 
82  // -----------------------------------------------------------------------------------------
83  // Public member functions for actions
84  public:
97  int ConvolveForward(oImageSpace* ap_ImageSpace);
113  int ConvolveBackward(oImageSpace* ap_ImageSpace);
126  int ConvolveSensitivity(oImageSpace* ap_ImageSpace);
140  int ConvolveIntra(oImageSpace* ap_ImageSpace);
154  int ConvolvePost(oImageSpace* ap_ImageSpace);
155 
156 
157  // -----------------------------------------------------------------------------------------
158  // Public Get & Set functions
159  public:
165  inline void SetVerbose(int a_verboseLevel)
166  {m_verbose = a_verboseLevel;}
172  inline void SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification* ap_ImageDimensionsAndQuantification)
173  {mp_ImageDimensionsAndQuantification = ap_ImageDimensionsAndQuantification;}
179  inline void SetOptions(vector<string> a_options)
180  {m_options = a_options;}
181 
182 
183  // -----------------------------------------------------------------------------------------
184  // Private member functions
185  private:
199 
200 
201  // -----------------------------------------------------------------------------------------
202  // Data members
203  private:
206  vector<string> m_options;
212  bool* mp_applyPost;
213  bool m_checked;
215  int m_verbose;
216 };
217 
218 #endif
int ParseOptionsAndInitializeImageConvolvers()
A function used to parse options and initialize image convolvers.
void SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
int ConvolveForward(oImageSpace *ap_ImageSpace)
int CheckParameters()
A function used to check the parameters settings.
oImageConvolverManager()
The constructor of oImageConvolverManager.
int ConvolvePost(oImageSpace *ap_ImageSpace)
int ConvolveIntra(oImageSpace *ap_ImageSpace)
Declaration of class vImageConvolver.
oImageDimensionsAndQuantification * mp_ImageDimensionsAndQuantification
int ConvolveBackward(oImageSpace *ap_ImageSpace)
This class is designed to manage the different image convolvers and to apply them.
static void ShowCommonHelp()
This function does not take any parameter and is used to display some help about the syntax of the op...
~oImageConvolverManager()
The destructor of oImageConvolverManager.
This class holds all the matrices in the image domain that can be used in the algorithm: image...
Declaration of class oImageSpace.
void SetOptions(vector< string > a_options)
This class is designed to manage all dimensions and quantification related stuff. ...
int ConvolveSensitivity(oImageSpace *ap_ImageSpace)
This abstract class is the generic image convolver class used by the oImageConvolverManager.
int Initialize()
A function used to initialize the manager and all image convolvers it manages.