#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <ctype.h>
#include <string.h>
#include <unistd.h>
#include <time.h>
#include <swap.h>
#include <datetime.h>
#include "include/ecat7.h"
Go to the source code of this file.
Functions | |
void | ecat7PrintMainheader (ECAT7_mainheader *h, FILE *fp) |
void | ecat7PrintImageheader (ECAT7_imageheader *h, FILE *fp) |
void | ecat7PrintScanheader (ECAT7_scanheader *h, FILE *fp) |
void | ecat7PrintAttenheader (ECAT7_attenheader *h, FILE *fp) |
void | ecat7PrintPolmapheader (ECAT7_polmapheader *h, FILE *fp) |
void | ecat7PrintNormheader (ECAT7_normheader *h, FILE *fp) |
void | ecat7Print2DScanheader (ECAT7_2Dscanheader *h, FILE *fp) |
void | ecat7Print2DNormheader (ECAT7_2Dnormheader *h, FILE *fp) |
char * | ecat7filetype (short int file_type) |
char * | ecat7acquisitiontype (short int acquisition_type) |
char * | ecat7datatype (short int data_type) |
int | ecat7PrintSubheader (ECAT7_mainheader mh, FILE *fp, int plane, int frame, FILE *ofp) |
char* ecat7acquisitiontype | ( | short int | acquisition_type | ) |
Returns pointer to a string describing the ECAT7 acquisition_type
acquisition_type | acquisition type code |
Definition at line 498 of file ecat7p.c.
Referenced by ecat7PrintMainheader().
char* ecat7datatype | ( | short int | data_type | ) |
Returns pointer to a string describing the ECAT7 data_type
data_type | data type code |
Definition at line 517 of file ecat7p.c.
Referenced by ecat7Print2DNormheader(), ecat7Print2DScanheader(), ecat7PrintAttenheader(), ecat7PrintImageheader(), ecat7PrintNormheader(), ecat7PrintPolmapheader(), and ecat7PrintScanheader().
char* ecat7filetype | ( | short int | file_type | ) |
Returns pointer to a string describing the ECAT7 file_type
file_type | file type code |
Definition at line 479 of file ecat7p.c.
Referenced by ecat7PrintMainheader(), and imgRead().
void ecat7Print2DNormheader | ( | ECAT7_2Dnormheader * | h, |
FILE * | fp | ||
) |
Print ECAT 7.x 2D normalization header contents to specified file pointer
h | Ecat7 2D normalization header |
fp | target file pointer |
Definition at line 447 of file ecat7p.c.
References ecat7_2Dnormheader::data_type, ECAT7_TEST, ecat7datatype(), ecat7_2Dnormheader::fov_source_width, ecat7_2Dnormheader::norm_max, ecat7_2Dnormheader::norm_min, ecat7_2Dnormheader::norm_quality_factor, ecat7_2Dnormheader::norm_quality_factor_code, ecat7_2Dnormheader::num_angles, ecat7_2Dnormheader::num_dimensions, ecat7_2Dnormheader::num_r_elements, ecat7_2Dnormheader::num_z_elements, ecat7_2Dnormheader::ring_difference, ecat7_2Dnormheader::scale_factor, ecat7_2Dnormheader::span, ecat7_2Dnormheader::storage_order, and ecat7_2Dnormheader::z_elements.
Referenced by ecat7PrintSubheader().
void ecat7Print2DScanheader | ( | ECAT7_2Dscanheader * | h, |
FILE * | fp | ||
) |
Print ECAT 7.x 2D sinogram header contents to specified file pointer
h | Ecat7 2D scan header |
fp | target file pointer |
Definition at line 396 of file ecat7p.c.
References ecat7_2Dscanheader::cor_singles, ecat7_2Dscanheader::corrections_applied, ecat7_2Dscanheader::data_type, ecat7_2Dscanheader::deadtime_correction_factor, ecat7_2Dscanheader::delayed, ECAT7_TEST, ecat7datatype(), ecat7_2Dscanheader::frame_duration, ecat7_2Dscanheader::frame_start_time, ecat7_2Dscanheader::gate_duration, ecat7_2Dscanheader::multiples, ecat7_2Dscanheader::net_trues, ecat7_2Dscanheader::num_accepted_beats, ecat7_2Dscanheader::num_angles, ecat7_2Dscanheader::num_dimensions, ecat7_2Dscanheader::num_r_elements, ecat7_2Dscanheader::num_z_elements, ecat7_2Dscanheader::physical_planes, ecat7_2Dscanheader::prompts, ecat7_2Dscanheader::r_wave_offset, ecat7_2Dscanheader::ring_difference, ecat7_2Dscanheader::scale_factor, ecat7_2Dscanheader::scan_max, ecat7_2Dscanheader::scan_min, ecat7_2Dscanheader::tot_avg_cor, ecat7_2Dscanheader::tot_avg_uncor, ecat7_2Dscanheader::total_coin_rate, ecat7_2Dscanheader::uncor_singles, ecat7_2Dscanheader::w_resolution, ecat7_2Dscanheader::x_resolution, ecat7_2Dscanheader::y_resolution, and ecat7_2Dscanheader::z_resolution.
Referenced by ecat7PrintSubheader(), and ecat7Read2DScanMatrix().
void ecat7PrintAttenheader | ( | ECAT7_attenheader * | h, |
FILE * | fp | ||
) |
Print ECAT 7.x attenuation header contents to specified file pointer
h | Ecat7 attenuation header |
fp | target file pointer |
Definition at line 264 of file ecat7p.c.
References ecat7_attenheader::additional_atten_coeff, ecat7_attenheader::attenuation_coeff, ecat7_attenheader::attenuation_max, ecat7_attenheader::attenuation_min, ecat7_attenheader::attenuation_type, ecat7_attenheader::data_type, ECAT7_TEST, ecat7datatype(), ecat7_attenheader::edge_finding_threshold, ecat7_attenheader::num_additional_atten_coeff, ecat7_attenheader::num_angles, ecat7_attenheader::num_dimensions, ecat7_attenheader::num_r_elements, ecat7_attenheader::num_z_elements, ecat7_attenheader::ring_difference, ecat7_attenheader::scale_factor, ecat7_attenheader::skull_thickness, ecat7_attenheader::span, ecat7_attenheader::storage_order, ecat7_attenheader::tilt_angle, ecat7_attenheader::w_resolution, ecat7_attenheader::x_offset, ecat7_attenheader::x_radius, ecat7_attenheader::x_resolution, ecat7_attenheader::y_offset, ecat7_attenheader::y_radius, ecat7_attenheader::y_resolution, ecat7_attenheader::z_elements, and ecat7_attenheader::z_resolution.
Referenced by ecat7PrintSubheader().
void ecat7PrintImageheader | ( | ECAT7_imageheader * | h, |
FILE * | fp | ||
) |
Print ECAT 7.x image header contents to specified file pointer.
h | Ecat7 image header |
fp | target file pointer |
Definition at line 137 of file ecat7p.c.
References ecat7_imageheader::annotation, ecat7_imageheader::data_type, ecat7_imageheader::decay_corr_fctr, ECAT7_TEST, ecat7datatype(), ecat7_imageheader::fill_cti, ecat7_imageheader::fill_user, ecat7_imageheader::filter_code, ecat7_imageheader::filter_cutoff_frequency, ecat7_imageheader::filter_order, ecat7_imageheader::filter_ramp_slope, ecat7_imageheader::filter_resolution, ecat7_imageheader::filter_scatter_fraction, ecat7_imageheader::filter_scatter_slope, ecat7_imageheader::frame_duration, ecat7_imageheader::frame_start_time, ecat7_imageheader::gate_duration, ecat7_imageheader::image_max, ecat7_imageheader::image_min, ecat7_imageheader::mt_1_1, ecat7_imageheader::mt_1_2, ecat7_imageheader::mt_1_3, ecat7_imageheader::mt_1_4, ecat7_imageheader::mt_2_1, ecat7_imageheader::mt_2_2, ecat7_imageheader::mt_2_3, ecat7_imageheader::mt_2_4, ecat7_imageheader::mt_3_1, ecat7_imageheader::mt_3_2, ecat7_imageheader::mt_3_3, ecat7_imageheader::mt_3_4, ecat7_imageheader::num_accepted_beats, ecat7_imageheader::num_angles, ecat7_imageheader::num_dimensions, ecat7_imageheader::num_r_elements, ecat7_imageheader::processing_code, ecat7_imageheader::r_wave_offset, ecat7_imageheader::recon_type, ecat7_imageheader::recon_views, ecat7_imageheader::recon_zoom, ecat7_imageheader::rfilter_code, ecat7_imageheader::rfilter_cutoff, ecat7_imageheader::rfilter_order, ecat7_imageheader::rfilter_resolution, ecat7_imageheader::scale_factor, ecat7_imageheader::scatter_type, ecat7_imageheader::x_dimension, ecat7_imageheader::x_offset, ecat7_imageheader::x_pixel_size, ecat7_imageheader::x_resolution, ecat7_imageheader::y_dimension, ecat7_imageheader::y_offset, ecat7_imageheader::y_pixel_size, ecat7_imageheader::y_resolution, ecat7_imageheader::z_dimension, ecat7_imageheader::z_offset, ecat7_imageheader::z_pixel_size, ecat7_imageheader::z_resolution, ecat7_imageheader::z_rotation_angle, ecat7_imageheader::zfilter_code, ecat7_imageheader::zfilter_cutoff, ecat7_imageheader::zfilter_order, and ecat7_imageheader::zfilter_resolution.
Referenced by ecat7PrintSubheader(), and ecat7ReadImageMatrix().
void ecat7PrintMainheader | ( | ECAT7_mainheader * | h, |
FILE * | fp | ||
) |
Print ECAT 7.x main header contents to specified file pointer
h | Ecat7 main header |
fp | target file pointer |
Definition at line 49 of file ecat7p.c.
References ecat7_mainheader::acquisition_mode, ecat7_mainheader::acquisition_type, ecat7_mainheader::angular_compression, ecat7_mainheader::axial_samp_mode, ecat7_mainheader::bed_elevation, ecat7_mainheader::bed_position, ecat7_mainheader::bin_size, ecat7_mainheader::branching_fraction, ecat7_mainheader::calibration_units, ecat7_mainheader::calibration_units_label, ecat7_mainheader::coin_samp_mode, ecat7_mainheader::compression_code, ecat7_mainheader::data_units, ecat7_mainheader::distance_scanned, ecat7_mainheader::dosage, ecat7_mainheader::dose_start_time, ECAT7_TEST, ecat7acquisitiontype(), ecat7filetype(), ecat7_mainheader::ecat_calibration_factor, ecat7_mainheader::facility_name, ecat7_mainheader::file_type, ecat7_mainheader::fill_cti, ecat7_mainheader::gantry_rotation, ecat7_mainheader::gantry_tilt, ecat7_mainheader::init_bed_position, ecat7_mainheader::intrinsic_tilt, ecat7_mainheader::isotope_halflife, ecat7_mainheader::isotope_name, ecat7_mainheader::lwr_sctr_thres, ecat7_mainheader::lwr_true_thres, ecat7_mainheader::magic_number, ecat7_mainheader::num_bed_pos, ecat7_mainheader::num_frames, ecat7_mainheader::num_gates, ecat7_mainheader::num_planes, ecat7_mainheader::operator_name, ecat7_mainheader::original_file_name, ecat7_mainheader::patient_age, ecat7_mainheader::patient_birth_date, ecat7_mainheader::patient_dexterity, ecat7_mainheader::patient_height, ecat7_mainheader::patient_id, ecat7_mainheader::patient_name, ecat7_mainheader::patient_orientation, ecat7_mainheader::patient_sex, ecat7_mainheader::patient_weight, ecat7_mainheader::physician_name, ecat7_mainheader::plane_separation, ecat7_mainheader::radiopharmaceutical, ecat7_mainheader::scan_start_time, ecat7_mainheader::septa_state, ecat7_mainheader::serial_number, ecat7_mainheader::study_description, ecat7_mainheader::study_type, ecat7_mainheader::sw_version, ecat7_mainheader::system_type, ecat7_mainheader::transaxial_fov, ecat7_mainheader::transm_source_type, ecat7_mainheader::upr_true_thres, ecat7_mainheader::user_process_code, ecat7_mainheader::well_counter_corr_factor, and ecat7_mainheader::wobble_speed.
void ecat7PrintNormheader | ( | ECAT7_normheader * | h, |
FILE * | fp | ||
) |
Prints ECAT 7.x normalization header contents to specified file pointer
h | Ecat7 normalization header |
fp | tager file pointer |
Definition at line 359 of file ecat7p.c.
References ecat7_normheader::crystal_dtcor, ecat7_normheader::crystals_per_ring, ecat7_normheader::data_type, ECAT7_TEST, ecat7datatype(), ecat7_normheader::lld, ecat7_normheader::max_ring_diff, ecat7_normheader::norm_quality_factor, ecat7_normheader::norm_quality_factor_code, ecat7_normheader::num_crystal_rings, ecat7_normheader::num_geo_corr_planes, ecat7_normheader::num_r_elements, ecat7_normheader::num_transaxial_crystals, ecat7_normheader::ring_dtcor1, ecat7_normheader::ring_dtcor2, ecat7_normheader::scatter_energy, ecat7_normheader::span, and ecat7_normheader::uld.
Referenced by ecat7PrintSubheader().
void ecat7PrintPolmapheader | ( | ECAT7_polmapheader * | h, |
FILE * | fp | ||
) |
Print ECAT 7.x polar map header contents to specified file pointer
h | Ecat7 polar map header |
fp | target file pointer |
Definition at line 310 of file ecat7p.c.
References ecat7_polmapheader::annotation, ecat7_polmapheader::data_type, ecat7_polmapheader::database_name, ECAT7_TEST, ecat7datatype(), ecat7_polmapheader::frame_duration, ecat7_polmapheader::frame_start_time, ecat7_polmapheader::gate_duration, ecat7_polmapheader::image_max, ecat7_polmapheader::image_min, ecat7_polmapheader::long_axis_left, ecat7_polmapheader::long_axis_right, ecat7_polmapheader::num_accepted_beats, ecat7_polmapheader::num_rings, ecat7_polmapheader::pixel_size, ecat7_polmapheader::polar_map_protocol, ecat7_polmapheader::polar_map_type, ecat7_polmapheader::position_data, ecat7_polmapheader::processing_code, ecat7_polmapheader::quant_units, ecat7_polmapheader::r_wave_offset, ecat7_polmapheader::ring_angle, ecat7_polmapheader::ring_position, ecat7_polmapheader::scale_factor, ecat7_polmapheader::sectors_per_ring, and ecat7_polmapheader::start_angle.
Referenced by ecat7PrintSubheader(), and ecat7ReadPolarmapMatrix().
void ecat7PrintScanheader | ( | ECAT7_scanheader * | h, |
FILE * | fp | ||
) |
Print ECAT 7.x 3D sinogram header contents to specified file pointer
h | Ecat7 scan header |
fp | target file pointer |
Definition at line 215 of file ecat7p.c.
References ecat7_scanheader::axial_compression, ecat7_scanheader::corrections_applied, ecat7_scanheader::data_type, ecat7_scanheader::deadtime_correction_factor, ecat7_scanheader::delayed, ECAT7_TEST, ecat7datatype(), ecat7_scanheader::frame_duration, ecat7_scanheader::frame_start_time, ecat7_scanheader::gate_duration, ecat7_scanheader::multiples, ecat7_scanheader::net_trues, ecat7_scanheader::num_accepted_beats, ecat7_scanheader::num_angles, ecat7_scanheader::num_dimensions, ecat7_scanheader::num_r_elements, ecat7_scanheader::num_z_elements, ecat7_scanheader::prompts, ecat7_scanheader::r_wave_offset, ecat7_scanheader::ring_difference, ecat7_scanheader::scale_factor, ecat7_scanheader::scan_max, ecat7_scanheader::scan_min, ecat7_scanheader::storage_order, ecat7_scanheader::tot_avg_cor, ecat7_scanheader::tot_avg_uncor, ecat7_scanheader::total_coin_rate, ecat7_scanheader::uncor_singles, ecat7_scanheader::v_resolution, ecat7_scanheader::w_resolution, ecat7_scanheader::x_resolution, and ecat7_scanheader::z_resolution.
Referenced by ecat7PrintSubheader(), and ecat7ReadScanMatrix().
int ecat7PrintSubheader | ( | ECAT7_mainheader | mh, |
FILE * | fp, | ||
int | plane, | ||
int | frame, | ||
FILE * | ofp | ||
) |
Print ECAT7 subheader contents into specified file pointer.
mh | ECAT7 mainheader (not printed but needed here) |
fp | File pointer to ECAT7 file |
plane | ECAT7 plane |
frame | ECAT7 frame |
ofp | Output is written to this file pointer; it can be stdout |
Definition at line 532 of file ecat7p.c.
References ECAT7_Matval::bed, ECAT7_2DNORM, ECAT7_2DSCAN, ECAT7_3DNORM, ECAT7_3DSCAN, ECAT7_3DSCAN8, ECAT7_3DSCANFIT, ECAT7_ATTEN, ecat7_id_to_val(), ECAT7_IMAGE16, ECAT7_IMAGE8, ECAT7_POLARMAP, ECAT7_TEST, ECAT7_VOLUME16, ECAT7_VOLUME8, ecat7EmptyMatlist(), ecat7InitMatlist(), ecat7Print2DNormheader(), ecat7Print2DScanheader(), ecat7PrintAttenheader(), ecat7PrintImageheader(), ecat7PrintMatlist(), ecat7PrintNormheader(), ecat7PrintPolmapheader(), ecat7PrintScanheader(), ecat7Read2DNormheader(), ecat7Read2DScanheader(), ecat7ReadAttenheader(), ecat7ReadImageheader(), ecat7ReadMatlist(), ecat7ReadNormheader(), ecat7ReadPolmapheader(), ecat7ReadScanheader(), ecat7_mainheader::file_type, ECAT7_Matval::frame, ECAT7_Matval::gate, ECAT7_MatDir::id, ECAT7_MATRIXLIST::matdir, ECAT7_MATRIXLIST::matrixNr, ECAT7_Matval::plane, and ECAT7_MatDir::strtblk.