IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 7372


Ignore:
Timestamp:
Jun 6, 2006, 2:11:06 PM (20 years ago)
Author:
jhoblitt
Message:

change -normalized to mask out imfiles with residuals

File:
1 edited

Legend:

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

    r7371 r7372  
    12371237   
    12381238    // det_id is required
    1239     // psString det_id is unused... it is only checked for to make sure it is
    1240     // in config->where
     1239    // psString det_id is unused in the first query... it is checked for to
     1240    // make sure it is in config->where
    12411241    bool status = false;
    12421242    psString det_id = psMetadataLookupStr(&status, config->args, "-det_id");
     
    12501250    }
    12511251
    1252     psArray *masterImfiles =
     1252    psArray *normalizedImfiles =
    12531253        detNormalizedImfileSelectRowObjects(config->dbh, config->where, 0);
    1254     if (!masterImfiles) {
     1254    if (!normalizedImfiles) {
    12551255        psError(PS_ERR_UNKNOWN, false, "no detNormalizedImfile rows found");
    12561256        return false;
     1257    }
     1258
     1259    // mask out normalized imfiles that have residuals registered for them
     1260    psArray *residImfiles = detResidImfileAnalysisSelectRowObjects(config->dbh,
     1261            config->where, 0);
     1262    if (!residImfiles) {
     1263        psError(PS_ERR_UNKNOWN, false, "no detResidImfileAnalysis rows found");
     1264        return false;
     1265    }
     1266
     1267    if (residImfiles) {
     1268        for (long i = 0; i < psArrayLength(normalizedImfiles); i++) {
     1269            for (long j = 0; j < psArrayLength(residImfiles); j++) {
     1270                if (
     1271                (((detNormalizedImfileRow *)normalizedImfiles->data[i])->det_id
     1272                    ==
     1273                ((detResidImfileAnalysisRow *)residImfiles->data[j])->det_id)
     1274                &&
     1275                (strcmp(
     1276                ((detProcessedImfileRow *)normalizedImfiles->data[i])->exp_id,
     1277                ((detResidImfileAnalysisRow *)residImfiles->data[j])->exp_id) == 0)
     1278                &&
     1279                (strcmp(
     1280                ((detProcessedImfileRow *)normalizedImfiles->data[i])->class_id,
     1281                ((detResidImfileAnalysisRow *)residImfiles->data[j])->class_id) == 0)
     1282                ) {
     1283
     1284                    // remove the rawImfiles from the list
     1285                    psArrayRemove(normalizedImfiles, normalizedImfiles->data[i]);
     1286                    i--;
     1287                    break;
     1288                }
     1289            }
     1290        }
     1291        psFree(residImfiles);
    12571292    }
    12581293
    12591294    // print detNormalizedImfiles
    12601295    psMetadata *output = psMetadataAlloc();
    1261     for (long i = 0; i < psArrayLength(masterImfiles); i++) {
     1296    for (long i = 0; i < psArrayLength(normalizedImfiles); i++) {
    12621297        psMetadata *md = detStackedImfileMetadataFromObject(
    1263                 masterImfiles->data[i]);
     1298                normalizedImfiles->data[i]);
    12641299        psMetadataAddMetadata(
    12651300            output, PS_LIST_TAIL, "detNormalizedImfile", PS_META_DUPLICATE_OK,
Note: See TracChangeset for help on using the changeset viewer.