IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 9765


Ignore:
Timestamp:
Oct 27, 2006, 2:47:05 PM (20 years ago)
Author:
jhoblitt
Message:

implement -block/unblock/masked

Location:
trunk/ippTools
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/scripts/dettest.sh

    r9709 r9765  
    77./p0test.sh -detrend || exit 1
    88
    9 dettool -definebyquery -det_type flat -set_exp_type fooflat -set_filter foo -set_airmass 10 -set_exp_time 30.0 -set_ccd_temp 100 -set_posang 360 -set_object iobject || exit 1
     9#dettool -definebyquery -det_type flat -set_exp_type fooflat -set_filter foo -set_airmass 10 -set_exp_time 30.0 -set_ccd_temp 100 -set_posang 360 -set_object iobject || exit 1
     10dettool -definebyquery -det_type flat -set_exp_type fooflat -set_filter foo -set_airmass 10 -set_exp_time 30.0 -set_object iobject || exit 1
    1011dettool -raw || exit 1
    1112
     
    5960dettool -adddetrunsummary -det_id $det_id -iteration 0 -bg 1 -bg_stdev 2 -bg_mean_stdev 3 -accept || exit 1
    6061dettool -residexp || exit 1
     62
    6163dettool -updatedetrun -det_id $det_id -stop || exit 1
  • trunk/ippTools/scripts/regtest.sh

    r9707 r9765  
    2424done;
    2525
    26 $p0tool -updateexp -exp_tag t10 -filter r -airmass 10 -ra 1 -decl 2 -exp_type bias -exp_time 0 -bg 10 -bg_stdev 1 -bg_mean_stdev 10 -alt 10 -az 10 -ccd_temp 45 -posang 10 -object dog -dateobs "2006-10-20T10:10:10Z" $* || exit 1
     26$p0tool -updateexp -exp_tag t10 -filter r -airmass 10 -ra 1 -decl 2 -exp_type bias -exp_time 0 -bg 10 -bg_stdev 1 -bg_mean_stdev 10 -alt 10 -az 10 -ccd_temp 45 -posang 10 -object dog -dateobs "2006-10-20T10:10:10Z" -label foobarbaz $* || exit 1
    2727
    2828for ID in `seq 0 3`; do
     
    3030done;
    3131
    32 $p0tool -updateexp -exp_tag t11 -filter r -airmass 11 -ra 1 -decl 2 -exp_type bias -exp_time 0 -bg 11 -bg_stdev 1 -bg_mean_stdev 11 -alt 11 -az 11 -ccd_temp 45 -posang 11 -object dog -dateobs 2006-10-20T10:10:10Z $* || exit 1
     32$p0tool -updateexp -exp_tag t11 -filter r -airmass 11 -ra 1 -decl 2 -exp_type bias -exp_time 0 -bg 11 -bg_stdev 1 -bg_mean_stdev 11 -alt 11 -az 11 -ccd_temp 45 -posang 11 -object dog -dateobs 2006-10-20T10:10:10Z -label foobarbaz $* || exit 1
  • trunk/ippTools/src/chiptool.c

    r9764 r9765  
    3333static bool pendingimfileMode(pxConfig *config);
    3434static bool addprocessedimfileMode(pxConfig *config);
     35static bool blockMode(pxConfig *config);
     36static bool maskedMode(pxConfig *config);
     37static bool unblockMode(pxConfig *config);
    3538static p2ProcessedImfileRow *p2PendingToProcessedImfile(pxConfig *config, p2PendingImfileRow *imfile);
    3639static p2ProcessedExpRow *p2PendingToProcessedExp(pxConfig *config, p2PendingExpRow *pendingExp);
     
    5154
    5255    switch (config->mode) {
    53         MODECASE(P2TOOL_MODE_QUICK, quickMode);
    54         MODECASE(P2TOOL_MODE_DEFINE, defineMode);
     56        MODECASE(P2TOOL_MODE_QUICK,                 quickMode);
     57        MODECASE(P2TOOL_MODE_DEFINE,                defineMode);
    5558        MODECASE(P2TOOL_MODE_PENDINGIMFILE,         pendingimfileMode);
    5659        MODECASE(P2TOOL_MODE_ADDPROCESSEDIMFILE,    addprocessedimfileMode);
     60        MODECASE(P2TOOL_MODE_BLOCK,                 blockMode);
     61        MODECASE(P2TOOL_MODE_MASKED,                maskedMode);
     62        MODECASE(P2TOOL_MODE_UNBLOCK,               unblockMode);
    5763        default:
    5864            psAbort(argv[0], "invalid option (this should not happen)");
     
    385391    if (!psDBCommit(config->dbh)) {
    386392        psError(PS_ERR_UNKNOWN, false, "database error");
     393        return false;
     394    }
     395
     396    return true;
     397}
     398
     399static bool blockMode(pxConfig *config)
     400{
     401    PS_ASSERT_PTR_NON_NULL(config, false);
     402
     403    bool status = false;
     404    psString label = psMetadataLookupStr(&status, config->args, "-label");
     405    if (!status) {
     406        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -label");
     407        return false;
     408    }
     409    if (!label) {
     410        psError(PS_ERR_UNKNOWN, true, "-label is required");
     411        return false;
     412    }
     413
     414    if (!p2MaskInsert(config->dbh, label)) {
     415        psError(PS_ERR_UNKNOWN, false, "database error");
     416        return false;
     417    }
     418
     419    return true;
     420}
     421
     422static bool maskedMode(pxConfig *config)
     423{
     424    PS_ASSERT_PTR_NON_NULL(config, false);
     425
     426    psString query = psStringCopy("SELECT * FROM p2Mask");
     427
     428    if (!p_psDBRunQuery(config->dbh, query)) {
     429        psError(PS_ERR_UNKNOWN, false, "database error");
     430        psFree(query);
     431        return false;
     432    }
     433    psFree(query);
     434
     435    psArray *output = p_psDBFetchResult(config->dbh);
     436    if (!output) {
     437        psError(PS_ERR_UNKNOWN, false, "database error");
     438        return false;
     439    }
     440    if (!psArrayLength(output)) {
     441        // XXX check psError here
     442        psError(PS_ERR_UNKNOWN, false, "no p2Mask rows found");
     443        psFree(output);
     444        return true;
     445    }
     446
     447    bool simple = false;
     448    {
     449        bool status = false;
     450        simple = psMetadataLookupBool(&status, config->args, "-simple");
     451        if (!status) {
     452            psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -simple");
     453            return false;
     454        }
     455    }
     456
     457    // negative simple so the default is true
     458    if (!ippdbPrintMetadatas(stdout, output, "p2Mask", !simple)) {
     459        psError(PS_ERR_UNKNOWN, false, "failed to print array");
     460        psFree(output);
     461        return false;
     462    }
     463
     464    psFree(output);
     465
     466    return true;
     467}
     468
     469static bool unblockMode(pxConfig *config)
     470{
     471    PS_ASSERT_PTR_NON_NULL(config, false);
     472
     473    bool status = false;
     474    psString label = psMetadataLookupStr(&status, config->args, "-label");
     475    if (!status) {
     476        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -label");
     477        return false;
     478    }
     479    if (!label) {
     480        psError(PS_ERR_UNKNOWN, true, "-label is required");
     481        return false;
     482    }
     483
     484    char *query = "DELETE FROM p2Mask WHERE label = '%s'";
     485
     486    if (!p_psDBRunQuery(config->dbh, query, label)) {
     487        psError(PS_ERR_UNKNOWN, false, "database error");
     488        psFree(query);
    387489        return false;
    388490    }
  • trunk/ippTools/src/chiptool.h

    r9392 r9765  
    2828    P2TOOL_MODE_DEFINE,
    2929    P2TOOL_MODE_PENDINGIMFILE,
    30     P2TOOL_MODE_ADDPROCESSEDIMFILE
     30    P2TOOL_MODE_ADDPROCESSEDIMFILE,
     31    P2TOOL_MODE_BLOCK,
     32    P2TOOL_MODE_MASKED,
     33    P2TOOL_MODE_UNBLOCK
    3134} p2toolMode;
    3235
  • trunk/ippTools/src/chiptoolConfig.c

    r9392 r9765  
    8383            "define banana 2", NULL);
    8484
     85    // -block
     86    psMetadata *blockArgs = psMetadataAlloc();
     87    psMetadataAddStr(blockArgs, PS_LIST_TAIL, "-label",  0,
     88            "name of a label to mask out", NULL);
     89   
     90    // -masked
     91    psMetadata *maskedArgs = psMetadataAlloc();
     92    psMetadataAddBool(maskedArgs, PS_LIST_TAIL, "-simple",  0,
     93            "use the simple output format", false);
     94   
     95    // -unblock
     96    psMetadata *unblockArgs = psMetadataAlloc();
     97    psMetadataAddStr(unblockArgs, PS_LIST_TAIL, "-label",  0,
     98            "name of a label to unmask", NULL);
    8599
    86100#define PXTOOL_MODE(option, modeval, argset) \
     
    107121    PXTOOL_MODE("-pendingimfile", P2TOOL_MODE_PENDINGIMFILE, pendingimfileArgs);
    108122    PXTOOL_MODE("-addprocessedimfile",P2TOOL_MODE_ADDPROCESSEDIMFILE,addprocessedimfileArgs);
     123    PXTOOL_MODE("-block",        P2TOOL_MODE_BLOCK,          blockArgs);
     124    PXTOOL_MODE("-masked",       P2TOOL_MODE_MASKED,         maskedArgs);
     125    PXTOOL_MODE("-unblock",      P2TOOL_MODE_UNBLOCK,        unblockArgs);
    109126
    110127    bool argErr = false;
Note: See TracChangeset for help on using the changeset viewer.