CASToR  3.0
Tomographic Reconstruction (PET/SPECT/CT)
oArterialInputCurve.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 OARTERIALINPUTCURVE_HH
31 #define OARTERIALINPUTCURVE_HH 1
32 
33 
34 #include "gVariables.hh"
35 
42 {
43  // -----------------------------------------------------------------------------------------
44  // Constructor & Destructor
45  public:
51 
57 
58  // -----------------------------------------------------------------------------------------
59  // Public member functions
60  public:
67  int CheckParameters();
74  int InitializeInputData();
81  int InterpolateAIC();
88  int Downsample();
89 
90 
91  // -----------------------------------------------------------------------------------------
92  // Public Get&Set functions
97  inline void SetInputFilePath(const string& a_pathToAICfile) { m_pathToAICfile = a_pathToAICfile; }
98 
103  inline void SetVerbose(int a_verbose) { m_verbose = a_verbose; }
104 
109  void SetFrames(int a_nbTimeFrames,uint32_t* a_frameTimeStartInMs, uint32_t* a_frameTimeStopInMs);
119  inline HPFLTNB* GetInterpolatedAIC () { return mp_AICIntrpY; }
120 
121 
122  // -----------------------------------------------------------------------------------------
123  // Private member functions
124 
125  // -----------------------------------------------------------------------------------------
126  // Data members
127  private:
142  // Verbose
143  int m_verbose;
144 };
145 
146 #endif
void SetVerbose(int a_verbose)
Set the member m_verboseLevel to the provided value.
This header file is mainly used to declare some macro definitions and all includes needed from the st...
int Downsample()
This function downsamples the interpolated arterial input function Currently needed to speed up convo...
oArterialInputCurve()
Constructor of oArterialInputCurve. Simply set all data members to default values.
#define HPFLTNB
Definition: gVariables.hh:83
HPFLTNB * GetDownsampledAIC()
Set the framing of the reconstruction for the AIC object.
int InterpolateAIC()
This function performs a linear interpolation within the provided AIC range for every discrete unit o...
~oArterialInputCurve()
Destructor of oArterialInputCurve. Free memory from all allocated tabs.
int InitializeInputData()
This function is used to initialize the input arterial curve samples from the file provided by the us...
void SetInputFilePath(const string &a_pathToAICfile)
Set path to file to get the sampled Arterial Input Curve.
void SetFrames(int a_nbTimeFrames, uint32_t *a_frameTimeStartInMs, uint32_t *a_frameTimeStopInMs)
Set the framing of the reconstruction for the AIC object.
int CheckParameters()
This function is used to check that the required input parameters are provided from the file provided...
HPFLTNB * GetInterpolatedAIC()
Set the framing of the reconstruction for the AIC object.
This class is designed to manage the Arterial Input Curve provided by the user.