/**
* Stand-alone wrapper around xxxx function
*/

#include <stdio.h>
#include <stdlib.h>
#include "pip.h"

void usage(char *s) 
    { 
    fprintf(stderr, "\nUsage : %s {-flag options}\n\n", s);
    fprintf(stderr, "\t[-i infile] \tInput pgm file (default stdin)\n");
    fprintf(stderr, "\t[-o outfile]\tOutput pgm file (default stdout)\n");
    fprintf(stderr, "\t[-x size] \tSize of Window in x axis (default 3)\n");
    fprintf(stderr, "\t[-y size] \tSize of Window in y axis (default 3)\n");
    fprintf(stderr, "\t[-l level]\tRank level (min|median|max|range|var)\n");
    fprintf(stderr, "\t[-s] \t\tMake PIP silent\n");
    fprintf(stderr, "\t[-v] \t\tVerbose output\n");
    fprintf(stderr, "\t[-d] \t\tDebug mode\n");
    fprintf(stderr, "\t[-V] \t\tPrint Version Number\n");
    fprintf(stderr, "\t[-U] \t\tPrint Usage\n");
    }

int main(int argc, char *argv[])
    {
    int i;
    char *in = NULL;
    char *out = NULL;
    int xsize = 3;
    int ysize = 3;
    char *level = "median";
    Pimage *ip;

    for(i=1; i<argc; i++)
      {
      if( argv[i][0] != '-') 
	{ usage(argv[0]); exit(-1); }

      switch( argv[i][1] )
	{
	case 'V': PIP_version(); exit(0);
	case 'U': usage(argv[0]); exit(0);
	case 'd': pip_debug   = 1; break;
	case 'v': pip_silent  = 1; break;
	case 'v': pip_verbose = 1; break;
        case 'i': in    = argv[++i]; break;
        case 'o': out   = argv[++i]; break;
	case 'x': xsize = atoi(argv[++i]); break;
	case 'y': ysize = atoi(argv[++i]); break;
	case 'l': level = argv[++i]; break;
	default : usage(argv[0]); exit(1);
	}
      }

    ip = PIP_alloc();
    if( PIP_load(in, ip) ) exit(1); 	
    if( PIP_xxxxx(ip, xxxx) ) exit(1);
    if( PIP_save(out, ip) ) exit(1);
    free(ip)_;
    exit(0);
    }
