91 using base_type = BinNormalisationWithCalibration;
108 Succeeded set_up(
const shared_ptr<const ExamInfo>& exam_info_sptr,
const shared_ptr<const ProjDataInfo>&)
override;
109 float get_uncalibrated_bin_efficiency(
const Bin& bin)
const override;
111 bool use_detector_efficiencies()
const;
112 bool use_dead_time()
const;
113 float get_dead_time_efficiency(
int ring,
float singles_rate)
const;
114 float get_dead_time_efficiency(
const DetectionPosition<>& det_pos,
const double start_time,
const double end_time)
const;
115 bool use_geometric_factors()
const;
116 bool use_crystal_interference_factors()
const;
117 bool use_axial_effects_factors()
const;
119 void set_singles_rates(
const shared_ptr<SinglesRates>& sptr) { singles_rates_ptr = sptr; }
127 shared_ptr<SinglesRates> singles_rates_ptr;
135 int num_Siemens_sinograms;
137 shared_ptr<Scanner> scanner_ptr;
138 int num_transaxial_crystals_per_block;
140 int num_axial_blocks_per_singles_unit;
141 shared_ptr<const ProjDataInfo> proj_data_info_ptr;
142 shared_ptr<const ProjDataInfo> norm_proj_data_info_sptr;
144 shared_ptr<const ProjDataInfoCylindricalNoArcCorr> proj_data_info_cyl_uncompressed_ptr;
146 int num_blocks_per_singles_unit;
147 float calib_factor, cross_calib_factor;
150 bool _use_detector_efficiencies;
152 bool _use_geometric_factors;
153 bool _use_crystal_interference_factors;
154 bool _use_axial_effects_factors;
155 bool _write_components_to_file;
157 void read_norm_data(
const string& filename);
160 void construct_sino_lookup_table();
161 float find_axial_effects(
int ring1,
int ring2)
const;
163 void set_defaults()
override;
164 void initialise_keymap()
override;
165 bool post_processing()
override;
167 string normalisation_ECAT8_filename;
168 std::string singles_filename;
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 BinNormalisationFromECAT8.cxx:204