CASToR  3.0
Tomographic Reconstruction (PET/SPECT/CT)
iDeformationTemplate.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 IDEFORMATIONTEMPLATE_HH
31 #define IDEFORMATIONTEMPLATE_HH 1
32 
33 // (Optional) may be required if one want access to the image matrices
34 #include "oImageSpace.hh"
35 // Required to automatically add the class in the CASToR code
36 #include "sAddonManager.hh"
37 // Mother class of deformation model
38 #include "vDeformation.hh"
39 
46 {
47  // -----------------------------------------------------------------------------------------
48  // Constructor & Destructor
49  public:
60 
61 
62  // -----------------------------------------------------------------------------------------
63  // Public member functions
64  public:
65  // Function for automatic insertion (put the class name as the parameters and do not add semi-colon at the end of the line)
73  int ReadAndCheckConfigurationFile(const string& a_fileOptions);
80  int ReadAndCheckOptionsList(const string& a_listOptions);
94  int Initialize();
99  void ShowHelp();
109  int ApplyDeformations(FLTNB* ap_inputImage, FLTNB* ap_outputImage, int a_direction, int a_defIdx);
110 
111 
112  // -----------------------------------------------------------------------------------------
113  // Private member functions
114  private:
115 
116 
117  // -----------------------------------------------------------------------------------------
118  // Data members
119  private:
120 
121 };
122 
123 // Class for automatic insertion (set here the visible image deformation's name, put the class name as the parameters and do not add semi-colon at the end of the line)
125 
126 #endif
#define FLTNB
Definition: gVariables.hh:81
int CheckSpecificParameters()
This function is an implementation of the pure virtual mother function. It is used to check parameter...
#define CLASS_DEFORMATION(NAME, CLASS)
~iDeformationTemplate()
Destructor of iDeformationTemplate. Free memory from all allocated tabs.
int Initialize()
This function is an implementation of the pure virtual mother function. It is used to initialize spec...
#define FUNCTION_DEFORMATION(CLASS)
This is the mother class of image-based transformation class.
Definition: vDeformation.hh:64
int ReadAndCheckConfigurationFile(const string &a_fileOptions)
This function is an implementation of the pure virtual mother function. It is used to read options fr...
Declaration of class vDeformation.
void ShowHelp()
This function is used to print out specific help about the deformation model and its options...
Declaration of class oImageSpace.
int ReadAndCheckOptionsList(const string &a_listOptions)
This function is an implementation of the pure virtual mother function. It is used to read options fr...
This class is a child of the vDeformation class implementing a template squeleton.
iDeformationTemplate()
Constructor of iDeformationTemplate. Simply set all data members to default values.
int ApplyDeformations(FLTNB *ap_inputImage, FLTNB *ap_outputImage, int a_direction, int a_defIdx)
This function is an implementation of the pure virtual mother function. The actual deformation should...
Declaration of class sAddonManager.