IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 12, 2013, 4:24:02 PM (13 years ago)
Author:
bills
Message:

Further changes to background spur in the pipeline.

  1. Add chipBackgroundRun.cam_id
  2. Use camera stage mask instead of chip stage mask
  3. Drop warpBackgroundRun.alt_cam_label use chipBackgroundRun.cam_id to find the astrometry
  4. Fix broken processing of chipBackground stats output
File:
1 edited

Legend:

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

    r35134 r35154  
    285285    psMetadata *where = psMetadataAlloc();
    286286    PXOPT_COPY_S64(config->args,   where, "-chip_id",            "chipRun.chip_id",       "==");
     287    PXOPT_COPY_S64(config->args,   where, "-cam_id",             "camRun.cam_id",         "==");
    287288    PXOPT_COPY_S64(config->args,   where, "-exp_id",             "rawExp.exp_id",         "==");
    288289    PXOPT_COPY_STR(config->args,   where, "-exp_name",           "rawExp.exp_name",       "==");
     
    324325    PXOPT_COPY_F32(config->args,   where, "-sun_angle_min",      "rawExp.sun_angle",      ">=");
    325326    PXOPT_COPY_F32(config->args,   where, "-sun_angle_max",      "rawExp.sun_angle",      "<");
    326     pxAddLabelSearchArgs(config,   where, "-label",              "chipRun.label",         "==");
     327    PXOPT_COPY_STR(config->args,   where, "-label",              "chipRun.label",         "==");
     328    PXOPT_COPY_STR(config->args,   where, "-cam_label",          "camRun.label",          "==");
    327329
    328330    if (!psListLength(where->list)) {
     
    343345    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
    344346    PXOPT_LOOKUP_BOOL(pretend, config->args, "-pretend", false);
     347    PXOPT_LOOKUP_STR(cam_label, config->args, "-cam_label", false, false);
     348    PXOPT_LOOKUP_S64(cam_id, config->args, "-cam_id", false, false);
     349    if (!cam_id && !cam_label) {
     350        psError(PXTOOLS_ERR_CONFIG, true, "either cam_id or cam_label is required");
     351        return false;
     352    }
    345353
    346354    // Get chip runs to promote to chipBackgroundRun
     
    364372    }
    365373
     374    psString labelHook = psStringCopy("");
    366375    if (!rerun) {
    367         psStringAppend(&query, "\nAND chipBackgroundRun.chip_bg_id IS NULL");
    368376        if (label) {
    369             psStringAppend(&query,
    370                            "\nAND (chipBackgroundRun.label = '%s'"
    371                            " OR chipBackgroundRun.label IS NULL)",
    372                            label);
    373         }
    374         if (data_group) {
    375             psStringAppend(&query,
    376                            "\nAND (chipBackgroundRun.data_group = '%s'"
    377                            " OR chipBackgroundRun.data_group IS NULL)",
    378                            data_group);
    379         }
    380         if (dist_group) {
    381             psStringAppend(&query,
    382                            "\nAND (chipBackgroundRun.dist_group = '%s'"
    383                            " OR chipBackgroundRun.dist_group IS NULL)",
    384                            dist_group);
    385         }
     377            // check for run with the newly specified label
     378            psStringAppend(&labelHook, "\nAND (chipBackgroundRun.label = '%s')", label);
     379        }
     380        psStringAppend(&query, "\nAND chip_bg_id IS NULL");
    386381    }
    387382
     
    391386    }
    392387
    393     if (!p_psDBRunQuery(config->dbh, query)) {
     388    if (!p_psDBRunQueryF(config->dbh, query, labelHook)) {
    394389        psError(psErrorCodeLast(), false, "database error");
    395390        psFree(query);
     391        psFree(labelHook);
    396392        if (!psDBRollback(config->dbh)) {
    397393            psError(psErrorCodeLast(), false, "database error");
     
    400396    }
    401397    psFree(query);
     398    psFree(labelHook);
    402399
    403400    psArray *output = p_psDBFetchResult(config->dbh); // Matching rows
     
    420417    if (pretend) {
    421418        // negative simple so the default is true
    422         if (!ippdbPrintMetadatas(stdout, output, "chipRun", !simple)) {
     419        if (!ippdbPrintMetadatas(stdout, output, "chipBackgroundRun", !simple)) {
    423420            psError(psErrorCodeLast(), false, "failed to print array");
    424421            psFree(output);
     
    435432        psMetadata *md = output->data[i];
    436433
    437         chipRunRow *row = chipRunObjectFromMetadata(md);
     434        chipBackgroundRunRow *row = chipBackgroundRunObjectFromMetadata(md);
    438435        if (!row) {
    439436            psError(psErrorCodeLast(), false, "failed to convert metadata into fakeRun");
     
    445442        }
    446443
    447         if (!chipBackgroundRunInsert(config->dbh, 0, row->chip_id, "new",
     444        if (!chipBackgroundRunInsert(config->dbh, 0, row->chip_id, row->cam_id, "new",
    448445                                     workdir     ? workdir    : row->workdir,
    449446                                     label       ? label      : row->label,
     
    560557
    561558    if (psArrayLength(output)) {
    562         if (!ippdbPrintMetadatas(stdout, output, "chipBackgroundRun", !simple)) {
     559        if (!ippdbPrintMetadatas(stdout, output, "pendingchipBackgroundRun", !simple)) {
    563560            psError(psErrorCodeLast(), false, "failed to print array");
    564561            psFree(output);
     
    621618        return true;
    622619    }
    623     if (!ippdbPrintMetadatas(stdout, output, "chipBackgroundImfile", !simple)) {
     620    if (!ippdbPrintMetadatas(stdout, output, "pendingchipBackgroundImfile", !simple)) {
    624621        psError(psErrorCodeLast(), false, "failed to print array");
    625622        psFree(output);
     
    12951292    PXOPT_COPY_F32(config->args,   where, "-sun_angle_max",      "rawExp.sun_angle",      "<");
    12961293    pxAddLabelSearchArgs(config,   where, "-warp_label",         "warpRun.label",         "==");
    1297     pxAddLabelSearchArgs(config,   where, "-chip_label",         "chipBackgroundRun.label", "==");
     1294    pxAddLabelSearchArgs(config,   where, "-chip_bg_label",      "chipBackgroundRun.label", "==");
     1295    pxAddLabelSearchArgs(config,   where, "-chip_label",         "chipRun.label",         "==");
    12981296
    12991297    if (!psListLength(where->list) && !psMetadataLookupBool(NULL, config->args, "-all")) {
     
    13101308    PXOPT_LOOKUP_STR(dist_group, config->args, "-set_dist_group", false, false);
    13111309    PXOPT_LOOKUP_STR(reduction, config->args, "-set_reduction", false, false);
    1312     PXOPT_LOOKUP_STR(alt_cam_label, config->args, "-set_alt_cam_label", false, false);
    13131310    PXOPT_LOOKUP_STR(note, config->args, "-set_note", false, false);
    13141311    PXOPT_LOOKUP_TIME(registered, config->args, "-registered", false, false);
     
    13361333    }
    13371334
     1335    psString labelHook = psStringCopy("");
    13381336    if (!rerun) {
    1339         psStringAppend(&query, "\nAND warpBackgroundRun.warp_bg_id IS NULL");
    13401337        if (label) {
    1341             psStringAppend(&query,
    1342                            "\nAND (warpBackgroundRun.label = '%s'"
    1343                            " OR warpBackgroundRun.label IS NULL)",
    1344                            label);
    1345         }
    1346         if (data_group) {
    1347             psStringAppend(&query,
    1348                            "\nAND (warpBackgroundRun.data_group = '%s'"
    1349                            " OR warpBackgroundRun.data_group IS NULL)",
    1350                            data_group);
    1351         }
    1352         if (dist_group) {
    1353             psStringAppend(&query,
    1354                            "\nAND (warpBackgroundRun.dist_group = '%s'"
    1355                            " OR warpBackgroundRun.dist_group IS NULL)",
    1356                            dist_group);
    1357         }
     1338            // check for run with the newly specified label
     1339            psStringAppend(&labelHook, "\nAND (warpBackgroundRun.label = '%s')", label);
     1340        }
     1341        psStringAppend(&query, "\nAND warp_bg_id IS NULL");
    13581342    }
    13591343
     
    13631347    }
    13641348
    1365     if (!p_psDBRunQuery(config->dbh, query)) {
    1366         psError(psErrorCodeLast(), false, "database error");
     1349    if (!p_psDBRunQueryF(config->dbh, query, labelHook)) {
     1350        psError(psErrorCodeLast(), false, "database error");
     1351        psFree(labelHook);
    13671352        psFree(query);
    13681353        if (!psDBRollback(config->dbh)) {
     
    13711356        return false;
    13721357    }
     1358    psFree(labelHook);
    13731359    psFree(query);
    13741360
     
    13921378    if (pretend) {
    13931379        // negative simple so the default is true
    1394         if (!ippdbPrintMetadatas(stdout, output, "warpRun", !simple)) {
     1380        if (!ippdbPrintMetadatas(stdout, output, "warpBackgroundRun", !simple)) {
    13951381            psError(psErrorCodeLast(), false, "failed to print array");
    13961382            psFree(output);
     
    14091395        psS64 chip_bg_id = psMetadataLookupS64(NULL, md, "chip_bg_id");
    14101396
    1411         warpRunRow *row = warpRunObjectFromMetadata(md);
     1397       
     1398        warpBackgroundRunRow *row = warpBackgroundRunObjectFromMetadata(md);
    14121399        if (!row) {
    1413             psError(psErrorCodeLast(), false, "failed to convert metadata into fakeRun");
     1400            psError(psErrorCodeLast(), false, "failed to convert metadata into warpRun");
    14141401            psFree(output);
    14151402            if (!psDBRollback(config->dbh)) {
     
    14251412                                     dist_group  ? dist_group : row->dist_group,
    14261413                                     reduction   ? reduction  : row->reduction,
    1427                                      alt_cam_label,
    14281414                                     note        ? note       : row->note,
    14291415                                     NULL, 0)) {
Note: See TracChangeset for help on using the changeset viewer.