IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Nov 27, 2006, 6:13:40 PM (19 years ago)
Author:
Paul Price
Message:

Cleaning up code, adding more usage info.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppImage/src/ppImageArguments.c

    r9958 r10209  
    66
    77static void usage (void) {
    8     fprintf (stderr, "USAGE: ppImage [-file INPUT.fits] [-list INPUT.txt] OUTPUT\n");
     8    fprintf(stderr, "USAGE: ppImage [-file INPUT.fits] [-list INPUT.txt] OUTPUT\n\n");
     9    fprintf(stderr, "Optional arguments:\n");
     10    fprintf(stderr, "\t-stat STAT.mdc: Output statistics into STAT.mdc\n");
     11    fprintf(stderr, "\t-isfringe: The input image contains fringe data.\n");
     12    fprintf(stderr, "\t-usemask MASKVAL: Use this mask value (override recipe).\n");
     13    fprintf(stderr, "\t-chip CHIPNUM: Only process this chip number.\n");
     14    fprintf(stderr, "\t-norm VALUE: Divide through by this value when done.\n");
     15    fprintf(stderr, "\n");
     16    fprintf(stderr, "Input options (single file / file list):\n");
     17    fprintf(stderr, "\t-bias/-biaslist: Bias image.\n");
     18    fprintf(stderr, "\t-dark/-darklist: Dark image.\n");
     19    fprintf(stderr, "\t-shutter/-shutterlist: Shutter image.\n");
     20    fprintf(stderr, "\t-flat/-flatlist: Flat image.\n");
     21    fprintf(stderr, "\t-mask/-masklist: Mask image.\n");
     22    fprintf(stderr, "\t-fringe/-fringelist: Fringe image and data.\n");
     23    fprintf(stderr, "\n");
    924    exit (2);
    1025}
    1126
    12 pmConfig *ppImageArguments(int argc, char **argv) {
     27pmConfig *ppImageArguments(int argc, char **argv)
     28{
     29    int argnum;                         // Argument number of interest
    1330
    14     int N;
    15     bool status;
    16 
    17     if (argc == 1) usage ();
     31    if (argc == 1) {
     32        usage();
     33    }
    1834
    1935    // load the site-wide configuration information
     
    2844    psMetadataAddPtr (config->arguments, PS_LIST_TAIL, "PPIMAGE.OPTIONS",  PS_DATA_METADATA, "", options);
    2945
    30     if ((N = psArgumentGet(argc, argv, "-stat"))) {
    31         psArgumentRemove(N, &argc, argv);
     46    if ((argnum = psArgumentGet(argc, argv, "-stat"))) {
     47        psArgumentRemove(argnum, &argc, argv);
    3248        psMetadataAddStr(options, PS_LIST_TAIL, "STATS", PS_META_REPLACE,
    33                          "Filename for summary statistics", argv[N]);
    34         psArgumentRemove(N, &argc, argv);
     49                         "Filename for summary statistics", argv[argnum]);
     50        psArgumentRemove(argnum, &argc, argv);
    3551    }
    3652
    37     if ((N = psArgumentGet(argc, argv, "-isfringe"))) {
    38         psArgumentRemove(N, &argc, argv);
     53    if ((argnum = psArgumentGet(argc, argv, "-isfringe"))) {
     54        psArgumentRemove(argnum, &argc, argv);
    3955        psMetadataAddBool(options, PS_LIST_TAIL, "INPUT_IS_FRINGE", PS_META_REPLACE,
    4056                          "Input is fringe image", true);
     
    4460
    4561    // recipe option: -usemask : override MASK setting in phase2.recipe
    46     if ((N = psArgumentGet(argc, argv, "-usemask"))) {
    47         psArgumentRemove (N, &argc, argv);
     62    if ((argnum = psArgumentGet(argc, argv, "-usemask"))) {
     63        psArgumentRemove (argnum, &argc, argv);
    4864        psMetadataAddBool (options, PS_LIST_TAIL, "MASK", PS_META_REPLACE, "", true);
    49         psArgumentRemove (N, &argc, argv);
     65        psArgumentRemove (argnum, &argc, argv);
    5066    }
    5167
     
    5672
    5773    // the input file is a required argument; if not found, we will exit
    58     status = pmConfigFileSetsMD (config->arguments, config, "INPUT", "-file", "-list");
    59     if (!status) { usage ();}
     74    bool status = pmConfigFileSetsMD (config->arguments, config, "INPUT", "-file", "-list");
     75    if (!status) {
     76        usage ();
     77    }
    6078
    6179    // if these command-line options are supplied, load the file name lists into config->arguments
     
    6987
    7088    // chip selection is used to limit chips to be processed
    71     if ((N = psArgumentGet (argc, argv, "-chip"))) {
    72         psArgumentRemove (N, &argc, argv);
     89    if ((argnum = psArgumentGet (argc, argv, "-chip"))) {
     90        psArgumentRemove (argnum, &argc, argv);
    7391        psMetadataAddStr (config->arguments, PS_LIST_TAIL, "CHIP_SELECTIONS", PS_DATA_STRING, "",
    74                           argv[N]);
    75         psArgumentRemove (N, &argc, argv);
     92                          argv[argnum]);
     93        psArgumentRemove (argnum, &argc, argv);
    7694    }
    7795
    7896    // Optional normalisation factor
    79     if ((N = psArgumentGet(argc, argv, "-norm"))) {
    80         psArgumentRemove(N, &argc, argv);
    81         float norm = atof(argv[N]);
     97    if ((argnum = psArgumentGet(argc, argv, "-norm"))) {
     98        psArgumentRemove(argnum, &argc, argv);
     99        float norm = atof(argv[argnum]);
    82100        psMetadataAddF32(config->arguments, PS_LIST_TAIL, "NORMALISATION", 0,
    83101                         "Normalisation to apply", norm);
    84         psArgumentRemove(N, &argc, argv);
     102        psArgumentRemove(argnum, &argc, argv);
    85103    }
    86104
     
    88106
    89107    // Add the input and output images (which remain on the command-line) to the arguments list
    90     psMetadataAddStr(config->arguments, PS_LIST_TAIL, "OUTPUT", 0, "Name of the output image",
    91                      argv[1]);
     108    psMetadataAddStr(config->arguments, PS_LIST_TAIL, "OUTPUT", 0, "Name of the output image", argv[1]);
    92109
    93110    return config;
Note: See TracChangeset for help on using the changeset viewer.