|
STIR 6.4.0
|
Declaration of routines which convert CTI things into our building blocks and vice versa. More...
#include "stir/IO/stir_ecat_common.h"#include "stir/NumericType.h"#include "matrix.h"#include <string>#include <iostream>#include "stir/shared_ptr.h"Go to the source code of this file.
Namespaces | |
| namespace | stir |
| Namespace for the STIR library (and some/most of its applications) | |
| namespace | stir::ecat |
| Namespace for the ECAT IO part of the STIR library (and some/most of its applications) | |
| namespace | stir::ecat::ecat7 |
| Namespace for the ECAT7 IO part of the STIR library (and some/most of its applications) | |
Macros | |
| #define | CTISinogram ::Sinogram |
Functions | |
| int | map_main_header (char *bufr, Main_header *header) |
| int | mh_update (MatrixFile *) |
| bool | stir::ecat::ecat7::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: | |
| bool | stir::ecat::ecat7::is_ECAT7_image_file (const std::string &filename) |
| checks if the file is in ECAT6 format and if the file contains images | |
| bool | stir::ecat::ecat7::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 | stir::ecat::ecat7::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 | stir::ecat::ecat7::read_ECAT7_main_header (Main_header &mhead, const std::string &filename) |
| read an ECAT7 main header from a file | |
| void | stir::ecat::ecat7::find_scanner (shared_ptr< Scanner > &scanner_ptr, const Main_header &mhead) |
| determine scanner type from the main_header | |
| Succeeded | stir::ecat::ecat7::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 | stir::ecat::ecat7::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. | |
| Succeeded | stir::ecat::ecat7::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. | |
| Succeeded | stir::ecat::ecat7::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. | |
| shared_ptr< ExamInfo > | stir::ecat::ecat7::read_ECAT7_exam_info (MatrixFile *mptr) |
| read ExamInfo from an ECAT7 MatrixFile object | |
| shared_ptr< ExamInfo > | stir::ecat::ecat7::read_ECAT7_exam_info (const std::string &filename) |
| read ExamInfo from an ECAT7 file | |
| void | stir::ecat::ecat7::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 | stir::ecat::ecat7::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. | |
| NumericType | stir::ecat::ecat7::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. | |
| void | stir::ecat::ecat7::make_subheader_for_ECAT7 (Attn_subheader &shead, const Main_header &mhead, const ProjDataInfo &proj_data_info) |
| Fill in most of the subheader. | |
| void | stir::ecat::ecat7::make_subheader_for_ECAT7 (Scan3D_subheader &shead, const Main_header &mhead, const ProjDataInfo &proj_data_info) |
| Fill in most of the subheader. | |
| ProjDataFromStream * | stir::ecat::ecat7::make_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. | |
| Succeeded | stir::ecat::ecat7::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. | |
| VoxelsOnCartesianGrid< float > * | stir::ecat::ecat7::ECAT7_to_VoxelsOnCartesianGrid (const std::string &ECAT7_filename, const int frame_num, const int gate_num, const int data_num, const int bed_num) |
| ProjDataFromStream * | stir::ecat::ecat7::ECAT7_to_PDFS (const std::string &ECAT7_filename, const int frame_num, const int gate_num, const int data_num, const int bed_num) |
Declaration of routines which convert CTI things into our building blocks and vice versa.