19 #ifndef STIR_SQRTHESSIANROWSUM_H 20 #define STIR_SQRTHESSIANROWSUM_H 57 template <
typename TargetT>
69 void set_defaults()
override;
84 shared_ptr<TargetT> get_input_image_sptr();
85 void set_input_image_sptr(shared_ptr<TargetT>
const& image);
89 shared_ptr<TargetT> get_output_target_sptr();
95 bool get_use_approximate_hessian()
const;
96 void set_use_approximate_hessian(
bool use_approximate);
101 bool get_compute_with_penalty()
const;
102 void set_compute_with_penalty(
bool with_penalty);
107 void compute_Hessian_row_sum();
111 void compute_approximate_Hessian_row_sum();
114 bool _already_setup =
false;
118 shared_ptr<GeneralisedObjectiveFunction<TargetT>> objective_function_sptr;
121 std::string output_filename;
124 std::string input_image_filename;
127 shared_ptr<TargetT> input_image_sptr;
130 shared_ptr<TargetT> output_target_sptr;
136 bool use_approximate_hessian;
140 bool compute_with_penalty;
143 shared_ptr<OutputFileFormat<TargetT>> output_file_format_sptr;
149 bool post_processing()
override;
150 void initialise_keymap()
override;
154 #endif // STIR_SQRTHESSIANROWSUM_H
A base class for 'generalised' objective functions, i.e. objective functions for which at least a 'gr...
Definition: GeneralisedObjectiveFunction.h:83
A base class for objects that want to be able to parse parameter files.
Definition: ParsingObject.h:44
Implementations of two square root Hessian row sum computation methods, as proposed by Tsai et al...
Definition: SqrtHessianRowSum.h:58
Definition of stir::is_null_ptr functions.
Declaration of class stir::PoissonLogLikelihoodWithLinearKineticModelAndDynamicProjectionData.
Declaration of class stir::GeneralisedObjectiveFunction.
Declaration of stir::info()
Declaration of class stir::GeneralisedPrior.
Declaration of stir::read_from_file functions (providing easy access to class stir::InputFileFormatRe...