13 #ifndef __stir_recon_buildblock_IterativeReconstruction_h__ 14 # define __stir_recon_buildblock_IterativeReconstruction_h__ 80 template <
class TargetT>
101 int get_subset_num();
112 virtual TargetT* get_initial_data_ptr()
const;
130 Succeeded reconstruct(shared_ptr<TargetT>
const& target_data_sptr)
override;
135 std::string make_filename_prefix_subiteration_num(
const std::string& filename_prefix)
const;
140 std::string make_filename_prefix_subiteration_num()
const;
149 shared_ptr<GeneralisedObjectiveFunction<TargetT>> get_objective_function_sptr()
const;
152 const int get_max_num_full_iterations()
const;
155 const int get_num_subsets()
const;
158 const int get_num_subiterations()
const;
161 const int get_start_subiteration_num()
const;
164 const int get_start_subset_num()
const;
168 const int get_save_interval()
const;
171 const bool get_randomise_subset_order()
const;
176 shared_ptr<DataProcessor<TargetT>> get_inter_iteration_filter_sptr();
179 const int get_inter_iteration_filter_interval()
const;
182 const int get_report_objective_function_values_interval()
const;
195 void set_max_num_full_iterations(
const int);
198 void set_num_subsets(
const int);
201 void set_num_subiterations(
const int);
204 void set_start_subiteration_num(
const int);
207 void set_start_subset_num(
const int);
211 void set_save_interval(
const int);
214 void set_randomise_subset_order(
const bool);
220 void set_inter_iteration_filter_interval(
const int);
223 void set_report_objective_function_values_interval(
const int);
228 void set_input_data(
const shared_ptr<ExamData>& arg)
override;
229 const ExamData& get_input_data()
const override;
232 Succeeded set_up(shared_ptr<TargetT>
const& target_data_ptr)
override;
235 virtual void update_estimate(TargetT& current_estimate) = 0;
255 virtual void end_of_iteration_processing(TargetT& current_estimate);
257 shared_ptr<GeneralisedObjectiveFunction<TargetT>> objective_function_sptr;
305 virtual void ask_parameters();
307 void set_defaults()
override;
308 void initialise_keymap()
override;
310 bool post_processing()
override;
int report_objective_function_values_interval
subiteration interval at which to report the values of the objective function
Definition: IterativeReconstruction.h:302
int inter_iteration_filter_interval
subiteration interval at which to apply inter-iteration filters
Definition: IterativeReconstruction.h:297
declares the stir::Reconstruction class
A base class for 'generalised' objective functions, i.e. objective functions for which at least a 'gr...
Definition: GeneralisedObjectiveFunction.h:83
int max_num_full_iterations
the maximum allowed number of full iterations
Definition: IterativeReconstruction.h:268
Declaration of class stir::DataProcessor.
int subiteration_num
the subiteration counter
Definition: IterativeReconstruction.h:260
shared_ptr< DataProcessor< TargetT > > inter_iteration_filter_ptr
inter-iteration filter
Definition: IterativeReconstruction.h:294
std::string initial_data_filename
name of the file containing the data for intializing the reconstruction
Definition: IterativeReconstruction.h:280
int start_subiteration_num
value with which to initialize the subiteration counter
Definition: IterativeReconstruction.h:277
int save_interval
subiteration interval at which data will be saved
Definition: IterativeReconstruction.h:288
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast (or corresponding b...
bool terminate_iterations
used to abort the loop over iterations
Definition: IterativeReconstruction.h:263
int num_subsets
the number of ordered subsets
Definition: IterativeReconstruction.h:271
bool randomise_subset_order
signals whether to randomise the subset order in each iteration
Definition: IterativeReconstruction.h:291
int num_subiterations
the number of subiterations
Definition: IterativeReconstruction.h:274
Declaration of class stir::GeneralisedObjectiveFunction.
base class for all ReconstructionsAs there is not a lot of commonality between different reconstructi...
Definition: Reconstruction.h:69
int get_subiteration_num() const
accessor for the subiteration counter
Definition: IterativeReconstruction.h:88
int start_subset_num
the starting subset number
Definition: IterativeReconstruction.h:283
base class for iterative reconstruction objectsThis is the base class for all iterative reconstructio...
Definition: IterativeReconstruction.h:81
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition: Succeeded.h:43
base class for data objects such as ProjData etcProvides an ExamInfo member.
Definition: ExamData.h:33