4#ifndef __stir_gpu_ForwardProjectorByBinParallelproj_h__
5#define __stir_gpu_ForwardProjectorByBinParallelproj_h__
30class ProjDataInMemory;
31class DataSymmetriesForViewSegmentNumbers;
34class ParallelprojHelper;
67 void set_up(
const shared_ptr<const ProjDataInfo>& proj_data_info_ptr,
81 void set_verbosity(
const bool verbosity) { _cuda_verbosity = verbosity; }
84 void set_num_gpu_chunks(
int num_gpu_chunks) { _num_gpu_chunks = num_gpu_chunks; }
85 int get_num_gpu_chunks() {
return _num_gpu_chunks; }
87 bool get_restrict_to_cylindrical_FOV()
const;
88 void set_restrict_to_cylindrical_FOV(
bool val);
91 void actual_forward_project(RelatedViewgrams<float>& viewgrams,
92 const int min_axial_pos_num,
93 const int max_axial_pos_num,
94 const int min_tangential_pos_num,
95 const int max_tangential_pos_num)
override;
98 shared_ptr<DataSymmetriesForViewSegmentNumbers> _symmetries_sptr;
99 shared_ptr<ProjDataInMemory> _projected_data_sptr;
100 shared_ptr<detail::ParallelprojHelper> _helper;
101 bool _do_not_setup_helper;
102 friend class ProjectorByBinPairUsingParallelproj;
103 void set_helper(shared_ptr<detail::ParallelprojHelper>);
104 bool _cuda_verbosity;
105 bool _restrict_to_cylindrical_FOV;
Base class for forward projectors which work on 'large' collections of bins: given the whole image,...
Declaration of class stir::RegisteredParsingObject.
A class for encoding/finding symmetries. Works only on ViewSegmentNumbers (instead of Bin).
Definition DataSymmetriesForViewSegmentNumbers.h:50
This abstract class is the basis for all image representations.
Definition DiscretisedDensity.h:99
void set_input(const DiscretisedDensity< 3, float > &) override
Set input.
Definition ForwardProjectorByBinParallelproj.cxx:160
static const char *const registered_name
Name which will be used when parsing a ForwardProjectorByBin object.
Definition ForwardProjectorByBinParallelproj.h:45
void set_verbosity(const bool verbosity)
Set verbosity.
Definition ForwardProjectorByBinParallelproj.h:81
void set_up(const shared_ptr< const ProjDataInfo > &proj_data_info_ptr, const shared_ptr< const DiscretisedDensity< 3, float > > &density_info_sptr) override
Stores all necessary geometric info.
Definition ForwardProjectorByBinParallelproj.cxx:106
ForwardProjectorByBinParallelproj()
Default constructor calls reset_timers()
Definition ForwardProjectorByBinParallelproj.cxx:56
const DataSymmetriesForViewSegmentNumbers * get_symmetries_used() const override
Symmetries not used, so returns TrivialDataSymmetriesForBins.
Definition ForwardProjectorByBinParallelproj.cxx:120
void initialise_keymap() override
Keymap.
Definition ForwardProjectorByBinParallelproj.cxx:69
void set_defaults() override
set defaults
Definition ForwardProjectorByBinParallelproj.cxx:79
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files.
Definition RegisteredParsingObject.h:78