CASToR  3.0
Tomographic Reconstruction (PET/SPECT/CT)
iImageConvolverTemplate.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 IIMAGECONVOLVERTEMPLATE_HH
31 #define IIMAGECONVOLVERTEMPLATE_HH 1
32 
33 #include "gVariables.hh"
34 #include "gOptions.hh"
35 #include "oImageSpace.hh"
36 #include "vImageConvolver.hh"
37 #include "sAddonManager.hh"
38 
51 {
52  // -----------------------------------------------------------------------------------------
53  // Constructor & Destructor
54  public:
70 
71 
72  // -----------------------------------------------------------------------------------------
73  // Public member functions
74  public:
75  // Function for automatic insertion (put the class name as the parameter and do NOT add semi-colon at the end of the line)
87  int ReadConfigurationFile(const string& a_fileOptions);
98  int ReadOptionsList(const string& a_listOptions);
107  void ShowHelp();
108 
109 
110  // -----------------------------------------------------------------------------------------
111  // Private member functions
112  private:
136 
137 
138  // -----------------------------------------------------------------------------------------
139  // Data members
140  protected:
141  // Declare here any members useful for this specific module
142 };
143 
144 
145 // Class for automatic insertion (set here the visible image convolver's name as the first parameter,
146 // put the class name as the second parameter and do NOT add semi-colon at the end of the line)
148 
149 #endif
This header file is mainly used to declare some macro definitions and all includes needed from the st...
int BuildConvolutionKernel()
A private function used to build the convolution kernel specific to the child convolver.
#define CLASS_IMAGE_CONVOLVER(NAME, CLASS)
~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.
#define FUNCTION_IMAGE_CONVOLVER(CLASS)
This file is used for all kind of different functions designed for options parsing and ASCII file rea...
This class is a template of an image convolver module to serve as an example.
Declaration of class vImageConvolver.
void ShowHelp()
A function used to show help about the child module.
iImageConvolverTemplate()
The constructor of iImageConvolverTemplate.
Declaration of class sAddonManager.
This abstract class is the generic image convolver class used by the oImageConvolverManager.