STIR 6.4.0
BloodFrameData.h
Go to the documentation of this file.
1//
2//
3/*
4 Copyright (C) 2005 - 2007, Hammersmith Imanet Ltd
5 This file is part of STIR.
6
7 SPDX-License-Identifier: Apache-2.0
8
9 See STIR/LICENSE.txt for details
10*/
20
21#ifndef __stir_modelling_BloodFrameData_H__
22#define __stir_modelling_BloodFrameData_H__
23
25#include <vector>
26
27START_NAMESPACE_STIR
28
35{
36 typedef std::vector<BloodFrame> plot_type;
37
38public:
39 typedef plot_type::const_iterator const_iterator;
40 /* enum VolumeUnits
41 { ml , litre };
42 enum SamplingTimeUnits
43 { seconds , minutes };
44 enum RadioactivityUnits
45 { counts_per_sec , counts_per_min , kBq };
46
47 inline void set_input_units(const SamplingTimeUnits input_sampling_time_units,
48 const VolumeUnits input_volume_units,
49 const RadioactivityUnits input_radioactivity_units ) ;
50
51 */
53 inline void read_blood_frame_data(const std::string input_string);
54 inline void set_plot(const std::vector<BloodFrame>& blood_plot);
56
58 inline void shift_time(const float time_shift);
59
61 inline float get_time_shift();
62
64 inline void set_isotope_halflife(const float isotope_halflife);
65
67 inline void set_if_decay_corrected(const bool is_decay_corrected);
68
70 inline bool get_if_decay_corrected();
71
73 inline void decay_correct_BloodFrameData();
74
76 inline BloodFrameData();
77
79 // ChT::ToDO: Better to use iterators
80 inline BloodFrameData(const std::vector<BloodFrame>& blood_plot);
81
83 inline ~BloodFrameData();
84
86 inline const_iterator begin() const;
87 inline const_iterator end() const;
88 inline unsigned int size() const;
89 // non const_iterator should be defined if the plasma data needs to be changed
90 // inline iterator begin() ;
91 // inline iterator end() ;
92
93private:
94 /* VolumeUnits _input_volume_units ;
95 SamplingTimeUnits _input_sampling_time_units ;
96 RadioactivityUnits _input_radioactivity_units ;*/
97 bool _is_decay_corrected;
98 float _isotope_halflife;
99 std::vector<BloodFrame> _blood_plot;
100 int _num_frames;
101 float _time_shift;
102};
103
104END_NAMESPACE_STIR
105
106#include "stir_experimental/modelling/BloodFrameData.inl"
107
108#endif //__stir_modelling_BloodFrameData_H__
Declaration of class stir::PlasmaData.
bool get_if_decay_corrected()
Function to set _is_decay_corrected boolean true ar false.
Definition BloodFrameData.inl:106
void read_blood_frame_data(const std::string input_string)
Implementation to read the input function from ONLY a 2-columns frame data (FrameNumber-InputFunction...
Definition BloodFrameData.inl:41
void set_isotope_halflife(const float isotope_halflife)
Function to set the isotope halflife.
Definition BloodFrameData.inl:94
float get_time_shift()
Function to get the time data.
Definition BloodFrameData.inl:88
const_iterator begin() const
void begin() and end() iterators for the plasma curve ;
Definition BloodFrameData.inl:136
void set_if_decay_corrected(const bool is_decay_corrected)
Function to set _is_decay_corrected boolean true ar false.
Definition BloodFrameData.inl:100
BloodFrameData()
default constructor
Definition BloodFrameData.inl:25
void decay_correct_BloodFrameData()
Function to decay correct the data.
Definition BloodFrameData.inl:112
void shift_time(const float time_shift)
Implementation to set the input units not currently used. Always, it assumed to use kBq,...
Definition BloodFrameData.inl:77