23 #ifndef __stir_recon_buildblock_PoissonLogLikelihoodWithLinearModelForMeanAndListModeDataWithProjMatrixByBin_H__ 24 #define __stir_recon_buildblock_PoissonLogLikelihoodWithLinearModelForMeanAndListModeDataWithProjMatrixByBin_H__ 57 template <
typename TargetT>
59 :
public RegisteredParsingObject<PoissonLogLikelihoodWithLinearModelForMeanAndListModeDataWithProjMatrixByBin<TargetT>,
60 GeneralisedObjectiveFunction<TargetT>,
61 PoissonLogLikelihoodWithLinearModelForMeanAndListModeData<TargetT>>
82 double actual_compute_objective_function_without_penalty(
const TargetT& current_estimate,
const int subset_num)
override;
89 void actual_compute_subset_gradient_without_penalty(TargetT& gradient,
90 const TargetT& current_estimate,
92 const bool add_sensitivity)
override;
94 Succeeded actual_accumulate_sub_Hessian_times_input_without_penalty(TargetT& output,
95 const TargetT& current_image_estimate,
97 const int subset_num)
const override;
99 TargetT* construct_target_ptr()
const override;
101 int set_num_subsets(
const int new_num_subsets)
override;
103 const shared_ptr<BinNormalisation>& get_normalisation_sptr()
const {
return this->normalisation_sptr; }
105 unique_ptr<ExamInfo> get_exam_info_uptr_for_target()
const override;
107 void set_proj_matrix(
const shared_ptr<ProjMatrixByBin>&);
109 void set_skip_balanced_subsets(
const bool arg);
111 #if STIR_VERSION < 060000 113 void set_max_ring_difference(
const int arg);
117 Succeeded set_up_before_sensitivity(shared_ptr<const TargetT>
const& target_sptr)
override;
119 void add_subset_sensitivity(TargetT& sensitivity,
const int subset_num)
const override;
121 #if STIR_VERSION < 060000 143 void set_defaults()
override;
145 void initialise_keymap()
override;
146 bool post_processing()
override;
148 bool actual_subsets_are_approximately_balanced(std::string& warning_message)
const override;
158 mutable std::vector<BinAndCorr> record_cache;
168 bool load_listmode_batch(
unsigned int ibatch)
const;
181 bool read_listmode_batch(
unsigned int ibatch)
const;
188 bool load_listmode_cache_file(
unsigned int file_id)
const;
189 Succeeded write_listmode_cache_file(
unsigned int file_id)
const;
191 unsigned int num_cache_files;
192 mutable std::vector<double> end_time_per_batch;
#define STIR_DEPRECATED
Deprecation macro.
Definition: deprecated.h:19
This file declares the class stir::ExamInfo.
A base class for 'generalised' objective functions, i.e. objective functions for which at least a 'gr...
Definition: GeneralisedObjectiveFunction.h:83
Declaration of the main functions that perform parallel processing.
Declaration of class stir::ProjDataFromStream.
This file declares a deprecation macro.
Declaration of class stir::ProjDataInMemory.
Declaration of stir::error()
declaration of stir::ProjMatrixByBin and its helpers classes
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files...
Definition: RegisteredParsingObject.h:77
Declares class stir::ProjectorByBinPairUsingProjMatrixByBin.
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.