IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 8481


Ignore:
Timestamp:
Aug 22, 2006, 3:16:04 PM (20 years ago)
Author:
jhoblitt
Message:

implement -updateresidexp

Location:
trunk/ippTools/src
Files:
2 edited

Legend:

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

    r8464 r8481  
    33113311static bool updateresidexpMode(pxConfig *config)
    33123312{
     3313    PS_ASSERT_PTR_NON_NULL(config, false);
     3314
     3315    // build a query to search by det_id, iteration, exp_id
     3316    psMetadata *where = psMetadataAlloc();
     3317    bool status = false;
     3318    psString det_id = psMetadataLookupStr(&status, config->args, "-det_id");
     3319    if (!status) {
     3320        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -det_id");
     3321        psFree(where);
     3322        return false;
     3323    }
     3324    if (det_id) {
     3325        if (!psMetadataAddStr(where, PS_LIST_TAIL, "det_id", 0, "==", det_id)) {
     3326            psError(PS_ERR_UNKNOWN, false, "failed to add item det_id");
     3327            psFree(where);
     3328            return false;
     3329        }
     3330    }
     3331    psS32 iteration = psMetadataLookupS32(&status, config->args, "-iteration");
     3332    if (!status) {
     3333        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -iteration");
     3334        psFree(where);
     3335        return false;
     3336    }
     3337    // always where iteration
     3338    if (!psMetadataAddS32(where, PS_LIST_TAIL, "iteration", 0, "==", iteration)) {
     3339        psError(PS_ERR_UNKNOWN, false, "failed to add item iteration");
     3340        psFree(where);
     3341        return false;
     3342    }
     3343    psString exp_id = psMetadataLookupStr(&status, config->args, "-exp_id");
     3344    if (!status) {
     3345        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -exp_id");
     3346        psFree(where);
     3347        return false;
     3348    }
     3349    if (exp_id) {
     3350        if (!psMetadataAddStr(where, PS_LIST_TAIL, "exp_id", 0, "==", exp_id)) {
     3351            psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
     3352            psFree(where);
     3353            return false;
     3354        }
     3355    }
     3356
     3357    // find the values we're going to set
     3358    // copy everything but det_id, iteration, & exp_id from the args and
     3359    // remove the '-' prefix
     3360    psMetadata *set = psMetadataAlloc();
     3361    psString recipe = psMetadataLookupStr(&status, config->args, "-recip");
     3362    if (!status) {
     3363        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -recip");
     3364        psFree(set);
     3365        psFree(where);
     3366        return false;
     3367    }
     3368    if (recipe) {
     3369        if (!psMetadataAddStr(set, PS_LIST_TAIL, "recipe", 0, "==", recipe)) {
     3370            psError(PS_ERR_UNKNOWN, false, "failed to add item recipe");
     3371            psFree(set);
     3372            psFree(where);
     3373            return false;
     3374        }
     3375    }
     3376
     3377    psF64 bg = psMetadataLookupF64(&status, config->args, "-bg");
     3378    if (!status) {
     3379        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg");
     3380        psFree(set);
     3381        psFree(where);
     3382        return false;
     3383    }
     3384    if (!isnan(bg)) {
     3385        if (!psMetadataAddF64(set, PS_LIST_TAIL, "bg", 0, "==", bg)) {
     3386            psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
     3387            psFree(set);
     3388            psFree(where);
     3389            return false;
     3390        }
     3391    }
     3392
     3393    psF64 bg_stdev = psMetadataLookupF64(&status, config->args, "-bg_stdev");
     3394    if (!status) {
     3395        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg_stdev");
     3396        psFree(set);
     3397        psFree(where);
     3398        return false;
     3399    }
     3400    if (!isnan(bg_stdev)) {
     3401        if (!psMetadataAddF64(set, PS_LIST_TAIL, "bg_stdev", 0, "==", bg_stdev)) {
     3402            psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev");
     3403            psFree(set);
     3404            psFree(where);
     3405            return false;
     3406        }
     3407    }
     3408
     3409    psF64 bg_mean_stdev = psMetadataLookupF64(&status, config->args, "-bg_mean_stdev");
     3410    if (!status) {
     3411        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg_mean_stdev");
     3412        psFree(set);
     3413        psFree(where);
     3414        return false;
     3415    }
     3416    if (!isnan(bg_mean_stdev)) {
     3417        if (!psMetadataAddF64(set, PS_LIST_TAIL, "bg_mean_stdev", 0, "==", bg_mean_stdev)) {
     3418            psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
     3419            psFree(set);
     3420            psFree(where);
     3421            return false;
     3422        }
     3423    }
     3424
     3425    psString b1_uri = psMetadataLookupStr(&status, config->args, "-b1_uri");
     3426    if (!status) {
     3427        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -b1_uri");
     3428        psFree(set);
     3429        psFree(where);
     3430        return false;
     3431    }
     3432    if (b1_uri) {
     3433        if (!psMetadataAddStr(set, PS_LIST_TAIL, "b1_uri", 0, "==", b1_uri)) {
     3434            psError(PS_ERR_UNKNOWN, false, "failed to add item b1_uri");
     3435            psFree(set);
     3436            psFree(where);
     3437            return false;
     3438        }
     3439    }
     3440
     3441    psString b2_uri = psMetadataLookupStr(&status, config->args, "-b2_uri");
     3442    if (!status) {
     3443        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -b2_uri");
     3444        psFree(set);
     3445        psFree(where);
     3446        return false;
     3447    }
     3448    if (b2_uri) {
     3449        if (!psMetadataAddStr(set, PS_LIST_TAIL, "b2_uri", 0, "==", b2_uri)) {
     3450            psError(PS_ERR_UNKNOWN, false, "failed to add item b2_uri");
     3451            psFree(set);
     3452            psFree(where);
     3453            return false;
     3454        }
     3455    }
     3456
     3457    bool reject = psMetadataLookupBool(&status, config->args, "-reject");
     3458    if (!status) {
     3459        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -reject");
     3460        psFree(set);
     3461        psFree(where);
     3462        return false;
     3463    }
     3464    if (!psMetadataAddBool(set, PS_LIST_TAIL, "accept", 0, "==", !reject)) {
     3465        psError(PS_ERR_UNKNOWN, false, "failed to add item accept");
     3466        psFree(set);
     3467        psFree(where);
     3468        return false;
     3469    }
     3470
     3471    long changed = psDBUpdateRows(config->dbh, "detResidExp", where, set);
     3472    psFree(set);
     3473    psFree(where);
     3474
     3475    if (changed < 0) {
     3476        psError(PS_ERR_UNKNOWN, false, "no rows were updated");
     3477        return false;
     3478    }
     3479
    33133480    return true;
    33143481}
  • trunk/ippTools/src/dettoolConfig.c

    r8465 r8481  
    369369    psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-recip",  0,
    370370        "define recipe", NULL);
     371    psMetadataAddF64(updateresidexpArgs, PS_LIST_TAIL, "-bg",  0,
     372        "define exposue background", NAN);
     373    psMetadataAddF64(updateresidexpArgs, PS_LIST_TAIL, "-bg_stdev",  0,
     374        "define exposue background stdev", NAN);
     375    psMetadataAddF64(updateresidexpArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
     376        "define exposue background mean stdev", NAN);
     377    psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-b1_uri",  0,
     378        "define banana 1", NULL);
     379    psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-b2_uri",  0,
     380        "define banana 2", NULL);
    371381    psMetadataAddBool(updateresidexpArgs, PS_LIST_TAIL, "-reject",  0,
    372         "reject residuals", false);
     382        "exposure is not to be stacked in the next iteration", false);
    373383
    374384    // -declaremasterframe
Note: See TracChangeset for help on using the changeset viewer.