20#ifndef __stir_recon_buildblock_ProjMatrixByBinFromFile__
21#define __stir_recon_buildblock_ProjMatrixByBinFromFile__
33template <
int num_dimensions,
typename elemT>
34class DiscretisedDensity;
91 void set_up(
const shared_ptr<const ProjDataInfo>& proj_data_info_ptr,
98 std::string parsed_version;
99 std::string template_density_filename;
100 std::string template_proj_data_filename;
101 std::string data_filename;
103 std::string symmetries_type;
105 bool do_symmetry_90degrees_min_phi;
106 bool do_symmetry_180degrees_min_phi;
107 bool do_symmetry_swap_segment;
108 bool do_symmetry_swap_s;
109 bool do_symmetry_shift_z;
117 shared_ptr<const ProjDataInfo> proj_data_info_ptr;
121 void set_defaults()
override;
122 void initialise_keymap()
override;
123 bool post_processing()
override;
defines the stir::CartesianCoordinate3D<coordT> class
This file defines the stir::IndexRange class.
Declaration of class stir::ProjDataInfo.
declaration of stir::ProjMatrixByBin and its helpers classes
Declaration of class stir::RegisteredParsingObject.
a templated class for 3-dimensional coordinates.
Definition CartesianCoordinate3D.h:53
This abstract class is the basis for all image representations.
Definition DiscretisedDensity.h:99
This class defines ranges which can be 'irregular'.
Definition IndexRange.h:69
ProjMatrixByBinFromFile()
Default constructor (calls set_defaults())
Definition ProjMatrixByBinFromFile.cxx:50
static const char *const registered_name
Name which will be used when parsing a ProjMatrixByBin object.
Definition ProjMatrixByBinFromFile.h:75
void set_up(const shared_ptr< const ProjDataInfo > &proj_data_info_ptr, const shared_ptr< const DiscretisedDensity< 3, float > > &density_info_ptr) override
Checks all necessary geometric info.
Definition ProjMatrixByBinFromFile.cxx:169
static Succeeded write_to_file(const std::string &output_filename_prefix, const ProjMatrixByBin &proj_matrix, const shared_ptr< const ProjDataInfo > &proj_data_info_sptr, const DiscretisedDensity< 3, float > &template_density)
Writes a projection matrix to file in a format such that this class can read it back.
Definition ProjMatrixByBinFromFile.cxx:333
This is the (abstract) base class for all projection matrices which are organised by 'bin'.
Definition ProjMatrixByBin.h:79
shared_ptr< const ProjDataInfo > proj_data_info_sptr
We need a local copy of the proj_data_info to get the integration boundaries and RayTracing.
Definition ProjMatrixByBin.h:192
This stores the non-zero projection matrix elements for every 'densel' that contributes to a given bi...
Definition ProjMatrixElemsForOneBin.h:69
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files.
Definition RegisteredParsingObject.h:78
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition Succeeded.h:44
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast into the stir names...