CASToR  2.0
Tomographic Reconstruction (PET/SPECT/CT)
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
iProjectorIncrementalSiddonMulti.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 IPROJECTORINCREMENTALSIDDONMULTI_HH
32 #define IPROJECTORINCREMENTALSIDDONMULTI_HH 1
33 
34 #include "gVariables.hh"
35 #include "sAddonManager.hh"
36 #include "vProjector.hh"
37 
46 {
47  // -------------------------------------------------------------------
48  // Constructor & Destructor
49  public:
64 
65  // -------------------------------------------------------------------
66  // Public member functions
67  public:
68  // Function for automatic insertion (put the class name as the parameter and do not add semi-column at the end of the line)
80  int ReadConfigurationFile(const string& a_configurationFile);
91  int ReadOptionsList(const string& a_optionsList);
101  // -------------------------------------------------------------------
102  // Private member functions
103  private:
112  void ShowHelpSpecific();
129  int InitializeSpecific();
139  int ProjectWithoutTOF( int a_direction, oProjectionLine* ap_ProjectionLine );
150  int ProjectWithTOFPos( int a_direction, oProjectionLine* ap_ProjectionLine );
161  int ProjectWithTOFBin( int a_direction, oProjectionLine* ap_ProjectionLine );
162 
163  // -------------------------------------------------------------------
164  // Data members
165  private:
166  int m_nbLines;
167 };
168 
169 
170 // Class for automatic insertion (set here the visible projector's name as the first parameter,
171 // put the class name as the second parameter and do NOT add semi-colon at the end of the line)
173 
174 #endif
175 
void ShowHelpSpecific()
A function used to show help about the child module.
This header file is mainly used to declare some macro definitions and all includes needed from the st...
int ReadConfigurationFile(const string &a_configurationFile)
A function used to read options from a configuration file.
This class is a child of the vProjector class implementing the multi incremental Siddon ray tracer...
This class is designed to generically described any on-the-fly projector.
Definition: vProjector.hh:76
int ProjectWithTOFPos(int a_direction, oProjectionLine *ap_ProjectionLine)
A function to project with TOF continuous information.
int InitializeSpecific()
This function is used to initialize specific stuff to the child projector.
Declaration of class vProjector.
int ProjectWithTOFBin(int a_direction, oProjectionLine *ap_ProjectionLine)
A function to project with TOF binned information.
INTNB EstimateMaxNumberOfVoxelsPerLine()
This function is used to compute and provide an estimate of the maximum number of voxels that could c...
int CheckSpecificParameters()
A private function used to check the parameters settings specific to the child projector.
#define FUNCTION_PROJECTOR(CLASS)
Definition: vProjector.hh:374
~iProjectorIncrementalSiddonMulti()
The destructor of iProjectorIncrementalSiddonMulti.
#define INTNB
Definition: gVariables.hh:92
This class is designed to manage and store system matrix elements associated to a vEvent...
iProjectorIncrementalSiddonMulti()
The constructor of iProjectorIncrementalSiddonMulti.
int ReadOptionsList(const string &a_optionsList)
A function used to read options from a list of options.
#define CLASS_PROJECTOR(NAME, CLASS)
Definition: vProjector.hh:378
int ProjectWithoutTOF(int a_direction, oProjectionLine *ap_ProjectionLine)
A function to project without TOF.
Declaration of class sAddonManager.