1 #ifndef __stir_listmode_LmToProjData_H__ 2 #define __stir_listmode_LmToProjData_H__ 194 void set_template_proj_data_info_sptr(shared_ptr<const ProjDataInfo>);
200 shared_ptr<const ProjDataInfo> get_template_proj_data_info_sptr()
const;
204 virtual void set_input_data(
const shared_ptr<ExamData>&);
207 virtual void set_input_data(
const std::string& filename);
214 void set_output_filename_prefix(
const std::string&);
215 std::string get_output_filename_prefix()
const;
219 void set_output_projdata_sptr(shared_ptr<ProjData>&);
221 void set_store_prompts(
bool);
222 bool get_store_prompts()
const;
223 void set_store_delayeds(
bool);
224 bool get_store_delayeds()
const;
227 double get_last_processed_lm_rel_time()
const;
228 void set_num_segments_in_memory(
int);
229 int get_num_segments_in_memory()
const;
230 void set_num_events_to_store(
long int);
231 long int get_num_events_to_store()
const;
242 virtual void process_data()
override;
245 void run_tof_test_function();
255 virtual void start_new_time_frame(
const unsigned int new_frame_num);
258 virtual void process_new_time_event(
const ListTime&);
266 virtual void get_bin_from_event(
Bin& bin,
const ListEvent&)
const;
272 int get_compression_count(
const Bin& bin)
const;
278 void do_post_normalisation(
Bin& bin)
const;
282 void set_defaults()
override;
283 void initialise_keymap()
override;
284 bool post_processing()
override;
289 std::string input_filename;
290 std::string output_filename_prefix;
291 std::string template_proj_data_name;
295 bool do_pre_normalisation;
299 int num_segments_in_memory;
300 int num_timing_poss_in_memory;
301 long int num_events_to_store;
302 int max_segment_num_to_process;
308 shared_ptr<ProjDataInfo> template_proj_data_info_ptr;
shared_ptr< const ProjDataInfo > proj_data_info_cyl_uncompressed_ptr
Internal variable that will be used for pre-normalisation.
Definition: LmToProjData.h:332
bool do_time_frame
variable that will be set according to if we are using time frames or num_events_to_store ...
Definition: LmToProjData.h:337
Class used for storing time frame durations.
Definition: TimeFrameDefinitions.h:38
This class is the abstract base class fir binning listmode data to projection data, i.e. (3d) sinograms.
Definition: LmToProjDataAbstract.h:38
bool interactive
Toggle readable output on stdout or actual projdata.
Definition: LmToProjData.h:306
Declaration of class stir::TimeFrameDefinitions.
This class is used to bin listmode data to projection data, i.e. (3d) sinograms.
Definition: LmToProjData.h:167
Declaration of class stir::ProjDataInfo.
Declaration of class stir::ParsingObject.
shared_ptr< BinNormalisation > post_normalisation_ptr
This will be used for post-normalisation.
Definition: LmToProjData.h:312
int delayed_increment
A variable that will be set to 1,0 or -1, according to store_prompts and store_delayeds.
Definition: LmToProjData.h:339
The base class for reading list mode data.
Definition: ListModeData.h:123
Declaration of class stir::BinNormalisation.
double current_time
stores the time (in secs) recorded in the previous timing event
Definition: LmToProjData.h:325
shared_ptr< BinNormalisation > normalisation_ptr
This will be used for pre-normalisation.
Definition: LmToProjData.h:310
Class for storing and using gamma events from a list mode file.
Definition: ListEvent.h:45
A class for storing coordinates and value of a single projection bin.
Definition: Bin.h:48
shared_ptr< ListModeData > lm_data_ptr
Pointer to the actual data.
Definition: LmToProjData.h:319
bool _already_setup
an internal bool variable to check if the object has been set-up or not
Definition: LmToProjData.h:342
std::string frame_definition_filename
frame definitions
Definition: LmToProjData.h:294
shared_ptr< ProjData > output_proj_data_sptr
This will be used to return the output directly, if set.
Definition: LmToProjData.h:314
Abstract base class for listmode to projection data conversion.
Declaration of class stir::ListModeData.
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition: Succeeded.h:43
TimeFrameDefinitions frame_defs
Time frames.
Definition: LmToProjData.h:322
A class for storing and using a timing record from a listmode file.
Definition: ListTime.h:46
unsigned int current_frame_num
stores the current frame number
Definition: LmToProjData.h:328