CASToR  1.1
Tomographic Reconstruction (PET/SPECT)
 All Classes Files Functions Variables Typedefs Macros Groups Pages
iImageConvolverTemplate.cc
Go to the documentation of this file.
1 
2 /*
3  Implementation of class iImageConvolverTemplate
4 
5  - separators: done
6  - doxygen: done
7  - default initialization: done
8  - CASTOR_DEBUG:
9  - CASTOR_VERBOSE:
10 */
11 
18 #include "vImageConvolver.hh"
20 #include "oImageSpace.hh"
22 
23 // =====================================================================
24 // ---------------------------------------------------------------------
25 // ---------------------------------------------------------------------
26 // =====================================================================
27 
29 {
30  // Affect default values to the parameters specific to this convolver
31 }
32 
33 // =====================================================================
34 // ---------------------------------------------------------------------
35 // ---------------------------------------------------------------------
36 // =====================================================================
37 
39 {
40  // Delete or free all structures specific to this convolver that were allocated by this convolver
41 }
42 
43 // =====================================================================
44 // ---------------------------------------------------------------------
45 // ---------------------------------------------------------------------
46 // =====================================================================
47 
48 int iImageConvolverTemplate::ReadConfigurationFile(const string& a_configurationFile)
49 {
50  // Implement here the reading of any options specific to this image convolver, through a configuration file
51 
52  // Normal end
53  return 0;
54 }
55 
56 // =====================================================================
57 // ---------------------------------------------------------------------
58 // ---------------------------------------------------------------------
59 // =====================================================================
60 
61 int iImageConvolverTemplate::ReadOptionsList(const string& a_optionsList)
62 {
63  // Implement here the reading of any options specific to this image convolver, through a list of options separated by commas
64 
65  // Normal end
66  return 0;
67 }
68 
69 // =====================================================================
70 // ---------------------------------------------------------------------
71 // ---------------------------------------------------------------------
72 // =====================================================================
73 
75 {
76  // Here, display some help and guidance to how to use this image convolver module and what it does.
77  // Also describes the form of the configuration file or the list of options that parameterize your module.
78  cout << "This image convolver is a template class dedicated to add your own custom image convolver." << endl;
79 }
80 
81 // =====================================================================
82 // ---------------------------------------------------------------------
83 // ---------------------------------------------------------------------
84 // =====================================================================
85 
87 {
88  // Implement here all mandatory checks specific to this image convolver needed for a nice use
89 
90  // Normal end
91  return 0;
92 }
93 
94 // =====================================================================
95 // ---------------------------------------------------------------------
96 // ---------------------------------------------------------------------
97 // =====================================================================
98 
100 {
101  // Here you must build the convolution kernels. This means first specifying the number of kernels: m_nbKernels.
102  // If it is stationary (i.e. m_nbKernels=1), then the m_stationary boolean should be set to true, as the Convolve
103  // function implemented by the mother vImageConvolver will be used. Otherwise, this function Convolve(), as well
104  // as ConvolveTranspose() must be overloaded by this class in order to properly use the convolution kernels.
105  // Second, the dimensions of the kernels mp_dimKernelX, mp_dimKernelY and mp_dimKernelZ must first be allocated
106  // with respect to the number of kernels, and then be specified. Finally, the kernels values m2p_kernel must also be
107  // allocated with respect to the number of kernels and their dimensions, and then be specified. It is assumed that
108  // the normalization of the kernels is made in this function.
109 
110  // Normal end
111  return 0;
112 }
113 
114 // =====================================================================
115 // ---------------------------------------------------------------------
116 // ---------------------------------------------------------------------
117 // =====================================================================
Declaration of class iImageConvolverTemplate.
Declaration of class oImageDimensionsAndQuantification.
int BuildConvolutionKernel()
A private function used to build the convolution kernel specific to the child convolver.
~iImageConvolverTemplate()
The destructor of iImageConvolverTemplate.
int ReadOptionsList(const string &a_listOptions)
A function used to read options from a list of options.
int ReadConfigurationFile(const string &a_fileOptions)
A function used to read options from a configuration file.
Declaration of class oImageSpace.
int CheckSpecificParameters()
A private function used to check the parameters settings specific to the child module.
Declaration of class vImageConvolver.
void ShowHelp()
A function used to show help about the child module.
iImageConvolverTemplate()
The constructor of iImageConvolverTemplate.
This abstract class is the generic image convolver class used by the oImageConvolverManager.