8#include "tpcclibConfig.h"
23static char *info[] = {
24 "Calculate average of 3D or 4D image over z dimension (image planes).",
26 "Usage: @P [Options] imgfile outputfile",
28 "Image file can be in ECAT 6.3 or 7.x, NIfTI-1, or Analyze 7.5 format.",
33 "See also: imgdelpl, imgshrink, imginteg, imgslim, esplit, imgflip",
35 "Keywords: image, cropping",
54int main(
int argc,
char **argv)
56 int ai, help=0, version=0, verbose=1;
57 char imgfile[FILENAME_MAX], outfile[FILENAME_MAX];
63 if(argc==1) {
tpcPrintUsage(argv[0], info, stderr);
return(1);}
64 imgfile[0]=outfile[0]=(char)0;
66 for(ai=1; ai<argc; ai++)
if(*argv[ai]==
'-') {
67 char *cptr=argv[ai]+1;
if(*cptr==
'-') cptr++;
if(cptr==NULL)
continue;
69 fprintf(stderr,
"Error: invalid option '%s'.\n", argv[ai]);
74 if(help==2) {
tpcHtmlUsage(argv[0], info,
"");
return(0);}
79 if(ai<argc) {
strlcpy(imgfile, argv[ai], FILENAME_MAX); ai++;}
80 if(ai<argc) {
strlcpy(outfile, argv[ai], FILENAME_MAX); ai++;}
81 if(ai<argc) {fprintf(stderr,
"Error: too many arguments.\n");
return(1);}
85 fprintf(stderr,
"Error: missing command-line argument; use option --help\n");
92 printf(
"imgfile := %s\n", imgfile);
93 printf(
"outfile := %s\n", outfile);
100 if(verbose>0) {printf(
"reading %s\n", imgfile); fflush(stdout);}
103 fprintf(stderr,
"Error: %s\n", img.
statmsg);
107 printf(
"dimt := %d\n", img.
dimt);
108 printf(
"dimx := %d\n", img.
dimx);
109 printf(
"dimy := %d\n", img.
dimy);
110 printf(
"dimz := %d\n", img.
dimz);
114 fprintf(stderr,
"Warning: image z dimension is 1.\n");
121 if(verbose>0) printf(
"processing...\n");
124 fprintf(stderr,
"Error: cannot calculate mean over z dimension.\n");
133 if(verbose>0) printf(
"writing image %s\n", outfile);
135 fprintf(stderr,
"Error: %s\n", oimg.
statmsg);
139 if(verbose>0) printf(
"done.\n\n");
void imgEmpty(IMG *image)
int imgRead(const char *fname, IMG *img)
int imgWrite(const char *fname, IMG *img)
int imgMeanZ(IMG *img1, IMG *img2)
Header file for libtpcimgio.
Header file for libtpcimgp.
Header file for libtpcmisc.
int tpcProcessStdOptions(const char *s, int *print_usage, int *print_version, int *verbose_level)
size_t strlcpy(char *dst, const char *src, size_t dstsize)
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)