8#include "tpcclibConfig.h"
21static char *info[] = {
22 "List the matrices of an ECAT 6.3 or 7.x file.",
24 "Usage: @P [Options] ecatfile",
32 "See also: esplit, efixplnr, imgdim, lmhdr, lshdr, ecat2ana, imgmlist",
34 "Keywords: ECAT, matrixlist, header, tool",
53int main(
int argc,
char **argv)
55 int ai, help=0, version=0, verbose=1;
57 char *cptr, ecatfile[FILENAME_MAX];
69 if(argc==1) {
tpcPrintUsage(argv[0], info, stderr);
return(1);}
72 for(ai=1; ai<argc; ai++)
if(*argv[ai]==
'-') {
73 cptr=argv[ai]+1;
if(*cptr==
'-') cptr++;
if(cptr==NULL)
continue;
75 fprintf(stderr,
"Error: invalid option %s\n", argv[ai]);
80 if(help==2) {
tpcHtmlUsage(argv[0], info,
"");
return(0);}
85 for(; ai<argc; ai++) {
87 strcpy(ecatfile, argv[ai]);
continue;
89 fprintf(stderr,
"Error: invalid argument '%s'\n", argv[ai]);
95 fprintf(stderr,
"Error: missing command-line argument; use option --help\n");
102 printf(
"ecatfile := %s\n", ecatfile);
109 if((fp=fopen(ecatfile,
"rb")) == NULL) {
110 fprintf(stderr,
"Error: cannot read file %s\n", ecatfile);
122 fprintf(stderr,
"Error: unsupported file format (%s)\n", ecatfile);
123 fclose(fp);
return(3);
126 if(strncmp(e7_mainheader.
magic_number, ECAT7V_MAGICNR, 7)==0) {
130 if(ret==0) ecat_format=6;
133 fprintf(stderr,
"Error: unsupported file format (%s)\n", ecatfile);
134 fclose(fp);
return(3);
136 if(verbose>1) printf(
"ecat_format := %d\n", ecat_format);
152 fprintf(stderr,
"Error (%d): cannot read matrix list.\n", ret);
153 fclose(fp);
return 3;
156 fprintf(stderr,
"Error: matrix list is empty.\n");
157 fclose(fp);
return 3;
163 fprintf(stderr,
"Error (%d): cannot read matrix list.\n", ret);
164 fclose(fp);
return(4);
167 fprintf(stderr,
"Error: matrix list is empty.\n");
168 fclose(fp);
return(4);
int ecat63ReadMatlist(FILE *fp, MATRIXLIST *ml, int verbose)
void ecat63InitMatlist(MATRIXLIST *mlist)
void ecat63EmptyMatlist(MATRIXLIST *mlist)
void ecat63PrintMatlist(MATRIXLIST *ml)
void ecat63PrintMainheader(ECAT63_mainheader *h, FILE *fp)
int ecat63ReadMainheader(FILE *fp, ECAT63_mainheader *h)
void ecat7InitMatlist(ECAT7_MATRIXLIST *mlist)
int ecat7ReadMatlist(FILE *fp, ECAT7_MATRIXLIST *ml, int verbose)
void ecat7EmptyMatlist(ECAT7_MATRIXLIST *mlist)
void ecat7PrintMatlist(ECAT7_MATRIXLIST *ml)
void ecat7PrintMainheader(ECAT7_mainheader *h, FILE *fp)
int ecat7ReadMainheader(FILE *fp, ECAT7_mainheader *h)
Header file for libtpcimgio.
Header file for libtpcmisc.
int tpcProcessStdOptions(const char *s, int *print_usage, int *print_version, int *verbose_level)
int tpcHtmlUsage(const char *program, char *text[], const char *path)
void tpcPrintBuild(const char *program, FILE *fp)
void tpcPrintUsage(const char *program, char *text[], FILE *fp)