CASToR  2.0
Tomographic Reconstruction (PET/SPECT/CT)
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
iImageProcessingTemplate.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-2018 all CASToR contributors listed below:
18 
19  --> current contributors: Thibaut MERLIN, Simon STUTE, Didier BENOIT, Claude COMTAT, Marina FILIPOVIC, Mael MILLARDET
20  --> past contributors: Valentin VIELZEUF
21 
22 This is CASToR version 2.0.
23 */
24 
31 #ifndef IIMAGEPROCESSINGTEMPLATE_HH
32 #define IIMAGEPROCESSINGTEMPLATE_HH 1
33 
34 #include "gVariables.hh"
35 #include "gOptions.hh"
36 #include "oImageSpace.hh"
38 #include "sAddonManager.hh"
39 
52 {
53  // -----------------------------------------------------------------------------------------
54  // Constructor & Destructor
55  public:
78 
79 
80  // -----------------------------------------------------------------------------------------
81  // Public member functions
82  public:
83  // Function for automatic insertion (put the class name as the parameter and do NOT add semi-colon at the end of the line)
95  int ReadConfigurationFile(const string& a_configurationFile);
106  int ReadOptionsList(const string& a_optionsList);
115  void ShowHelp();
128  int Process(FLTNB**** a4p_image);
129 
130 
131  // -----------------------------------------------------------------------------------------
132  // Private member functions
133  private:
154  int InitializeSpecific();
155 
156 
157  // -----------------------------------------------------------------------------------------
158  // Data members
159  protected:
160  // Declare here any members useful for this specific module
161 };
162 
163 
164 // Class for automatic insertion (set here the visible image processing module's name as the first parameter,
165 // put the class name as the second parameter and do NOT add semi-colon at the end of the line)
167 
168 #endif
This header file is mainly used to declare some macro definitions and all includes needed from the st...
#define FLTNB
Definition: gVariables.hh:81
int CheckSpecificParameters()
A private function used to check the parameters settings specific to the child module.
This class is a template of an image processing module to serve as an example.
int Process(FLTNB ****a4p_image)
A function used to actually perform the processing.
int ReadOptionsList(const string &a_optionsList)
A function used to read options from a list of options.
~iImageProcessingTemplate()
The destructor of iImageProcessingTemplate.
#define CLASS_IMAGE_PROCESSING_MODULE(NAME, CLASS)
This abstract class is the generic image processing module class used by the oImageProcessingManager...
void ShowHelp()
A function used to show help about the child module.
int ReadConfigurationFile(const string &a_configurationFile)
A function used to read options from a configuration file.
Declaration of class oImageSpace.
iImageProcessingTemplate()
The constructor of iImageProcessingTemplate.
#define FUNCTION_IMAGE_PROCESSING_MODULE(CLASS)
This file is used for all kind of different functions designed for options parsing and ASCII file rea...
int InitializeSpecific()
A private function used to initialize everything specific to the child module.
Declaration of class vImageProcessingModule.
Declaration of class sAddonManager.