IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jun 7, 2006, 5:39:15 PM (20 years ago)
Author:
jhoblitt
Message:

flesh out iteration support
rename -addmasterframe -> -declaremasterframe

File:
1 edited

Legend:

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

    r7421 r7422  
    2727static bool addresidexpMode(pxConfig *config);
    2828static bool residexpMode(pxConfig *config);
    29 static bool addmasterframeMode(pxConfig *config);
     29static bool declaremasterframeMode(pxConfig *config);
    3030static bool masterframeMode(pxConfig *config);
    3131static bool masterMode(pxConfig *config);
     
    6262        MODECASE(DETTOOL_MODE_ADDRESIDEXP, addresidexpMode);
    6363        MODECASE(DETTOOL_MODE_RESIDEXP, residexpMode);
    64         MODECASE(DETTOOL_MODE_ADDMASTERFRAME, addmasterframeMode);
     64        MODECASE(DETTOOL_MODE_DECLAREMASTERFRAME, declaremasterframeMode);
    6565        MODECASE(DETTOOL_MODE_MASTERFRAME, masterframeMode);
    6666        MODECASE(DETTOOL_MODE_MASTER, masterMode);
     
    8383
    8484    // what type of detRun is this?
    85     // det_type & iteration are required
     85    // det_type is required
    8686    psString det_type = psMetadataLookupStr(&status, config->args, "-det_type");
    8787    if (!status) {
     
    9393        return false;
    9494    }
    95     psS32 iteration = psMetadataLookupS32(&status, config->args, "-iteration");
    96     if (!status) {
    97         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -iteration");
    98         return false;
    99     }
    100     if (!iteration) {
    101         psError(PS_ERR_UNKNOWN, true, "-iteration is required");
    102         return false;
    103     }   
    10495
    10596    // start a transaction so we don't end up with orphaned det_ids
     
    161152
    162153    // check that the specified exp_ids actually exist
    163     psArray *rawExps = rawDetrendExpSelectRowObjects(config->dbh, where, 0);
     154    psArray *detrendExps = rawDetrendExpSelectRowObjects(config->dbh, where, 0);
    164155    psFree(where);
    165     if (!rawExps) {
     156    if (!detrendExps) {
    166157        psError(PS_ERR_UNKNOWN, false, "no rawDetrendExp rows found");
    167158        // rollback
     
    173164
    174165    if (item->type == PS_DATA_METADATA_MULTI) {
    175         // we should have one rawExp row be exp_id specified
    176         if (psListLength(item->data.list) != psArrayLength(rawExps)) {
     166        // we should have one rawDetrendExp row be exp_id specified
     167        if (psListLength(item->data.list) != psArrayLength(detrendExps)) {
    177168            // rollback
    178169            if (!psDBRollback(config->dbh)) {
     
    180171            }
    181172            psAbort(config->argv[0],
    182         "an -exp_id matched more then one rawExp (this should not happen");
     173        "an -exp_id matched more then one rawDetrendExp (this should not happen");
    183174
    184175        }
    185176    } else {
    186177        // we should have matched only one exp_id
    187         if (psArrayLength(rawExps) != 1) {
     178        if (psArrayLength(detrendExps) != 1) {
    188179            // rollback
    189180            if (!psDBRollback(config->dbh)) {
     
    191182            }
    192183            psAbort(config->argv[0],
    193         "an -exp_id matched more then one rawExp (this should not happen");
    194         }
    195     }
    196 
    197     // create new detInputExp row(s) from the rawExp row(s)
    198     psArray *inputExps = psArrayAlloc(psArrayLength(rawExps));
    199     for (long i = 0; i < psArrayLength(rawExps); i++) {
     184        "-exp_id matched more then one rawDetrendExp (this should not happen");
     185        }
     186    }
     187
     188    // create new detInputExp row(s) from the rawDetrendExp row(s)
     189    psArray *inputExps = psArrayAlloc(psArrayLength(detrendExps));
     190    for (long i = 0; i < psArrayLength(detrendExps); i++) {
    200191        detInputExpRow *inputExp = rawDetrenTodetInputExpRow(
    201             rawExps->data[i],
     192            detrendExps->data[i],
    202193            det_id,
    203             iteration
     194            0 // the first iteration is explicitly 0
    204195        );
    205196        psArrayAdd(inputExps, 0, inputExp);
     
    780771        return false;
    781772    }
    782     psS32 iteration = psMetadataLookupS32(&status, config->args, "-iteration");
    783     if (!status) {
    784         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -iteration");
    785         return false;
    786     }
    787     if (!iteration) {
    788         psError(PS_ERR_UNKNOWN, true, "-iteration is required");
    789         return false;
    790     }   
    791773    psString class_id = psMetadataLookupStr(&status, config->args, "-class_id");
    792774    if (!status) {
     
    823805    if (!recipe) {
    824806        psError(PS_ERR_UNKNOWN, true, "-recipe is required");
     807        return false;
     808    }
     809
     810    // iteration has a default value
     811    psS32 iteration = psMetadataLookupS32(&status, config->args, "-iteration");
     812    if (!status) {
     813        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -iteration");
    825814        return false;
    826815    }
     
    10811070        psMetadata *where = psMetadataAlloc();
    10821071        for (long i = 0; i < psArrayLength(inputExps); i++) {
    1083             if (!psMetadataAddStr(where, PS_LIST_TAIL, "exp_id", 0, "==",
     1072            if (!psMetadataAddStr(where, PS_LIST_TAIL, "exp_id",
     1073                    PS_META_DUPLICATE_OK, "==",
    10841074                    ((detInputExpRow *)inputExps->data[i])->exp_id)) {
    10851075                psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
     
    11151105        return false;
    11161106    }
    1117     psS32 iteration = psMetadataLookupS32(&status, config->args, "-iteration");
    1118     if (!status) {
    1119         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -iteration");
    1120         return false;
    1121     }
    1122     if (!iteration) {
    1123         psError(PS_ERR_UNKNOWN, true, "-iteration is required");
    1124         return false;
    1125     }   
    11261107    psString class_id = psMetadataLookupStr(&status, config->args, "-class_id");
    11271108    if (!status) {
     
    11421123        return false;
    11431124    }
     1125    psString stats = psMetadataLookupStr(&status, config->args, "-stats");
     1126    if (!status) {
     1127        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -stats");
     1128        return false;
     1129    }
     1130    if (!stats) {
     1131        psError(PS_ERR_UNKNOWN, true, "-stats is required");
     1132        return false;
     1133    }
    11441134    psString recipe = psMetadataLookupStr(&status, config->args, "-recipe");
    11451135    if (!status) {
     
    11511141        return false;
    11521142    }
    1153     psString stats = psMetadataLookupStr(&status, config->args, "-stats");
    1154     if (!status) {
    1155         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -stats");
    1156         return false;
    1157     }
    1158     if (!stats) {
    1159         psError(PS_ERR_UNKNOWN, true, "-stats is required");
     1143
     1144    // iteration has a default value
     1145    psS32 iteration = psMetadataLookupS32(&status, config->args, "-iteration");
     1146    if (!status) {
     1147        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -iteration");
    11601148        return false;
    11611149    }
     
    12421230    psArray *residImfiles = detResidImfileAnalysisSelectRowObjects(config->dbh,
    12431231            config->where, 0);
    1244     if (!residImfiles) {
    1245         psError(PS_ERR_UNKNOWN, false, "no detResidImfileAnalysis rows found");
    1246         return false;
    1247     }
    1248 
    12491232    if (residImfiles) {
    12501233        for (long i = 0; i < psArrayLength(normalizedImfiles); i++) {
     
    13861369        return false;
    13871370    }
    1388     psS32 iteration = psMetadataLookupS32(&status, config->args, "-iteration");
    1389     if (!status) {
    1390         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -iteration");
    1391         return false;
    1392     }
    1393     if (!iteration) {
    1394         psError(PS_ERR_UNKNOWN, true, "-iteration is required");
    1395         return false;
    1396     }   
    13971371    psString exp_id = psMetadataLookupStr(&status, config->args, "-exp_id");
    13981372    if (!status) {
     
    14291403    if (!recipe) {
    14301404        psError(PS_ERR_UNKNOWN, true, "-recipe is required");
     1405        return false;
     1406    }
     1407
     1408    // iteration has a default value
     1409    psS32 iteration = psMetadataLookupS32(&status, config->args, "-iteration");
     1410    if (!status) {
     1411        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -iteration");
    14311412        return false;
    14321413    }
     
    15501531        return false;
    15511532    }
    1552     psS32 iteration = psMetadataLookupS32(&status, config->args, "-iteration");
    1553     if (!status) {
    1554         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -iteration");
    1555         return false;
    1556     }
    1557     if (!iteration) {
    1558         psError(PS_ERR_UNKNOWN, true, "-iteration is required");
    1559         return false;
    1560     }   
    15611533    psString exp_id = psMetadataLookupStr(&status, config->args, "-exp_id");
    15621534    if (!status) {
     
    15841556    if (!recipe) {
    15851557        psError(PS_ERR_UNKNOWN, true, "-recipe is required");
     1558        return false;
     1559    }
     1560
     1561    // iteration has a default value
     1562    psS32 iteration = psMetadataLookupS32(&status, config->args, "-iteration");
     1563    if (!status) {
     1564        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -iteration");
    15861565        return false;
    15871566    }
     
    16761655}
    16771656
    1678 static bool addmasterframeMode(pxConfig *config)
     1657static bool declaremasterframeMode(pxConfig *config)
    16791658{
    16801659    PS_ASSERT_PTR_NON_NULL(config, false);
     
    16911670        return false;
    16921671    }
    1693     psString iteration = psMetadataLookupStr(&status, config->args, "-iteration");
     1672
     1673    // iteration has a default value
     1674    psS32 iteration = psMetadataLookupS32(&status, config->args, "-iteration");
    16941675    if (!status) {
    16951676        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -iteration");
    1696         return false;
    1697     }
    1698     if (!iteration) {
    1699         psError(PS_ERR_UNKNOWN, true, "-iteration is required");
    17001677        return false;
    17011678    }
     
    17101687    detMasterFrameRow *masterFrame = detMasterFrameRowAlloc(
    17111688                (psS32)atol(det_id),
    1712                 (psS32)atol(iteration),
     1689                iteration,
    17131690                comment // may be NULL
    17141691            );
     
    17771754        psMetadata *output = psMetadataAlloc();
    17781755        for (long i = 0; i < psArrayLength(normalizedImfiles); i++) {
    1779             psMetadata *md = detMasterFrameMetadataFromObject(
     1756            psMetadata *md = detNormalizedImfileMetadataFromObject(
    17801757                    normalizedImfiles->data[i]);
    17811758            psMetadataAddMetadata(
Note: See TracChangeset for help on using the changeset viewer.