19 #ifndef __stir_recon_buildblock_ProjMatrixByBinSPECTUB__ 20 #define __stir_recon_buildblock_ProjMatrixByBinSPECTUB__ 30 #include "stir/recon_buildblock/SPECTUB_Tools.h" 34 template <
int num_dimensions,
typename elemT>
35 class DiscretisedDensity;
95 void set_up(
const shared_ptr<const ProjDataInfo>& proj_data_info_ptr,
99 bool get_keep_all_views_in_cache()
const;
106 void set_keep_all_views_in_cache(
bool value =
true);
107 std::string get_attenuation_type()
const;
113 void set_attenuation_type(
const std::string& value);
114 shared_ptr<const DiscretisedDensity<3, float>> get_attenuation_image_sptr()
const;
124 void set_attenuation_image_sptr(
const std::string& value);
141 void set_resolution_model(
const float collimator_sigma_0_in_mm,
const float collimator_slope_in_mm,
const bool full_3D =
true);
150 float minimum_weight;
151 float maximum_number_of_sigmas;
152 float spatial_resolution_PSF;
153 std::string psf_type;
154 float collimator_sigma_0;
155 float collimator_slope;
156 std::string attenuation_type;
157 std::string attenuation_map;
158 std::string mask_type;
159 std::string mask_file;
160 bool keep_all_views_in_cache;
167 shared_ptr<const ProjDataInfo> proj_data_info_ptr;
177 void set_defaults()
override;
178 void initialise_keymap()
override;
179 bool post_processing()
override;
181 shared_ptr<const DiscretisedDensity<3, float>> attenuation_image_sptr;
205 void compute_one_subset(
const int kOS,
const float* Rrad)
const;
206 void delete_UB_SPECT_arrays();
207 mutable std::vector<bool> subset_already_processed;
structure for voxel information
Definition: SPECTUB_Tools.h:265
Declaration of class stir::ProjDataInfo.
complementary information (matrix header)
Definition: SPECTUB_Tools.h:109
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast (or corresponding b...
static const char *const registered_name
Name which will be used when parsing a ProjMatrixByBin object.
Definition: ProjMatrixByBinSPECTUB.h:83
structure for projection information
Definition: SPECTUB_Tools.h:81
declaration of stir::ProjMatrixByBin and its helpers classes
structure for bin information
Definition: SPECTUB_Tools.h:50
structure to store angles values, indices and ratios
Definition: SPECTUB_Tools.h:233
generates projection matrix for SPECT studies
Definition: ProjMatrixByBinSPECTUB.h:79
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files...
Definition: RegisteredParsingObject.h:77
weight_mat_da structure definition. Structure for generating weight matrix
Definition: SPECTUB_Tools.h:162
This file defines the stir::IndexRange class.
This stores the non-zero projection matrix elements for every 'densel' that contributes to a given bi...
Definition: ProjMatrixElemsForOneBin.h:68
defines the stir::CartesianCoordinate3D<coordT> class
Declaration of class stir::RegisteredParsingObject.
structure for distribution function information
Definition: SPECTUB_Tools.h:190
structure for bin information
Definition: SPECTUB_Tools.h:290