STIR  6.2.0
Classes | Namespaces | Typedefs | Functions

Declaration of the main functions that perform parallel processing. More...

#include "stir/shared_ptr.h"
#include "stir/Bin.h"
#include <vector>

Go to the source code of this file.

Classes

class  stir::RelatedViewgrams< elemT >
 A class for storing viewgrams which are related by symmetry. More...
 
class  stir::DiscretisedDensity< num_dimensions, elemT >
 This abstract class is the basis for all image representations. More...
 

Namespaces

 stir
 Namespace for the STIR library (and some/most of its applications)
 

Typedefs

typedef void stir::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() More...
 

Functions

void stir::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() More...
 
void stir::end_distributable_computation ()
 clean-up after a sequence of computations More...
 
void stir::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.Output is in output_image_ptr and in float_out_ptr (but only if they are not NULL). What the output is, is really determined by the call-back function RPC_process_related_viewgrams. More...
 
template<typename CallBackT >
void stir::LM_distributable_computation (const shared_ptr< ProjMatrixByBin > PM_sptr, const shared_ptr< ProjDataInfo > &proj_data_info_sptr, DiscretisedDensity< 3, float > *output_image_ptr, const DiscretisedDensity< 3, float > *input_image_ptr, const std::vector< BinAndCorr > &record_cache, const int subset_num, const int num_subsets, const bool has_add, const bool accumulate, double *double_out_ptr, CallBackT &&call_back)
 This function essentially implements a loop over a cached listmode file. More...
 

Variables

Task-ids currently understood by stir::DistributedWorker
const int stir::task_stop_processing = 0
 
const int stir::task_setup_distributable_computation = 200
 
const int stir::task_do_distributable_gradient_computation = 42
 
const int stir::task_do_distributable_loglikelihood_computation = 43
 
const int stir::task_do_distributable_sensitivity_computation = 44
 
Tag-names currently used by stir::distributable_computation and related functions
const int stir::AVAILABLE_NOTIFICATION_TAG = 2
 
const int stir::END_ITERATION_TAG = 3
 
const int stir::END_RECONSTRUCTION_TAG = 4
 
const int stir::END_NOTIFICATION_TAG = 5
 
const int stir::BINWISE_CORRECTION_TAG = 6
 
const int stir::BINWISE_MULT_TAG = 66
 
const int stir::REUSE_VIEWGRAM_TAG = 10
 
const int stir::NEW_VIEWGRAM_TAG = 11
 
const int stir::USE_DOUBLE_ARG_TAG = 70
 
const int stir::USE_OUTPUT_IMAGE_ARG_TAG = 71
 

Detailed Description

Declaration of the main functions that perform parallel processing.

Author
Nikos Efthimiou
Alexey Zverovich
Kris Thielemans
Matthew Jacobson
Tobias Beisel
PARAPET project