STIR  6.2.0
BinNormalisationUsingProfile.h
Go to the documentation of this file.
1 //
2 //
11 /*
12  Copyright (C) 2000- 2003, IRSL
13  See STIR/LICENSE.txt for details
14 */
15 
16 #ifndef __stir_recon_buildblock_BinNormalisationUsingProfile_H__
17 #define __stir_recon_buildblock_BinNormalisationUsingProfile_H__
18 
21 #include "stir/RelatedViewgrams.h"
22 
23 #include <string>
24 
25 START_NAMESPACE_STIR
26 
27 class BinNormalisationUsingProfile : public RegisteredParsingObject<BinNormalisationUsingProfile, BinNormalisation>
28 {
29 public:
31  static const char* const registered_name;
32 
33  BinNormalisationUsingProfile();
34 
35  BinNormalisationUsingProfile(const std::string& filename);
36 
37  void apply(RelatedViewgrams<float>& viewgrams) const override;
38 
39  void undo(RelatedViewgrams<float>& viewgrams) const override;
40 
41  float get_bin_efficiency(const Bin& bin) const override { return 1; }
42 
43 private:
44  mutable Array<1, float> profile;
45  std::string profile_filename;
46 
47  void set_defaults() override;
48  void initialise_keymap() override;
49  bool post_processing() override;
50 };
51 
52 END_NAMESPACE_STIR
53 
54 #endif
Declaration of class stir::BinNormalisation.
Declaration of class stir::RelatedViewgrams.
Declaration of class stir::RegisteredParsingObject.