STIR  6.2.0
distributableMPICacheEnabled.h
Go to the documentation of this file.
1 //
2 //
3 /*
4  Copyright (C) 2000 PARAPET partners
5  Copyright (C) 2000- 2011, Hammersmith Imanet Ltd
6  This file is part of STIR.
7 
8  SPDX-License-Identifier: Apache-2.0 AND License-ref-PARAPET-license
9 
10  See STIR/LICENSE.txt for details
11 */
12 
13 #ifndef __stir_recon_buildblock_DISTRIBUTABLEMPI_H__
14 #define __stir_recon_buildblock_DISTRIBUTABLEMPI_H__
15 
30 
31 START_NAMESPACE_STIR
32 
33 class DistributedCachingInformation;
34 
37 
49 void distributable_computation_cache_enabled(const shared_ptr<ForwardProjectorByBin>& forward_projector_ptr,
50  const shared_ptr<BackProjectorByBin>& back_projector_ptr,
51  const shared_ptr<DataSymmetriesForViewSegmentNumbers>& symmetries_ptr,
52  DiscretisedDensity<3, float>* output_image_ptr,
53  const DiscretisedDensity<3, float>* input_image_ptr,
54  const shared_ptr<ProjData>& proj_data_sptr,
55  const bool read_from_proj_data,
56  int subset_num,
57  int num_subsets,
58  int min_segment_num,
59  int max_segment_num,
60  bool zero_seg0_end_planes,
61  double* double_out_ptr,
62  const shared_ptr<ProjData>& additive_binwise_correction,
63  const shared_ptr<BinNormalisation> normalise_sptr,
64  const double start_time_of_frame,
65  const double end_time_of_frame,
66  RPC_process_related_viewgrams_type* RPC_process_related_viewgrams,
67  DistributedCachingInformation* caching_info_ptr,
68  int min_timing_pos_num,
69  int max_timing_pos_num);
70 
71 void test_image_estimate(shared_ptr<stir::DiscretisedDensity<3, float>> input_image_ptr);
73 
74 END_NAMESPACE_STIR
75 
76 #endif // __stir_recon_buildblock_DISTRIBUTABLEMPI_H__
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.
void distributable_computation_cache_enabled(const shared_ptr< ForwardProjectorByBin > &forward_projector_ptr, const shared_ptr< BackProjectorByBin > &back_projector_ptr, const shared_ptr< DataSymmetriesForViewSegmentNumbers > &symmetries_ptr, DiscretisedDensity< 3, float > *output_image_ptr, const DiscretisedDensity< 3, float > *input_image_ptr, const shared_ptr< ProjData > &proj_data_sptr, 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 in the ...
Definition: distributableMPICacheEnabled.cxx:174