IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 17145


Ignore:
Timestamp:
Mar 25, 2008, 1:23:41 PM (18 years ago)
Author:
jhoblitt
Message:

add warptool -block/-masked/-unblock modes

Location:
trunk/ippTools
Files:
7 edited

Legend:

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

    r16687 r17145  
    1616warptool -tooverlap -warp_id 1 || exit 1
    1717
     18exit 1
     19
    1820warptool -addoverlap -mapfile mapfile.txt || exit 1
    1921
  • trunk/ippTools/share/warptool_tooverlap.sql

    r16755 r17145  
    11SELECT
    22    warpRun.warp_id,
    3     camProcessedExp.cam_id,
     3    warpRun.cam_id,
     4    warpRun.workdir,
    45    warpRun.tess_id,
    5     warpRun.workdir,
     6    warpRun.label,
    67    rawExp.camera,
    7     exp_id
     8    exp_id,
     9    warpRun.magiced
    810FROM warpRun
    911JOIN camProcessedExp
     
    1517LEFT JOIN warpSkyCellMap
    1618    USING(warp_id, cam_id)
     19LEFT JOIN warpMask
     20    ON warpRun.label = warpMask.label
    1721WHERE
    1822    warpRun.state = 'run'
     
    2024    AND warpSkyCellMap.warp_id IS NULL
    2125    AND warpSkyCellMap.cam_id IS NULL
     26    AND warpMask.label IS NULL
  • trunk/ippTools/share/warptool_towarped.sql

    r14236 r17145  
    2121    AND warpSkyCellMap.skycell_id = warpSkyfile.skycell_id
    2222    AND warpSkyCellMap.tess_id = warpSkyfile.tess_id
     23LEFT JOIN warpMask
     24    ON warpRun.label = warpMask.label
    2325WHERE
    2426    warpRun.state = 'run'
     
    2729    AND warpSkyfile.tess_id IS NULL
    2830    AND warpSkyCellMap.fault = 0
    29 
     31    AND warpMask.label IS NULL
  • trunk/ippTools/src/pxtables.c

    r16733 r17145  
    8686    CREATE_TABLE(warpSkyCellMapCreateTable);
    8787    CREATE_TABLE(warpSkyfileCreateTable);
     88    CREATE_TABLE(warpMaskCreateTable);
    8889    CREATE_TABLE(stackRunCreateTable);
    8990    CREATE_TABLE(stackInputSkyfileCreateTable);
     
    185186    DROP_TABLE(warpSkyCellMapDropTable);
    186187    DROP_TABLE(warpSkyfileDropTable);
     188    DROP_TABLE(warpMaskDropTable);
    187189    DROP_TABLE(diffRunDropTable);
    188190    DROP_TABLE(diffInputSkyfileDropTable);
  • trunk/ippTools/src/warptool.c

    r17142 r17145  
    4343static bool warpedMode(pxConfig *config);
    4444static bool revertwarpedMode(pxConfig *config);
     45static bool blockMode(pxConfig *config);
     46static bool maskedMode(pxConfig *config);
     47static bool unblockMode(pxConfig *config);
    4548
    4649static bool parseAndInsertSkyCellMap(pxConfig *config, const char *mapfile);
     
    7780        MODECASE(WARPTOOL_MODE_WARPED,            warpedMode);
    7881        MODECASE(WARPTOOL_MODE_REVERTWARPED,      revertwarpedMode);
     82        MODECASE(WARPTOOL_MODE_BLOCK,             blockMode);
     83        MODECASE(WARPTOOL_MODE_MASKED,            maskedMode);
     84        MODECASE(WARPTOOL_MODE_UNBLOCK,           unblockMode);
     85
    7986        default:
    8087            psAbort("invalid option (this should not happen)");
     
    926933
    927934
     935static bool blockMode(pxConfig *config)
     936{
     937    PS_ASSERT_PTR_NON_NULL(config, false);
     938
     939    PXOPT_LOOKUP_STR(label, config->args, "-label", true, false);
     940
     941    if (!warpMaskInsert(config->dbh, label)) {
     942        psError(PS_ERR_UNKNOWN, false, "database error");
     943        return false;
     944    }
     945
     946    return true;
     947}
     948
     949
     950static bool maskedMode(pxConfig *config)
     951{
     952    PS_ASSERT_PTR_NON_NULL(config, false);
     953
     954    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
     955
     956    psString query = psStringCopy("SELECT * FROM warpMask");
     957
     958    if (!p_psDBRunQuery(config->dbh, query)) {
     959        psError(PS_ERR_UNKNOWN, false, "database error");
     960        psFree(query);
     961        return false;
     962    }
     963    psFree(query);
     964
     965    psArray *output = p_psDBFetchResult(config->dbh);
     966    if (!output) {
     967        psError(PS_ERR_UNKNOWN, false, "database error");
     968        return false;
     969    }
     970    if (!psArrayLength(output)) {
     971        psTrace("warpool", PS_LOG_INFO, "no rows found");
     972        psFree(output);
     973        return true;
     974    }
     975
     976    if (!convertIdToStr(output)) {
     977        psError(PS_ERR_UNKNOWN, false, "failed to convert id fields into a strings");
     978        psFree(output);
     979        return false;
     980    }
     981
     982    // negative simple so the default is true
     983    if (!ippdbPrintMetadatas(stdout, output, "warpMask", !simple)) {
     984        psError(PS_ERR_UNKNOWN, false, "failed to print array");
     985        psFree(output);
     986        return false;
     987    }
     988
     989    psFree(output);
     990
     991    return true;
     992}
     993
     994
     995static bool unblockMode(pxConfig *config)
     996{
     997    PS_ASSERT_PTR_NON_NULL(config, false);
     998
     999    PXOPT_LOOKUP_STR(label, config->args, "-label", true, false);
     1000
     1001    char *query = "DELETE FROM warpMask WHERE label = '%s'";
     1002
     1003    if (!p_psDBRunQuery(config->dbh, query, label)) {
     1004        psError(PS_ERR_UNKNOWN, false, "database error");
     1005        return false;
     1006    }
     1007
     1008    return true;
     1009}
     1010
     1011
    9281012static bool isValidMode(pxConfig *config, const char *mode)
    9291013{
  • trunk/ippTools/src/warptool.h

    r14262 r17145  
    3838    WARPTOOL_MODE_WARPED,
    3939    WARPTOOL_MODE_REVERTWARPED,
     40    WARPTOOL_MODE_BLOCK,
     41    WARPTOOL_MODE_MASKED,
     42    WARPTOOL_MODE_UNBLOCK,
    4043} warptoolMode;
    4144
  • trunk/ippTools/src/warptoolConfig.c

    r17142 r17145  
    196196            "search by fault code", 0);
    197197
     198    // -block
     199    psMetadata *blockArgs = psMetadataAlloc();
     200    psMetadataAddStr(blockArgs, PS_LIST_TAIL, "-label",  0,
     201            "name of a label to mask out (required)", NULL);
     202
     203    // -masked
     204    psMetadata *maskedArgs = psMetadataAlloc();
     205    psMetadataAddBool(maskedArgs, PS_LIST_TAIL, "-simple",  0,
     206            "use the simple output format", false);
     207
     208    // -unblock
     209    psMetadata *unblockArgs = psMetadataAlloc();
     210    psMetadataAddStr(unblockArgs, PS_LIST_TAIL, "-label",  0,
     211            "name of a label to unmask (required)", NULL);
    198212
    199213    psFree(now);
    200 
    201214    psMetadata *argSets = psMetadataAlloc();
    202215    psMetadata *modes   = psMetadataAlloc();
     
    213226    PXOPT_ADD_MODE("-warped",          "", WARPTOOL_MODE_WARPED,         warpedArgs);
    214227    PXOPT_ADD_MODE("-revertwarped",    "", WARPTOOL_MODE_REVERTWARPED,   revertwarpedArgs);
     228    PXOPT_ADD_MODE("-block",           "set a label block", WARPTOOL_MODE_BLOCK,          blockArgs);
     229    PXOPT_ADD_MODE("-masked",          "show blocked lables", WARPTOOL_MODE_MASKED,         maskedArgs);
     230    PXOPT_ADD_MODE("-unblock",         "remove a label block", WARPTOOL_MODE_UNBLOCK,        unblockArgs);
    215231
    216232    if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) {
Note: See TracChangeset for help on using the changeset viewer.