STIR  6.2.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 */
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 
28 START_NAMESPACE_STIR
29 
36 class BinNormalisationSinogramRescaling : public RegisteredParsingObject<BinNormalisationSinogramRescaling, BinNormalisation>
37 {
38 public:
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 
68 private:
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 
82 END_NAMESPACE_STIR
83 
84 #endif
Declaration of class stir::ProjDataInfo.
The BinNormalisationSinogramRescaling class gets normaliastion factors by dividing forward projection...
Definition: BinNormalisationSinogramRescaling.h:36
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast (or corresponding b...
Declaration of class stir::ProjData.
defines the Array class for multi-dimensional (numeric) arrays
Declaration of class stir::BinNormalisation.
Declaration of class stir::Scanner.
static const char *const registered_name
Name which will be used when parsing a BinNormalisation object.
Definition: BinNormalisationSinogramRescaling.h:40
A class for storing coordinates and value of a single projection bin.
Definition: Bin.h:48
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files...
Definition: RegisteredParsingObject.h:77
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition: Succeeded.h:43
Declaration of class stir::RegisteredParsingObject.