IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
May 3, 2006, 11:38:06 AM (20 years ago)
Author:
jhoblitt
Message:

setup initial dettool options

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/src/dettoolConfig.c

    r7048 r7053  
    66
    77#include "pxtools.h"
     8#include "dettool.h"
    89
    910// this function can not fail -- exits on error
     
    2324    // CLI options
    2425    // modes
    25     psMetadata *args = psMetadataAlloc();
    26     psMetadataAddStr(args , PS_LIST_TAIL, "-pending", 0,
    27         "examine pending image table, write ppImage output", NULL);
    28     psMetadataAddStr(args , PS_LIST_TAIL, "-define",  0,
    29         "update pending image table", NULL);
    30 
    31     // -pending search
    32     psMetadata *pendingArgs = psMetadataAlloc();
    33     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-exp_id",  0,
    34         "define exposure ID", NULL);
    35     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-inst",  0,
    36         "define camera of interest", NULL);
    37     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-telescope",  0,
    38         "define telescope of interest", NULL);
    39     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-exp_type",  0,
    40         "define exposure type", NULL);
    41     psMetadataAddS32(pendingArgs, PS_LIST_TAIL, "-imfiles",  0,
    42         "define number of imfiles", 0);
    43     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-filter",  0,
    44         "define filter of interest", NULL);
    45     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-stats",  0,
    46         "define stats of interest", NULL);
    47     psMetadataAddStr(pendingArgs, PS_LIST_TAIL, "-recipe",  0,
    48         "define recipe of interest", NULL);
    49     psMetadataAddS32(pendingArgs, PS_LIST_TAIL, "-p1_version",  0,
    50         "define p1_version of interest", 0);
    51 
    52     // -define inputs
     26    psMetadata *modes = psMetadataAlloc();
     27    psMetadataAddStr(modes , PS_LIST_TAIL, "-define",  0,
     28        "create a new detrend run", NULL);
     29    psMetadataAddStr(modes , PS_LIST_TAIL, "-raw",  0,
     30        "list raw imfiles pending processing", NULL);
     31    psMetadataAddStr(modes , PS_LIST_TAIL, "-addprocessed",  0,
     32        "add a processed imfile", NULL);
     33    psMetadataAddStr(modes , PS_LIST_TAIL, "-processed",  0,
     34        "list processed imfiles", NULL);
     35    psMetadataAddStr(modes , PS_LIST_TAIL, "-addstacked",  0,
     36        "add a stacked imfile", NULL);
     37    psMetadataAddStr(modes , PS_LIST_TAIL, "-stacked",  0,
     38        "list stacked imfiles", NULL);
     39
     40    // -define
    5341    psMetadata *defineArgs = psMetadataAlloc();
    5442    psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-exp_id",  0,
    55         "define class", NULL);
    56     psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-inst",  0,
    57         "define camera of interest", NULL);
    58     psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-telescope",  0,
    59         "define camera of interest", NULL);
    60     psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-exp_type",  0,
    61         "define class", NULL);
    62     psMetadataAddS32(defineArgs, PS_LIST_TAIL, "-imfiles",  0,
    63         "define number of imfiles", 0);
    64     psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-filter",  0,
    65         "define filter of interest", NULL);
    66     psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-stats",  0,
    67         "define stats of interest", NULL);
    68     // these two are inputs NOT search parameters
    69     psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-recipe",  0,
    70         "define recipe of interest", NULL);
    71     psMetadataAddS32(defineArgs, PS_LIST_TAIL, "-p1_version",  0,
    72         "define p1_version of interest", 0);
     43        "include this exposure (XXX more then one)", NULL);
     44    psMetadataAddStr(defineArgs, PS_LIST_TAIL, "-dettype",  0,
     45        "define the type of detrend run", NULL);
     46
     47    // -raw
     48    psMetadata *rawArgs = psMetadataAlloc();
     49    psMetadataAddStr(rawArgs, PS_LIST_TAIL, "-det_id",  0,
     50        "search for detrend ID", NULL);
     51    psMetadataAddStr(rawArgs, PS_LIST_TAIL, "-exp_id",  0,
     52        "search for exp ID", NULL);
     53    psMetadataAddStr(rawArgs, PS_LIST_TAIL, "-class_id",  0,
     54        "search for class ID", NULL);
     55    psMetadataAddStr(rawArgs, PS_LIST_TAIL, "-iter",  0,
     56        "search for iteration number", NULL);
     57   
     58    // -addprocessed
     59    psMetadata *addprocArgs = psMetadataAlloc();
     60    psMetadataAddStr(addprocArgs, PS_LIST_TAIL, "-det_id",  0,
     61        "define detrend ID", NULL);
     62    psMetadataAddStr(addprocArgs, PS_LIST_TAIL, "-exp_id",  0,
     63        "define exp ID", NULL);
     64    psMetadataAddStr(addprocArgs, PS_LIST_TAIL, "-class_id",  0,
     65        "define class ID", NULL);
     66    psMetadataAddStr(addprocArgs, PS_LIST_TAIL, "-iter",  0,
     67        "define iteration number", NULL);
     68    psMetadataAddStr(addprocArgs, PS_LIST_TAIL, "-uri",  0,
     69        "define URI", NULL);
     70
     71    // -processed
     72    psMetadata *procArgs = psMetadataAlloc();
     73    psMetadataAddStr(procArgs, PS_LIST_TAIL, "-det_id",  0,
     74        "search for detrend ID", NULL);
     75    psMetadataAddStr(procArgs, PS_LIST_TAIL, "-exp_id",  0,
     76        "search for exp ID", NULL);
     77    psMetadataAddStr(procArgs, PS_LIST_TAIL, "-class_id",  0,
     78        "search for class ID", NULL);
     79    psMetadataAddStr(procArgs, PS_LIST_TAIL, "-iter",  0,
     80        "search for iteration number", NULL);
     81   
     82    // -addstacked
     83    psMetadata *addstacArgs = psMetadataAlloc();
     84    psMetadataAddStr(addstacArgs, PS_LIST_TAIL, "-det_id",  0,
     85        "define detrend ID", NULL);
     86    psMetadataAddStr(addstacArgs, PS_LIST_TAIL, "-class_id",  0,
     87        "define class ID", NULL);
     88    psMetadataAddStr(addstacArgs, PS_LIST_TAIL, "-iter",  0,
     89        "define iteration number", NULL);
     90    psMetadataAddStr(addstacArgs, PS_LIST_TAIL, "-uri",  0,
     91        "define URI", NULL);
     92   
     93    // -stacked
     94    psMetadata *stacArgs = psMetadataAlloc();
     95    psMetadataAddStr(stacArgs, PS_LIST_TAIL, "-det_id",  0,
     96        "search for detrend ID", NULL);
     97    psMetadataAddStr(stacArgs, PS_LIST_TAIL, "-class_id",  0,
     98        "search for class ID", NULL);
     99    psMetadataAddStr(stacArgs, PS_LIST_TAIL, "-iter",  0,
     100        "search for iteration number", NULL);
     101
     102#define PXTOOL_MODE(option, modeval, args) \
     103    if ((N = psArgumentGet (argc, argv, option))) { \
     104        psArgumentRemove (N, &argc, argv); \
     105        if (config->mode) { \
     106            psError(PS_ERR_UNKNOWN, true, "only one mode selection is allowed"); \
     107        } \
     108        config->mode = modeval; \
     109        argSet = psMemIncrRefCounter(args); \
     110    }
    73111
    74112    // find which mode we're running under
    75113    int N = 0;
    76     config->mode = PX_MODE_NONE;
    77     if ((N = psArgumentGet (argc, argv, "-pending"))) {
    78         psArgumentRemove (N, &argc, argv);
    79         if (config->mode) {
    80             psError(PS_ERR_UNKNOWN, true, "only one mode selection is allowed");
    81         }
    82         config->mode = PX_MODE_PENDING;
    83     }
     114    psMetadata *argSet = NULL;
     115    config->mode = DETTOOL_MODE_NONE;
    84116    if ((N = psArgumentGet (argc, argv, "-define"))) {
    85117        psArgumentRemove (N, &argc, argv);
     
    87119            psError(PS_ERR_UNKNOWN, true, "only one mode selection is allowed");
    88120        }
    89         config->mode = PX_MODE_DEFINE;
    90     }
    91 
    92     // parse CLI for these options
    93     psMetadata *argSet = NULL;
    94     switch (config->mode) {
    95         case PX_MODE_PENDING:
    96             argSet = pendingArgs;
    97             break;
    98         case PX_MODE_DEFINE:
    99             argSet = defineArgs;
    100             break;
    101         default:
    102             argSet = args;
    103     }
    104     psMemIncrRefCounter(argSet);
     121        config->mode = DETTOOL_MODE_DEFINE;
     122        argSet = psMemIncrRefCounter(defineArgs);
     123    }
     124    PXTOOL_MODE("-raw",             DETTOOL_MODE_RAW,           rawArgs);
     125    PXTOOL_MODE("-addprocessed",    DETTOOL_MODE_ADDPROCESSED,  addprocArgs);
     126    PXTOOL_MODE("-processed",       DETTOOL_MODE_PROCESSED,     procArgs);
     127    PXTOOL_MODE("-addstacked",      DETTOOL_MODE_ADDSTACKED,    addstacArgs);
     128    PXTOOL_MODE("-stacked",         DETTOOL_MODE_STACKED,       stacArgs);
    105129
    106130    bool argErr = false;
    107     if (config->mode == PX_MODE_NONE) {
     131    if (config->mode == DETTOOL_MODE_NONE) {
    108132        argErr = true;
    109133        fprintf (stderr, "mode argument is required\n");
     
    114138
    115139    if (argErr) {
    116         printf("\nPan-STARRS Phase 1 Search Tool\n");
     140        printf("\nPan-STARRS Detrend Tool\n");
    117141        printf("Usage: %s <mode> [<options>]\n\n", argv[0]);
    118         printf(" <mode> : -pending | -define\n\n");
    119         fprintf (stdout, "-pending ");
    120         psArgumentHelp(pendingArgs);
     142        printf(" <mode> : [-define|-raw|-addprocessed|-processed|-addstacked|-stacked]\n\n");
    121143        fprintf (stdout, "-define ");
    122144        psArgumentHelp(defineArgs);
    123         psFree(args);
    124         psFree(pendingArgs);
    125145        psFree(defineArgs);
     146        fprintf (stdout, "-raw ");
     147        psArgumentHelp(rawArgs);
     148        psFree(rawArgs);
     149        fprintf (stdout, "-addprocessed ");
     150        psArgumentHelp(addprocArgs);
     151        psFree(addprocArgs);
     152        fprintf (stdout, "-processed ");
     153        psArgumentHelp(procArgs);
     154        psFree(procArgs);
     155        fprintf (stdout, "-addstacked ");
     156        psArgumentHelp(addstacArgs);
     157        psFree(addstacArgs);
     158        fprintf (stdout, "-stacked ");
     159        psArgumentHelp(stacArgs);
     160        psFree(stacArgs);
     161
     162        psFree(modes);
    126163        exit(EXIT_FAILURE);
    127164    }
    128165
    129     psFree(args);
    130     psFree(pendingArgs);
     166    psFree(modes);
    131167    psFree(defineArgs);
     168    psFree(rawArgs);
     169    psFree(addprocArgs);
     170    psFree(procArgs);
     171    psFree(addstacArgs);
     172    psFree(stacArgs);
    132173
    133174    // setup search criterion
     
    188229
    189230    // define Database handle, if used
     231    // do this last so we don't setup a connection before CLI options are
     232    // validated
    190233    config->dbh = pmConfigDB(config->modules);
    191234    if (!config->dbh) {
Note: See TracChangeset for help on using the changeset viewer.