|
TPCCLIB
|
Functions for writing ECAT 7.x format. More...
#include "libtpcimgio.h"Go to the source code of this file.
Functions | |
| int | ecat7WriteMainheader (FILE *fp, ECAT7_mainheader *h) |
| int | ecat7WriteImageheader (FILE *fp, int blk, ECAT7_imageheader *h) |
| int | ecat7WriteAttenheader (FILE *fp, int blk, ECAT7_attenheader *h) |
| int | ecat7WritePolmapheader (FILE *fp, int blk, ECAT7_polmapheader *h) |
| int | ecat7WriteNormheader (FILE *fp, int blk, ECAT7_normheader *h) |
| int | ecat7WriteScanheader (FILE *fp, int blk, ECAT7_scanheader *h) |
| int | ecat7Write2DScanheader (FILE *fp, int blk, ECAT7_2Dscanheader *h) |
| int | ecat7Write2DNormheader (FILE *fp, int blk, ECAT7_2Dnormheader *h) |
| FILE * | ecat7Create (const char *fname, ECAT7_mainheader *h) |
| int | ecat7_is_scaling_needed (float amax, float *data, long long nr) |
| int | ecat7WriteImageMatrix (FILE *fp, int matrix_id, ECAT7_imageheader *h, float *fdata) |
| int | ecat7Write2DScanMatrix (FILE *fp, int matrix_id, ECAT7_2Dscanheader *h, float *fdata) |
| int | ecat7WriteScanMatrix (FILE *fp, int matrix_id, ECAT7_scanheader *h, float *fdata) |
| int | ecat7WritePolarmapMatrix (FILE *fp, int matrix_id, ECAT7_polmapheader *h, float *fdata) |
| int | ecat7WriteMatrixdata (FILE *fp, int start_block, char *data, long long pxl_nr, int pxl_size) |
Functions for writing ECAT 7.x format.
Definition in file ecat7w.c.
| int ecat7_is_scaling_needed | ( | float | amax, |
| float * | data, | ||
| long long | nr ) |
Check if pixel float values need to be scaled to be saved as short ints, or if they are already all very close to integers.
| amax | Absolute maximum value. |
| data | Float array. |
| nr | Number of float values in float array. |
Definition at line 604 of file ecat7w.c.
Referenced by ecat7Write2DScanMatrix(), ecat7WriteImageMatrix(), ecat7WritePolarmapMatrix(), and ecat7WriteScanMatrix().
| FILE * ecat7Create | ( | const char * | fname, |
| ECAT7_mainheader * | h ) |
Create a new ECAT 7.x file. If file exists, it is renamed as fname% if possible. Directory list is written in big endian byte order.
| fname | filename |
| h | Ecat7 main header |
Definition at line 567 of file ecat7w.c.
Referenced by ecat7CopyFile(), imgWrite2DEcat7(), imgWriteEcat7(), imgWriteEcat7Frame(), and imgWritePolarmap().
| int ecat7Write2DNormheader | ( | FILE * | fp, |
| int | blk, | ||
| ECAT7_2Dnormheader * | h ) |
Write ECAT 7.x 2D normalization header.
| fp | file pointer |
| blk | header block number, blk >= 2 |
| h | Ecat7 2D normalization header |
Definition at line 517 of file ecat7w.c.
| int ecat7Write2DScanheader | ( | FILE * | fp, |
| int | blk, | ||
| ECAT7_2Dscanheader * | h ) |
Write ECAT 7.x 2D scan header
| fp | output file pointer |
| blk | header block number, blk >= 2 |
| h | Ecat7 2D scan header |
Definition at line 450 of file ecat7w.c.
Referenced by ecat7Write2DScanMatrix().
| int ecat7Write2DScanMatrix | ( | FILE * | fp, |
| int | matrix_id, | ||
| ECAT7_2Dscanheader * | h, | ||
| float * | fdata ) |
Write ECAT 7.x 2D sinogram matrix header and data
| fp | output file pointer |
| matrix_id | coded matrix id |
| h | Ecat7 2D image scan header |
| fdata | float data to be written |
Definition at line 719 of file ecat7w.c.
Referenced by imgWrite2DEcat7(), and imgWriteEcat7Frame().
| int ecat7WriteAttenheader | ( | FILE * | fp, |
| int | blk, | ||
| ECAT7_attenheader * | h ) |
Write ECAT 7.x attenuation header
| fp | output file pointer |
| blk | header block number, blk >= 2 |
| h | Ecat7 attenuation header |
Definition at line 208 of file ecat7w.c.
| int ecat7WriteImageheader | ( | FILE * | fp, |
| int | blk, | ||
| ECAT7_imageheader * | h ) |
Write ECAT 7.x image header. Changes data type to big endian.
| fp | output file pointer |
| blk | header block number, blk >= 2 |
| h | Ecat7 image header |
Definition at line 113 of file ecat7w.c.
Referenced by ecat7WriteImageMatrix(), and ecat7WriteSubheaderFromIFT().
| int ecat7WriteImageMatrix | ( | FILE * | fp, |
| int | matrix_id, | ||
| ECAT7_imageheader * | h, | ||
| float * | fdata ) |
Write ECAT 7.x image or volume matrix header and data
| fp | output file pointer |
| matrix_id | coded matrix id |
| h | Ecat7 image header |
| fdata | float data to be written |
Definition at line 635 of file ecat7w.c.
Referenced by imgWrite2DEcat7(), imgWriteEcat7(), and imgWriteEcat7Frame().
| int ecat7WriteMainheader | ( | FILE * | fp, |
| ECAT7_mainheader * | h ) |
Write ECAT 7.x main header.
Writes header always in big endian byte order.
| fp | output file pointer |
| h | Ecat7 main header |
Definition at line 16 of file ecat7w.c.
Referenced by ecat7Create(), ecat7WriteHeaders(), and imgWriteEcat7Frame().
| int ecat7WriteMatrixdata | ( | FILE * | fp, |
| int | start_block, | ||
| char * | data, | ||
| long long | pxl_nr, | ||
| int | pxl_size ) |
Write ECAT 7.x matrix data to a specified file position. Data does not need to be allocated for full blocks. Data must be represented in current machines byte order, and it is always saved in big endian byte order.
| fp | Pointer to an opened ECAT file |
| start_block | Block number where matrix data is written |
| data | Pointer to matrix data |
| pxl_nr | Number of pixels |
| pxl_size | Size of data for one pixel in bytes |
Definition at line 974 of file ecat7w.c.
Referenced by ecat7Write2DScanMatrix(), ecat7WriteImageMatrix(), ecat7WritePolarmapMatrix(), and ecat7WriteScanMatrix().
| int ecat7WriteNormheader | ( | FILE * | fp, |
| int | blk, | ||
| ECAT7_normheader * | h ) |
Write ECAT 7.x 3D normalization header
| fp | output file pointer |
| blk | header block number, blk >= 2 |
| h | Ecat7 normalization header |
Definition at line 330 of file ecat7w.c.
| int ecat7WritePolarmapMatrix | ( | FILE * | fp, |
| int | matrix_id, | ||
| ECAT7_polmapheader * | h, | ||
| float * | fdata ) |
Write ECAT 7.x polarmap matrix header and data
| fp | output file pointer |
| matrix_id | coded matrix information |
| h | Ecat7 polar map header |
| fdata | float data |
Definition at line 888 of file ecat7w.c.
Referenced by imgWriteEcat7Frame(), and imgWritePolarmap().
| int ecat7WritePolmapheader | ( | FILE * | fp, |
| int | blk, | ||
| ECAT7_polmapheader * | h ) |
Write ECAT 7.x polar map header
| fp | output file pointer |
| blk | header block number, blk >= 2 |
| h | Ecat7 polar map header |
Definition at line 271 of file ecat7w.c.
Referenced by ecat7WritePolarmapMatrix().
| int ecat7WriteScanheader | ( | FILE * | fp, |
| int | blk, | ||
| ECAT7_scanheader * | h ) |
Write ECAT 7.x 3D scan header (512 bytes) Changes data type to big endian.
| fp | pointer to output file |
| blk | block number, blk >= 2 |
| h | Ecat7 scan header |
Definition at line 383 of file ecat7w.c.
Referenced by ecat7ReadSubheaderToIFT(), ecat7WriteScanMatrix(), and ecat7WriteSubheaderFromIFT().
| int ecat7WriteScanMatrix | ( | FILE * | fp, |
| int | matrix_id, | ||
| ECAT7_scanheader * | h, | ||
| float * | fdata ) |
Write ECAT 7.x 3D sinogram matrix header and data
| fp | output file pointer |
| matrix_id | coded matrix id |
| h | Ecat7 scan header |
| fdata | float data |
Definition at line 802 of file ecat7w.c.
Referenced by imgWriteEcat7(), and imgWriteEcat7Frame().