CASToR  1.1
Tomographic Reconstruction (PET/SPECT)
 All Classes Files Functions Variables Typedefs Macros Groups Pages
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 
15 
33 {
34  // -----------------------------------------------------------------------------------------
35  // Constructor & Destructor
36  public:
51 
52 
53  // -----------------------------------------------------------------------------------------
54  // Public member functions for initialization
55  public:
63  int CheckParameters();
73  int Initialize();
80  static void ShowCommonHelp();
81 
82 
83  // -----------------------------------------------------------------------------------------
84  // Public member functions for actions
85  public:
98  int ConvolveForward(oImageSpace* ap_ImageSpace);
114  int ConvolveBackward(oImageSpace* ap_ImageSpace);
127  int ConvolveSensitivity(oImageSpace* ap_ImageSpace);
141  int ConvolveIntra(oImageSpace* ap_ImageSpace);
155  int ConvolvePost(oImageSpace* ap_ImageSpace);
156 
157 
158  // -----------------------------------------------------------------------------------------
159  // Public Get & Set functions
160  public:
166  inline void SetVerbose(int a_verboseLevel)
167  {m_verbose = a_verboseLevel;}
173  inline void SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification* ap_ImageDimensionsAndQuantification)
174  {mp_ImageDimensionsAndQuantification = ap_ImageDimensionsAndQuantification;}
180  inline void SetOptions(vector<string> a_options)
181  {m_options = a_options;}
182 
183 
184  // -----------------------------------------------------------------------------------------
185  // Private member functions
186  private:
200 
201 
202  // -----------------------------------------------------------------------------------------
203  // Data members
204  private:
207  vector<string> m_options;
213  bool* mp_applyPost;
214  bool m_checked;
216  int m_verbose;
217 };
218 
219 #endif
int ParseOptionsAndInitializeImageConvolvers()
A function used to parse options and initialize image convolvers.
This header file is mainly used to declare some macro definitions and all includes needed from the st...
void SetImageDimensionsAndQuantification(oImageDimensionsAndQuantification *ap_ImageDimensionsAndQuantification)
Set the member mp_ImageDimensionsAndQuantification to the provided value.
void SetVerbose(int a_verboseLevel)
Set the member m_verboseLevel to the provided value.
int ConvolveForward(oImageSpace *ap_ImageSpace)
A function used to apply convolvers onto the forward image of the oImageSpace.
int CheckParameters()
A function used to check the parameters settings.
oImageConvolverManager()
The constructor of oImageConvolverManager.
int ConvolvePost(oImageSpace *ap_ImageSpace)
A function used to apply convolvers onto the output image of the oImageSpace.
int ConvolveIntra(oImageSpace *ap_ImageSpace)
A function used to apply convolvers onto the current image of the oImageSpace.
void SetOptions(vector< string > a_options)
Set the member m_options to the provided value.
int ConvolveBackward(oImageSpace *ap_ImageSpace)
A function used to apply convolvers onto the backward images of the oImageSpace.
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.
oImageDimensionsAndQuantification * mp_ImageDimensionsAndQuantification
Declaration of class oImageSpace.
This class holds all the matrices in the image domain that can be used in the algorithm: image...
Definition: oImageSpace.hh:41
This class is designed to manage all dimensions and quantification related stuff. ...
Declaration of class vImageConvolver.
int ConvolveSensitivity(oImageSpace *ap_ImageSpace)
A function used to apply convolvers onto the sensitivity image of the oImageSpace.
vImageConvolver ** m2p_ImageConvolvers
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.