STIR  6.2.0
Classes | Functions
stir::ecat::ecat7 Namespace Reference

Namespace for the ECAT7 IO part of the STIR library (and some/most of its applications) More...

Classes

class  BinNormalisationFromECAT7
 A BinNormalisation class that gets the normalisation factors from an ECAT7 3D normalisation file. More...
 
class  CListEventDataECAT962
 Class for storing and using a coincidence event from a listmode file. More...
 
class  CListEventDataECAT966
 Class for decoding storing and using a raw coincidence event from a listmode file from the ECAT 966 scanner. More...
 
class  CListEventECAT966
 Class for storing and using a coincidence event from a listmode file from the ECAT 966 scanner. More...
 
class  CListModeDataECAT
 A class that reads the listmode data for ECAT scanners. More...
 
class  CListRecordECAT962
 A class for a general element of a listmode file. More...
 
class  CListRecordECAT966
 A class for a general element of a listmode file. More...
 
class  CListTimeDataECAT962
 A class for storing and using a timing 'event' from a listmode file. More...
 
class  CListTimeDataECAT966
 A class for decoding a raw timing 'event' from a listmode file from the ECAT 966 scanner. More...
 
class  CListTimeECAT966
 A class for storing and using a timing 'event' from a listmode file from the ECAT 966 scanner. More...
 
class  ECAT7DynamicDiscretisedDensityInputFileFormat
 Class for reading images in ECAT7 file-format. More...
 
class  ECAT7DynamicDiscretisedDensityOutputFileFormat
 Implementation of OutputFileFormat paradigm for the ECAT7 format. More...
 
class  ECAT7ImageInputFileFormat
 Class for reading images in ECAT7 file-format. More...
 
class  ECAT7OutputFileFormat
 Implementation of OutputFileFormat paradigm for the ECAT7 format. More...
 
class  ECAT7ParametricDensityOutputFileFormat
 Implementation of OutputFileFormat paradigm for the ECAT7 format. More...
 
class  ECAT962ListmodeInputFileFormat
 Class for reading list mode data from the ECAT 962 scanner. More...
 
class  ECAT966ListmodeInputFileFormat
 Class for reading list mode data from the ECAT 966 scanner. More...
 
class  SinglesRatesFromECAT7
 A class that extracts singles info from an ECAT7 sinogram file. More...
 
class  SinglesRatesFromSglFile
 A class for reading/writing singles from an ECAT7 .sgl file. More...
 

Functions

bool is_ECAT7_file (const std::string &filename)
 checks if the file is in ECAT7 formatThis partly relies on the implementation of matrix_open in the LLN matrix library. Additional checks are made on the main header. Current checks are: More...
 
bool is_ECAT7_image_file (const std::string &filename)
 checks if the file is in ECAT6 format and if the file contains images
 
bool is_ECAT7_emission_file (const std::string &filename)
 checks if the file is in ECAT6 format and if the file contains emission sinograms (or blank/transmision)
 
bool is_ECAT7_attenuation_file (const std::string &filename)
 checks if the file is in ECAT6 format and if the file contains attenuation correction factors
 
Succeeded read_ECAT7_main_header (Main_header &mhead, const std::string &filename)
 read an ECAT7 main header from a file
 
void find_scanner (shared_ptr< Scanner > &scanner_ptr, const Main_header &mhead)
 determine scanner type from the main_header More...
 
Succeeded DiscretisedDensity_to_ECAT7 (DiscretisedDensity< 3, float > const &density, std::string const &cti_name, std::string const &orig_name, const Scanner &scanner, const int frame_num=1, const int gate_num=1, const int data_num=0, const int bed_num=0)
 Create a new ECAT7 image file and write the data in there.
 
Succeeded DiscretisedDensity_to_ECAT7 (MatrixFile *mptr, DiscretisedDensity< 3, float > const &density, const int frame_num=1, const int gate_num=1, const int data_num=0, const int bed_num=0)
 Write an (extra) image to an existing ECAT7 file. More...
 
Succeeded ProjData_to_ECAT7 (ProjData const &proj_data, NumericType output_type, std::string const &cti_name, std::string const &orig_name, const int frame_num=1, const int gate_num=1, const int data_num=0, const int bed_num=0, const bool write_as_attenuation=false, float scale_factor=0.0F)
 Create a new ECAT7 sinogram file and write the data in there. More...
 
Succeeded ProjData_to_ECAT7 (MatrixFile *mptr, ProjData const &proj_data, const int frame_num=1, const int gate_num=1, const int data_num=0, const int bed_num=0, float scale_factor=0.0F)
 Write an (extra) set of sinograms to an existing ECAT7 file. More...
 
shared_ptr< ExamInforead_ECAT7_exam_info (MatrixFile *mptr)
 read ExamInfo from an ECAT7 MatrixFile object More...
 
