STIR 6.4.0
BinNormalisationWithCalibration.h
Go to the documentation of this file.
1//
2//
3/*
4 Copyright (C) 2020-2021, University College London
5 Copyright (C) 2020, National Physical Laboratory
6 This file is part of STIR.
7
8 SPDX-License-Identifier: Apache-2.0
9
10 See STIR/LICENSE.txt for details
11*/
21
22#ifndef __stir_recon_buildblock_BinNormalisationWithCalibration_H__
23#define __stir_recon_buildblock_BinNormalisationWithCalibration_H__
24
26#include "stir/Bin.h"
27#include "stir/Radionuclide.h"
28#include "stir/shared_ptr.h"
31
32START_NAMESPACE_STIR
33
42class BinNormalisationWithCalibration : public BinNormalisation
43{
44private:
45 using base_type = BinNormalisation;
46
47public:
48 BinNormalisationWithCalibration();
50
51 Succeeded set_up(const shared_ptr<const ExamInfo>& exam_info_sptr, const shared_ptr<const ProjDataInfo>&) override;
53 float get_calib_decay_branching_ratio_factor(const Bin&) const; // TODO find a better name
54 float get_calibration_factor() const override;
55 float get_branching_ratio() const;
56
57 void set_calibration_factor(const float);
58 void set_radionuclide(const Radionuclide&);
59
60 // needs to be implemented by derived class
61 virtual float get_uncalibrated_bin_efficiency(const Bin&) const = 0;
62
64
66 float get_bin_efficiency(const Bin& bin) const final
67 {
68 return this->get_uncalibrated_bin_efficiency(bin) / this->_calib_decay_branching_ratio;
69 }
70
71protected:
72 // parsing stuff
73 void set_defaults() override;
74 void initialise_keymap() override;
75 bool post_processing() override;
76
77private:
78 // provide facility to switch off things?
79 // need to be added to the parsing keywords
80 // bool use_calibration_factor; // default to true
81 float calibration_factor;
82 Radionuclide radionuclide;
84
85 float _calib_decay_branching_ratio;
86};
87
88END_NAMESPACE_STIR
89
90#endif
Declaration of class stir::BinNormalisation.
Declaration of class stir::Bin.
Declaration of class stir::Radionuclide.
Declaration of class stir::RegisteredParsingObject.
float get_calib_decay_branching_ratio_factor(const Bin &) const
product of calibration factor etc
Definition BinNormalisationWithCalibration.cxx:68
Succeeded set_up(const shared_ptr< const ExamInfo > &exam_info_sptr, const shared_ptr< const ProjDataInfo > &) override
initialises the object and checks if it can handle such projection data
Definition BinNormalisationWithCalibration.cxx:57
float get_bin_efficiency(const Bin &bin) const final
return efficiency for 1 bin
Definition BinNormalisationWithCalibration.h:66
A class for storing coordinates and value of a single projection bin.
Definition Bin.h:49
A class for storing radionuclide information.
Definition Radionuclide.h:34
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition Succeeded.h:44
Simple functions to compute the decay correction factor.
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast into the stir names...