CASToR  3.2
Tomographic Reconstruction (PET/SPECT/CT)
src/image/iImageConvolverTemplate.cc
Go to the documentation of this file.
1 
8 #include "vImageConvolver.hh"
9 #include "oImageDimensionsAndQuantification.hh"
10 #include "oImageSpace.hh"
11 #include "iImageConvolverTemplate.hh"
12 
13 // =====================================================================
14 // ---------------------------------------------------------------------
15 // ---------------------------------------------------------------------
16 // =====================================================================
17 
19 {
20  // Affect default values to the parameters specific to this convolver
21 }
22 
23 // =====================================================================
24 // ---------------------------------------------------------------------
25 // ---------------------------------------------------------------------
26 // =====================================================================
27 
29 {
30  // Delete or free all structures specific to this convolver that were allocated by this convolver
31 }
32 
33 // =====================================================================
34 // ---------------------------------------------------------------------
35 // ---------------------------------------------------------------------
36 // =====================================================================
37 
38 int iImageConvolverTemplate::ReadConfigurationFile(const string& a_configurationFile)
39 {
40  // Implement here the reading of any options specific to this image convolver, through a configuration file
41 
42  // Normal end
43  return 0;
44 }
45 
46 // =====================================================================
47 // ---------------------------------------------------------------------
48 // ---------------------------------------------------------------------
49 // =====================================================================
50 
51 int iImageConvolverTemplate::ReadOptionsList(const string& a_optionsList)
52 {
53  // Implement here the reading of any options specific to this image convolver, through a list of options separated by commas
54 
55  // Normal end
56  return 0;
57 }
58 
59 // =====================================================================
60 // ---------------------------------------------------------------------
61 // ---------------------------------------------------------------------
62 // =====================================================================
63 
65 {
66  // Here, display some help and guidance to how to use this image convolver module and what it does.
67  // Also describes the form of the configuration file or the list of options that parameterize your module.
68  cout << "This image convolver is a template class dedicated to add your own custom image convolver." << endl;
69 }
70 
71 // =====================================================================
72 // ---------------------------------------------------------------------
73 // ---------------------------------------------------------------------
74 // =====================================================================
75 
77 {
78  // Implement here all mandatory checks specific to this image convolver needed for a nice use
79 
80  // Normal end
81  return 0;
82 }
83 
84 // =====================================================================
85 // ---------------------------------------------------------------------
86 // ---------------------------------------------------------------------
87 // =====================================================================
88 
90 {
91  // Here you must build the convolution kernels. This means first specifying the number of kernels: m_nbKernels.
92  // If it is stationary (i.e. m_nbKernels=1), then the m_stationary boolean should be set to true, as the Convolve
93  // function implemented by the mother vImageConvolver will be used. Otherwise, this function Convolve(), as well
94  // as ConvolveTranspose() must be overloaded by this class in order to properly use the convolution kernels.
95  // Second, the dimensions of the kernels mp_dimKernelX, mp_dimKernelY and mp_dimKernelZ must first be allocated
96  // with respect to the number of kernels, and then be specified. Finally, the kernels values m2p_kernel must also be
97  // allocated with respect to the number of kernels and their dimensions, and then be specified. It is assumed that
98  // the normalization of the kernels is made in this function.
99 
100  // Normal end
101  return 0;
102 }
103 
104 // =====================================================================
105 // ---------------------------------------------------------------------
106 // ---------------------------------------------------------------------
107 // =====================================================================
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)
int ReadConfigurationFile(const string &a_fileOptions)
int CheckSpecificParameters()
A private function used to check the parameters settings specific to the child module.
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.