11 #ifndef __stir_recon_buildblock_DistributedWorker_h__ 12 # define __stir_recon_buildblock_DistributedWorker_h__ 59 template <
class TargetT>
63 double* log_likelihood_ptr;
64 bool zero_seg0_end_planes;
65 shared_ptr<ProjectorByBinPair> proj_pair_sptr;
66 shared_ptr<ExamInfo> exam_info_sptr;
67 shared_ptr<const ProjDataInfo> proj_data_info_sptr;
68 shared_ptr<TargetT> target_sptr;
70 int image_buffer_size;
74 shared_ptr<ProjData> proj_data_ptr;
75 shared_ptr<ProjData> binwise_correction;
76 shared_ptr<ProjData> mult_proj_data_sptr;
void RPC_process_related_viewgrams_type(const shared_ptr< ForwardProjectorByBin > &forward_projector_sptr, const shared_ptr< BackProjectorByBin > &back_projector_sptr, RelatedViewgrams< float > *measured_viewgrams_ptr, int &count, int &count2, double *log_likelihood_ptr, const RelatedViewgrams< float > *additive_binwise_correction_ptr, const RelatedViewgrams< float > *mult_viewgrams_ptr)
typedef for callback functions for distributable_computation()
Definition: distributable.h:93
Declaration of the main functions that perform parallel processing.
This implements the Worker for the stir::distributable_computation() function.
Definition: DistributedWorker.h:60
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast (or corresponding b...
Declaration of class stir::ProjData.
base class for all objects which need timers. At the moment, there's only a CPU timer.
Definition: TimedObject.h:35
declares the stir::TimedObject class
void distributable_computation(const shared_ptr< ForwardProjectorByBin > &forward_projector_sptr, const shared_ptr< BackProjectorByBin > &back_projector_sptr, const shared_ptr< DataSymmetriesForViewSegmentNumbers > &symmetries_sptr, DiscretisedDensity< 3, float > *output_image_ptr, const DiscretisedDensity< 3, float > *input_image_ptr, const shared_ptr< ProjData > &proj_data_ptr, const bool read_from_proj_data, int subset_num, int num_subsets, int min_segment_num, int max_segment_num, bool zero_seg0_end_planes, double *double_out_ptr, const shared_ptr< ProjData > &additive_binwise_correction, const shared_ptr< BinNormalisation > normalise_sptr, const double start_time_of_frame, const double end_time_of_frame, RPC_process_related_viewgrams_type *RPC_process_related_viewgrams, DistributedCachingInformation *caching_info_ptr, int min_timing_pos_num, int max_timing_pos_num)
This function essentially implements a loop over segments and all views in the current subset...
Definition: distributable.cxx:273
void setup_distributable_computation(const shared_ptr< ProjectorByBinPair > &proj_pair_sptr, const shared_ptr< const ExamInfo > &exam_info_sptr, const shared_ptr< const ProjDataInfo > proj_data_info_sptr, const shared_ptr< const DiscretisedDensity< 3, float >> &target_sptr, const bool zero_seg0_end_planes, const bool distributed_cache_enabled)
set-up parameters before calling distributable_computation()
Definition: distributable.cxx:80
Declares class stir::ProjectorByBinPair.