shared_ptr< ExamInforead_ECAT7_exam_info (const std::string &filename)
 read ExamInfo from an ECAT7 file More...
 
void make_ECAT7_main_header (Main_header &, const Scanner &, const std::string &orig_name, ExamInfo const &exam_info)
 Fill in most of the main header given a Scanner object and orig_name.
 
void make_ECAT7_main_header (Main_header &mhead, Scanner const &scanner, const std::string &orig_name, DiscretisedDensity< 3, float > const &density)
 Fill in most of the main header given a Scanner object and orig_name and an image. More...
 
NumericType make_ECAT7_main_header (Main_header &mhead, const std::string &orig_name, ExamInfo const &exam_info, ProjDataInfo const &proj_data_info, const bool write_as_attenuation=false, NumericType output_type=NumericType::FLOAT)
 Fill in most of the main header given an orig_name and a proj_data_info. More...
 
void make_subheader_for_ECAT7 (Attn_subheader &shead, const Main_header &mhead, const ProjDataInfo &proj_data_info)
 Fill in most of the subheader. More...
 
void make_subheader_for_ECAT7 (Scan3D_subheader &shead, const Main_header &mhead, const ProjDataInfo &proj_data_info)
 Fill in most of the subheader. More...
 
ProjDataFromStreammake_pdfs_from_matrix (MatrixFile *const mptr, MatrixData *const matrix, const shared_ptr< std::iostream > &stream_ptr)
 Make a ProjDataFromStream object that 'points' into an ECAT7 file. More...
 
Succeeded write_basic_interfile_header_for_ECAT7 (std::string &interfile_header_name, const std::string &ECAT7_filename, const int frame_num, const int gate_num, const int data_num, const int bed_num)
 Writes an Interfile header that 'points' into an ECAT7 file. More...
 
VoxelsOnCartesianGrid< float > * ECAT7_to_VoxelsOnCartesianGrid (const std::string &ECAT7_filename, const int frame_num, const int gate_num, const int data_num, const int bed_num)
 
ProjDataFromStreamECAT7_to_PDFS (const std::string &ECAT7_filename, const int frame_num, const int gate_num, const int data_num, const int bed_num)
 
short find_ECAT_data_type (const NumericType &type, const ByteOrder &byte_order)
 
void scan_subheader_zero_fill (Scan3D_subheader &shead)
 
void scan_subheader_zero_fill (Attn_subheader &shead)
 
void img_subheader_zero_fill (Image_subheader &ihead)
 
ProjDataFromStreammake_pdfs_from_matrix (MatrixFile *const mptr, MatrixData *const matrix, const shared_ptr< iostream > &stream_ptr)
 
Succeeded update_ECAT7_subheader (MatrixFile *mptr, Scan_subheader &shead, const MatDir &matdir)
 
Succeeded update_ECAT7_subheader (MatrixFile *mptr, Norm_subheader &shead, const MatDir &matdir)
 
Succeeded update_ECAT7_subheader (MatrixFile *mptr, Image_subheader &shead, const MatDir &matdir)
 
Succeeded update_ECAT7_subheader (MatrixFile *mptr, Attn_subheader &shead, const MatDir &matdir)
 
Succeeded update_ECAT7_subheader (MatrixFile *mptr, Scan3D_subheader &shead, const MatDir &matdir)
 
template<class SUBHEADER_TYPE >
Succeeded update_ECAT7_subheader (MatrixFile *mptr, SUBHEADER_TYPE &shead, const int frame_num, const int gate_num, const int data_num, const int bed_num)
 
 BOOST_STATIC_ASSERT (sizeof(CListTimeDataECAT966)==4)
 
 BOOST_STATIC_ASSERT (sizeof(CListEventDataECAT966)==4)
 
 BOOST_STATIC_ASSERT (sizeof(CListTimeDataECAT962)==4)
 
 BOOST_STATIC_ASSERT (sizeof(CListEventDataECAT962)==4)
 

Detailed Description

Namespace for the ECAT7 IO part of the STIR library (and some/most of its applications)

This namespace is only non-empty when the HAVE_LLN_MATRIX preprocessor symbol is defined during compilation.

Function Documentation

◆ read_ECAT7_exam_info() [1/2]

shared_ptr< ExamInfo > stir::ecat::ecat7::read_ECAT7_exam_info ( MatrixFile *  mptr)

read ExamInfo from an ECAT7 MatrixFile object

This includes time frame definitions, patient_position and scan_start.

References stir::warning().

Referenced by read_ECAT7_exam_info(), and stir::TimeFrameDefinitions::TimeFrameDefinitions().

◆ read_ECAT7_exam_info() [2/2]

shared_ptr< ExamInfo > stir::ecat::ecat7::read_ECAT7_exam_info ( const std::string &  filename)

read ExamInfo from an ECAT7 file

open the file and calls read_ECAT7_exam_info(MatrixFile*)

References stir::error(), and read_ECAT7_exam_info().