STIR
6.2.0
|
A class that reads the listmode data for Siemens scanners. More...
#include "stir/listmode/CListModeDataECAT8_32bit.h"
Public Member Functions | |
CListModeDataECAT8_32bit (const std::string &listmode_filename_prefix) | |
Construct fron the filename of the Interfile header. | |
std::string | get_name () const override |
Returns the name of the list mode data. More... | |
shared_ptr< CListRecord > | get_empty_record_sptr () const override |
Get a pointer to an empty record. More... | |
Succeeded | get_next_record (CListRecord &record) const override |
Gets the next record in the listmode sequence. | |
Succeeded | reset () override |
Call this function if you want to re-start reading at the beginning. | |
SavedPosition | save_get_position () override |
Save the current reading position. More... | |
Succeeded | set_get_position (const SavedPosition &) override |
Set the position for reading to a previously saved point. | |
bool | has_delayeds () const override |
returns true , as ECAT listmode data stores delayed events (and prompts) More... | |
Public Member Functions inherited from stir::ListModeData | |
ListModeData () | |
Default constructor. | |
shared_ptr< ListRecord > | get_empty_record_sptr () const |
Get a pointer to an empty record. More... | |
virtual Succeeded | get_next_record (ListRecord &event) const |
Gets the next record in the listmode sequence. | |
const Scanner & | get_scanner () const |
Get reference to scanner. More... | |
virtual unsigned long int | get_total_number_of_events () const |
Returns the total number of events in the listmode file. More... | |
virtual shared_ptr< const ProjDataInfo > | get_proj_data_info_sptr () const |
Public Member Functions inherited from stir::ExamData | |
ExamData () | |
ExamData. More... | |
ExamData (const shared_ptr< const ExamInfo > &_this_exam) | |
virtual const ExamInfo & | get_exam_info () const |
virtual shared_ptr< const ExamInfo > | get_exam_info_sptr () const |
Get shared pointer to exam info. | |
virtual void | set_exam_info (ExamInfo const &) |
change exam info More... | |
void | set_exam_info_sptr (shared_ptr< const ExamInfo > new_exam_info_sptr) |
Additional Inherited Members | |
Public Types inherited from stir::ListModeData | |
typedef ListModeData | hierarchy_base_type |
typedef used by read_from_file | |
typedef unsigned int | SavedPosition |
Use this typedef for save/set_get_position. | |
Protected Member Functions inherited from stir::CListModeData | |
shared_ptr< ListRecord > | get_empty_record_helper_sptr () const override |
Succeeded | get_next (ListRecord &event) const override |
Protected Member Functions inherited from stir::ListModeData | |
virtual void | set_proj_data_info_sptr (shared_ptr< const ProjDataInfo >) |
Protected Attributes inherited from stir::ListModeData | |
shared_ptr< const ProjDataInfo > | proj_data_info_sptr |
Has to be set by the derived class. More... | |
Protected Attributes inherited from stir::ExamData | |
shared_ptr< const ExamInfo > | exam_info_sptr |
A class that reads the listmode data for Siemens scanners.
This file format is currently used by the Siemens Biograph PET/CT and mMR scanners. There's an Interfile-like header and a binary file with the actual list mode data. The name of the binary file is given by the value of the "name of data file" keyword in the header.
Currently, the class only supports the 32bit version of the list mode format, see http://usa.healthcare.siemens.com/siemens_hwem-hwem_ssxa_websites-context-root/wcm/idc/groups/public/@us/@imaging/@molecular/documents/download/mdax/mjky/~edisp/petlink_guideline_j1-00672485.pdf
|
overridevirtual |
Returns the name of the list mode data.
This name is not necessarily unique, and might be empty. However, it is expected (but not guaranteed) that ListModeData::read_from_file(lm_data_ptr->get_name())
would read the same list mode data.
The reason this cannot be guaranteed is largely in case the list mode data is not really on disk, but the object corresponds for instance to a Monte Carlo simulator.
Implements stir::ListModeData.
|
overridevirtual |
Get a pointer to an empty record.
This is mainly/only useful to get a record of the correct type, that can then be passed to get_next_record().
Implements stir::CListModeData.
References stir::get_directory_name(), stir::ByteOrder::get_native_order(), stir::info(), stir::ByteOrder::little_endian, stir::max_filename_length, stir::prepend_directory_name(), and stir::warning().
|
overridevirtual |
Save the current reading position.
Note that the return value is not related to the number of events already read. In particular, you cannot do any arithmetic on it to skip a few events. This is different from e.g. std::streampos.
Implements stir::ListModeData.
|
inlineoverridevirtual |
returns true
, as ECAT listmode data stores delayed events (and prompts)
Implements stir::CListModeData.