STIR
6.2.0
|
Implementation of functions in distributed namespace. More...
#include "stir/recon_buildblock/distributed_functions.h"
#include "stir/HighResWallClockTimer.h"
#include "stir/IO/OutputFileFormat.h"
#include "stir/IO/InterfileHeader.h"
#include "stir/IO/InterfilePDFSHeaderSPECT.h"
#include "stir/ProjDataInterfile.h"
#include "stir/ExamInfo.h"
#include "stir/shared_ptr.h"
#include <fstream>
#include "stir/Succeeded.h"
#include "stir/error.h"
#include "stir/warning.h"
#include <boost/shared_array.hpp>
Namespaces | |
distributed | |
Namespace for distributed computation with MPI. | |
Functions | |
Global variables used for STIR_MPI | |
void | distributed::send_int_value (int value, int destination) |
threshold for displaying send/receive times, initially set to 0.1 seconds More... | |
void | distributed::send_string (const std::string &str, int tag, int destination) |
sends or broadcasts a string More... | |
void | distributed::send_bool_value (bool value, int tag, int destination) |
send or broadcast a bool value More... | |
void | distributed::send_int_values (int *values, int count, int tag, int destination) |
sends or broadcasts some integer values More... | |
void | distributed::send_double_values (double *values, int count, int tag, int destination) |
send or broadcast double values More... | |
void | distributed::send_view_segment_numbers (const stir::ViewSegmentNumbers &vs_num, int tag, int destination) |
send or broadcast ViewSegmentNumbers object More... | |
void | distributed::send_image_parameters (const stir::DiscretisedDensity< 3, float > *input_image_ptr, int tag, int destination) |
sends or broadcasts the parameters of a DiscretisedDensity object More... | |
void | distributed::send_image_estimate (const stir::DiscretisedDensity< 3, float > *input_image_ptr, int destination) |
sends or broadcasts the values of a DiscretisedDensity object More... | |
void | distributed::send_exam_and_proj_data_info (const stir::ExamInfo &exam_info, const stir::ProjDataInfo &proj_data_info, int destination) |
sends or broadcasts the information from ExamInfo and ProjDataInfo More... | |
void | distributed::send_related_viewgrams (stir::RelatedViewgrams< float > *viewgrams, int destination) |
sends a RelatedViegrams object More... | |
void | distributed::send_viewgram (const stir::Viewgram< float > &viewgram, int destination) |
sends a Viewgram object More... | |
void | distributed::send_projectors (const stir::shared_ptr< stir::ProjectorByBinPair > &proj_pair_sptr, int destination) |
send or broadcast a projector-pair object More... | |
int | distributed::receive_int_value (int source) |
receives a single integer value More... | |
std::string | distributed::receive_string (int tag, int source) |
receives a string More... | |
void | distributed::receive_and_initialize_projectors (stir::shared_ptr< stir::ProjectorByBinPair > &projector_pair_ptr, int source) |
receives all needed information to subsequently construct a ProjectorByBinPair object More... | |
bool | distributed::receive_bool_value (int tag, int source) |
receives a bool value More... | |
MPI_Status | distributed::receive_int_values (int *values, int count, int tag) |
receives some integer values More... | |
MPI_Status | distributed::receive_double_values (double *values, int count, int tag) |
receives some double values More... | |
MPI_Status | distributed::receive_view_segment_numbers (stir::ViewSegmentNumbers &vs_num, int tag) |
receive a ViewSegmentNumbers object More... | |
void | distributed::receive_and_set_image_parameters (stir::shared_ptr< stir::DiscretisedDensity< 3, float >> &image_ptr, int &buffer, int tag, int source) |
receives the parameters of a DiscretisedDensity object More... | |
MPI_Status | distributed::receive_image_values_and_fill_image_ptr (stir::shared_ptr< stir::DiscretisedDensity< 3, float >> &image_ptr, int buffer_size, int source) |
receives the values of a DiscretisedDensity object More... | |
void | distributed::receive_and_construct_exam_and_proj_data_info_ptr (stir::shared_ptr< stir::ExamInfo > &exam_info_sptr, stir::shared_ptr< stir::ProjDataInfo > &proj_data_info_sptr, int source) |
receives information of ExamInfo and ProjDataInfo objects and constructs new ones from it More... | |
void | distributed::receive_and_construct_related_viewgrams (stir::RelatedViewgrams< float > *&viewgrams, const stir::shared_ptr< stir::ProjDataInfo > &proj_data_info_ptr, const stir::shared_ptr< stir::DataSymmetriesForViewSegmentNumbers > symmetries_sptr, int source) |
receives and constructs a RelatedViewgrams object More... | |
void | distributed::receive_and_construct_viewgram (stir::Viewgram< float > *&viewgram, const stir::shared_ptr< stir::ProjDataInfo > &proj_data_info_ptr, int source) |
receives a Viewgram object More... | |
void | distributed::reduce_received_output_image (stir::DiscretisedDensity< 3, float > *output_image_ptr, int destination) |
the function called by the master to reduce the output image More... | |
void | distributed::reduce_output_image (stir::shared_ptr< stir::DiscretisedDensity< 3, float >> &output_image_ptr, int image_buffer_size, int my_rank, int destination) |
the function called by the slaves to reduce the output image More... | |
Variables | |
int | distributed::length |
int | distributed::processor |
int | distributed::iteration_counter = 0 |
int | distributed::image_buffer_size |
MPI_Status | distributed::status |
float | distributed::parameters [6] |
int | distributed::sizes [6] |
stir::HighResWallClockTimer | distributed::t |
Implementation of functions in distributed namespace.