STIR 6.4.0
BinNormalisationSinogramRescaling.h
Go to the documentation of this file.
1//
2//
3/*
4 Copyright (C) 2003- 2005, Hammersmith Imanet Ltd
5 See STIR/LICENSE.txt for details
6*/
15
16#ifndef __stir_recon_buildblock_BinNormalisationSinogramRescaling_H__
17#define __stir_recon_buildblock_BinNormalisationSinogramRescaling_H__
18
21#include "stir/ProjData.h"
22#include "stir/shared_ptr.h"
23#include "stir/ProjDataInfo.h"
24#include "stir/Scanner.h"
25#include "stir/Array.h"
26#include <string>
27
28START_NAMESPACE_STIR
29
36class BinNormalisationSinogramRescaling : public RegisteredParsingObject<BinNormalisationSinogramRescaling, BinNormalisation>
37{
38public:
40 static const char* const registered_name;
41
43
49
51 BinNormalisationSinogramRescaling(const std::string& filename);
52
53 virtual Succeeded set_up(const shared_ptr<const ProjDataInfo>&);
54
55 float get_bin_efficiency(const Bin& bin) const override;
57
60 void apply(RelatedViewgrams<float>& viewgrams) const override;
61
63
66 void undo(RelatedViewgrams<float>& viewgrams) const override;
67
68private:
69 // the proj data info used for obtaining axial position num, segment num
70 // will be set by set_up()
71 shared_ptr<const ProjDataInfo> proj_data_info_sptr;
72 Array<3, float> rescaling_factors;
73
74 // parsing stuff
75 void set_defaults() override;
76 void initialise_keymap() override;
77 bool post_processing() override;
78
79 std::string sinogram_rescaling_factors_filename;
80};
81
82END_NAMESPACE_STIR
83
84#endif
defines the stir::Array class for multi-dimensional (numeric) arrays
Declaration of class stir::BinNormalisation.
Declaration of class stir::ProjDataInfo.
Declaration of class stir::ProjData.
Declaration of class stir::RegisteredParsingObject.
Declaration of class stir::Scanner.
This class defines multi-dimensional (numeric) arrays.
Definition Array.h:78
void undo(RelatedViewgrams< float > &viewgrams) const override
Undo the normalisation of some data.
Definition BinNormalisationSinogramRescaling.cxx:141
float get_bin_efficiency(const Bin &bin) const override
Return the 'efficiency' factor for a single bin.
Definition BinNormalisationSinogramRescaling.cxx:117
void apply(RelatedViewgrams< float > &viewgrams) const override
Normalise some data.
Definition BinNormalisationSinogramRescaling.cxx:125
static const char *const registered_name
Name which will be used when parsing a BinNormalisation object.
Definition BinNormalisationSinogramRescaling.h:40
BinNormalisationSinogramRescaling()
Default constructor.
Definition BinNormalisationSinogramRescaling.cxx:60
A class for storing coordinates and value of a single projection bin.
Definition Bin.h:49
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files.
Definition RegisteredParsingObject.h:78
A class for storing viewgrams which are related by symmetry.
Definition RelatedViewgrams.h:41
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition Succeeded.h:44
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast into the stir names...