Changeset 19621 for trunk/ippTools/src
- Timestamp:
- Sep 19, 2008, 2:11:37 PM (18 years ago)
- Location:
- trunk/ippTools/src
- Files:
-
- 5 edited
-
dettool.c (modified) (10 diffs)
-
dettoolConfig.c (modified) (7 diffs)
-
dettool_correction.c (modified) (2 diffs)
-
dettool_processedimfile.c (modified) (4 diffs)
-
dettool_residimfile.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/dettool.c
r19092 r19621 234 234 // optional 235 235 PXOPT_LOOKUP_STR(filelevel, config->args, "-filelevel", false, false); 236 PXOPT_LOOKUP_STR(mode, config->args, "-mode", false, false); 236 237 237 // check mode 238 if (mode && !isValidMode(config, mode)) { 239 psError(PS_ERR_UNKNOWN, false, "invalud mode"); 240 return false; 241 } 238 PXOPT_LOOKUP_STR(mode, config->args, "-mode", true, false); // default ('master') is supplied 239 if (!isValidMode(config, mode)) { 240 psError(PS_ERR_UNKNOWN, false, "invalid mode"); 241 return false; 242 } 243 244 // get -ref_det_id and -ref_iter : required for 'verify' mode / disallowed otherwise 245 PXOPT_LOOKUP_S64(ref_det_id, config->args, "-ref_det_id", true, false); 246 PXOPT_LOOKUP_S32(ref_iter, config->args, "-ref_iter", true, false); 247 if (!strncmp(mode, "verify", 7) && ((ref_det_id == 0) || (ref_iter == -1))) { 248 psError(PS_ERR_UNKNOWN, false, "verify mode requires both -ref_det_id and -ref_iter"); 249 return false; 250 } 251 if (strncmp(mode, "verify", 7) && ((ref_det_id != 0) || (ref_iter != -1))) { 252 psError(PS_ERR_UNKNOWN, false, "master mode cannot have -ref_det_id or -ref_iter set"); 253 return false; 254 } 255 242 256 PXOPT_LOOKUP_STR(camera, config->args, "-inst", false, false); 243 257 PXOPT_LOOKUP_STR(telescope, config->args, "-telescope", false, false); … … 368 382 solang_max, 369 383 label, 370 0 // parent 384 ref_det_id, 385 ref_iter 371 386 ); 372 387 psS64 det_id = psDBLastInsertID(config->dbh); … … 469 484 PXOPT_LOOKUP_STR(camera, config->args, "-inst", true, false); 470 485 471 // optional472 PXOPT_LOOKUP_STR(mode, config->args, "-mode", false, false);473 486 // check mode 474 if (mode && !isValidMode(config, mode)) { 487 PXOPT_LOOKUP_STR(mode, config->args, "-mode", true, false); // default ('master') is supplied 488 if (!isValidMode(config, mode)) { 475 489 psError(PS_ERR_UNKNOWN, false, "invalid mode"); 476 490 return false; 477 491 } 492 493 // get -ref_det_id and -ref_iter : required for 'verify' mode / disallowed otherwise 494 PXOPT_LOOKUP_S64(ref_det_id, config->args, "-ref_det_id", false, false); 495 PXOPT_LOOKUP_S32(ref_iter, config->args, "-ref_iter", false, false); 496 if (!strncmp(mode, "verify", 7) && ((ref_det_id == 0) || (ref_iter == -1))) { 497 psError(PS_ERR_UNKNOWN, false, "verify mode requires both -ref_det_id and -ref_iter"); 498 return false; 499 } 500 if (strncmp(mode, "verify", 7) && ((ref_det_id != 0) || (ref_iter != -1))) { 501 psError(PS_ERR_UNKNOWN, false, "master mode cannot have -ref_det_id or -ref_iter set"); 502 return false; 503 } 504 478 505 PXOPT_LOOKUP_STR(filelevel, config->args, "-filelevel", false, false); 479 506 PXOPT_LOOKUP_STR(telescope, config->args, "-telescope", false, false); … … 623 650 solang_max, 624 651 label, 625 0 // parent 652 ref_det_id, 653 ref_iter 626 654 ); 627 655 psS64 det_id = psDBLastInsertID(config->dbh); … … 692 720 { 693 721 PS_ASSERT_PTR_NON_NULL(config, false); 694 695 722 723 // XXX this mode is not well-tested: probably need to specify iteration here 724 // XXX pass the supplied det_id and iteration as ref_det_id, or get from command line? 696 725 PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required 697 726 PXOPT_LOOKUP_STR(det_type, config->args, "-set_det_type", false, false); // optional … … 745 774 746 775 // pull the detRun object out the result array 776 // XXX need to assign or re-assign the ref_det_id and ref_iter values 747 777 detRunRow *detRun = psMemIncrRefCounter(detRuns->data[0]); 748 778 … … 962 992 963 993 PXOPT_COPY_STR(config->args, where, "-inst", "camera", "=="); 994 PXOPT_COPY_STR(config->args, where, "-mode", "mode", "=="); 964 995 PXOPT_COPY_STR(config->args, where, "-telescope", "telescope", "=="); 965 996 PXOPT_COPY_STR(config->args, where, "-filter", "filter", "=="); … … 1541 1572 PXOPT_LOOKUP_TIME(use_begin, config->args, "-use_begin", false, false); 1542 1573 PXOPT_LOOKUP_TIME(use_end, config->args, "-use_end", false, false); 1543 PXOPT_LOOKUP_S64(parent, config->args, "-parent", false, false); 1574 PXOPT_LOOKUP_S64(ref_det_id, config->args, "-ref_det_id", false, false); 1575 PXOPT_LOOKUP_S32(ref_iter, config->args, "-ref_iter", false, false); 1544 1576 PXOPT_LOOKUP_STR(label, config->args, "-label", false, false); 1545 1577 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); … … 1578 1610 solang_min, 1579 1611 solang_max, 1580 label, // label 1581 parent 1612 label, 1613 ref_det_id, 1614 ref_iter 1582 1615 )) { 1583 1616 psError(PS_ERR_UNKNOWN, false, "database error"); … … 1751 1784 1752 1785 // check that state is a valid string value 1753 if (!( 1754 (strncmp(mode, "master", 7) == 0) 1755 || (strncmp(mode, "verify", 7) == 0) 1756 ) 1757 ) { 1758 psError(PS_ERR_UNKNOWN, false, 1759 "invalid detRun mode: %s", mode); 1760 return false; 1761 } 1762 1763 return true; 1786 if (!strncmp(mode, "master", 7)) return true; 1787 if (!strncmp(mode, "verify", 7)) return true; 1788 1789 psError(PS_ERR_UNKNOWN, false, "invalid detRun mode: %s", mode); 1790 return false; 1764 1791 } 1765 1792 -
trunk/ippTools/src/dettoolConfig.c
r19092 r19621 78 78 psMetadataAddStr(definebytagArgs, PS_LIST_TAIL, "-label", 0, "define detrun label", NULL); 79 79 psMetadataAddBool(definebytagArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 80 81 psMetadataAddS64(definebytagArgs, PS_LIST_TAIL, "-ref_det_id", 0, "define reference detrend (verify mode only)", 0); 82 psMetadataAddS32(definebytagArgs, PS_LIST_TAIL, "-ref_iter", 0, "define reference detrend (verify mode only)", -1); 80 83 81 84 // -definebyquery … … 129 132 psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-random_subset", 0, "use a random subset of elements", false); 130 133 psMetadataAddS32(definebyqueryArgs, PS_LIST_TAIL, "-random_limit", 0, "use this number of random elements", 20); 134 psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-ref_det_id", 0, "define reference detrend (verify mode only)", 0); 135 psMetadataAddS32(definebyqueryArgs, PS_LIST_TAIL, "-ref_iter", 0, "define reference detrend (verify mode only)", -1); 131 136 132 137 // -definebydetrun … … 163 168 // -makecorrection 164 169 psMetadata *makecorrectionArgs = psMetadataAlloc(); 165 psMetadataAddS64(makecorrectionArgs, PS_LIST_TAIL, "-det_id", 0, "det ID to be corrected (required)", 0); 170 psMetadataAddS64(makecorrectionArgs, PS_LIST_TAIL, "-det_id", 0, "detRun det_id to be corrected (required)", 0); 171 psMetadataAddS32(makecorrectionArgs, PS_LIST_TAIL, "-iteration", 0, "detRun iteration to be corrected (required)", -1);; 166 172 psMetadataAddBool(makecorrectionArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 167 173 … … 203 209 psMetadataAddF32(runsArgs, PS_LIST_TAIL, "-ccd_temp", 0, "match ccd temp", NAN); 204 210 psMetadataAddF64(runsArgs, PS_LIST_TAIL, "-posang", 0, "match posang", NAN); 211 psMetadataAddStr(runsArgs, PS_LIST_TAIL, "-mode", 0, "search for det run by mode", NULL); 205 212 psMetadataAddBool(runsArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 206 213 psMetadataAddBool(runsArgs, PS_LIST_TAIL, "-active", 0, "only return active detRuns", false); … … 216 223 psMetadata *inputArgs = psMetadataAlloc(); 217 224 psMetadataAddS64(inputArgs, PS_LIST_TAIL, "-det_id", 0, "search for detrend ID", 0); 218 psMetadataAddS32(inputArgs, PS_LIST_TAIL, "-iteration", 0, " define iteration number", 0);225 psMetadataAddS32(inputArgs, PS_LIST_TAIL, "-iteration", 0, "search for iteration number (default 0)", 0); 219 226 psMetadataAddS64(inputArgs, PS_LIST_TAIL, "-exp_id", 0, "search for exp ID", 0); 220 227 psMetadataAddBool(inputArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); … … 591 598 592 599 // -addresidimfile 600 // XXX does a default value of 0 mean the entry is not instatiated? what about a supplied value of 0? 593 601 psMetadata *addresidimfileArgs = psMetadataAlloc(); 594 602 psMetadataAddS64(addresidimfileArgs, PS_LIST_TAIL, "-det_id", 0, "define detrend ID (required)", 0); 595 psMetadataAddS32(addresidimfileArgs, PS_LIST_TAIL, "-iteration", 0, "define iteration number", 0); 603 psMetadataAddS32(addresidimfileArgs, PS_LIST_TAIL, "-iteration", 0, "define iteration number", 0); 604 psMetadataAddS64(addresidimfileArgs, PS_LIST_TAIL, "-ref_det_id", 0, "define reference detrend ID (required)", 0); 605 psMetadataAddS32(addresidimfileArgs, PS_LIST_TAIL, "-ref_iter", 0, "define reference iteration number (required)", -1); 596 606 psMetadataAddS64(addresidimfileArgs, PS_LIST_TAIL, "-exp_id", 0, "define detrend ID (required)", 0); 597 psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-class_id", 0, "define class ID (required)", NULL);598 psMetadataAddS16(addresidimfileArgs, PS_LIST_TAIL, "-code", 0, "set fault code", 0);599 psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-uri", 0, "define resid file URI", NULL);600 psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-recip", 0, "define recipe", NULL);601 psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg", 0, "define exposure background", NAN);607 psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-class_id", 0, "define class ID (required)", NULL); 608 psMetadataAddS16(addresidimfileArgs, PS_LIST_TAIL, "-code", 0, "set fault code", 0); 609 psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-uri", 0, "define resid file URI", NULL); 610 psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-recip", 0, "define recipe", NULL); 611 psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg", 0, "define exposure background", NAN); 602 612 psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg_stdev", 0, "define exposure background stdev", NAN); 603 613 psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg_mean_stdev", 0, "define exposure background mean stdev", NAN); … … 815 825 psMetadataAddTime(register_detrendArgs, PS_LIST_TAIL, "-use_begin", 0, "start of detrend run applicable period", NULL); 816 826 psMetadataAddTime(register_detrendArgs, PS_LIST_TAIL, "-use_end", 0, "end of detrend run applicable period", NULL); 817 psMetadataAddS64(register_detrendArgs, PS_LIST_TAIL, "-parent", 0, "define parent det_id", 0); 827 psMetadataAddS64(register_detrendArgs, PS_LIST_TAIL, "-ref_det_id", 0, "define reference det_id", 0); 828 psMetadataAddS32(register_detrendArgs, PS_LIST_TAIL, "-ref_iter", 0, "define reference iteration", -1); 818 829 psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-label", 0, "define detrun label", NULL); 819 830 psMetadataAddBool(register_detrendArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); -
trunk/ippTools/src/dettool_correction.c
r19092 r19621 24 24 PS_ASSERT_PTR_NON_NULL(config, false); 25 25 26 PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required 26 PXOPT_LOOKUP_S64(ref_det_id, config->args, "-det_id", true, false); // required 27 PXOPT_LOOKUP_S32(ref_iter, config->args, "-iteration", true, false); // required 27 28 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); // optional 28 29 29 30 // build the needed where 30 31 psMetadata *where = psMetadataAlloc(); 31 psMetadataAddS64(where, PS_LIST_TAIL, "det_id", 0, "==", det_id); 32 psMetadataAddS64(where, PS_LIST_TAIL, "det_id", 0, "==", ref_det_id); 33 psMetadataAddS32(where, PS_LIST_TAIL, "iteration", 0, "==", ref_iter); 32 34 psArray *runs = detRunSelectRowObjects(config->dbh, where, 1); 33 35 psFree (where); … … 74 76 detRun->solang_max, 75 77 detRun->label, 76 detRun->det_id // parent 78 detRun->det_id, // ref_det_id 79 detRun->iteration // ref_iter 77 80 ); 78 81 -
trunk/ippTools/src/dettool_processedimfile.c
r19092 r19621 165 165 PS_ASSERT_PTR_NON_NULL(config, false); 166 166 167 char *value = NULL;167 bool hasWhere = false; 168 168 169 169 PXOPT_LOOKUP_BOOL(included, config->args, "-included", false); … … 173 173 174 174 psMetadata *where = psMetadataAlloc(); 175 PXOPT_COPY_S64(config->args, where, "-det_id", "det_id", "=="); 176 PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "=="); 177 PXOPT_COPY_STR(config->args, where, "-class_id", "class_id", "=="); 175 PXOPT_COPY_S64(config->args, where, "-det_id", "detProcessedImfile.det_id", "=="); 176 PXOPT_COPY_S64(config->args, where, "-exp_id", "detProcessedImfile.exp_id", "=="); 177 PXOPT_COPY_STR(config->args, where, "-class_id", "detProcessedImfile.class_id", "=="); 178 PXOPT_COPY_STR(config->args, where, "-select_state", "detRun.state", "=="); 179 PXOPT_COPY_STR(config->args, where, "-select_mode", "detRun.mode", "=="); 178 180 179 181 psString query = pxDataGet("dettool_processedimfile.sql"); … … 184 186 } 185 187 186 // add the two required restrictions: detRun.state and detRun.mode187 // NOTE the above query requires one of the following two WHERE statements188 {189 bool status;190 if ((value = psMetadataLookupStr(&status, config->args, "-select_state"))) {191 psStringAppend(&query, " WHERE detRun.state = '%s'", value);192 } else {193 psStringAppend(&query, " WHERE detRun.state = 'run'");194 }195 if ((value = psMetadataLookupStr(&status, config->args, "-select_mode"))) {196 psStringAppend(&query, " AND detRun.mode = '%s'", value);197 } else {198 psStringAppend(&query, " AND detRun.mode = 'master'");199 }200 }201 202 188 if (psListLength(where->list)) { 203 psString whereClause = psDBGenerateWhere ConditionSQL(where, "detProcessedImfile");204 psStringAppend(&query, " AND%s", whereClause);189 psString whereClause = psDBGenerateWhereSQL(where, NULL); 190 psStringAppend(&query, " %s", whereClause); 205 191 psFree(whereClause); 192 hasWhere = true; 206 193 } 207 194 psFree (where); … … 209 196 // restrict search to included imfiles 210 197 if (included) { 211 psStringAppend(&query, " AND detInputExp.include = 1"); 198 if (hasWhere) { 199 psStringAppend(&query, " AND detInputExp.include = 1"); 200 } else { 201 psStringAppend(&query, " WHERE detInputExp.include = 1"); 202 } 203 hasWhere = true; 204 } 205 206 if (hasWhere) { 207 psStringAppend(&query, " AND"); 208 } else { 209 psStringAppend(&query, " WHERE"); 212 210 } 213 211 214 212 if (faulted) { 215 // list only faulted rows 216 psStringAppend(&query, " %s", "AND detProcessedImfile.fault != 0"); 213 psStringAppend(&query, " %s", " detProcessedImfile.fault != 0"); 217 214 } else { 218 215 // don't list faulted rows 219 psStringAppend(&query, " %s", " ANDdetProcessedImfile.fault = 0");216 psStringAppend(&query, " %s", " detProcessedImfile.fault = 0"); 220 217 } 221 218 -
trunk/ippTools/src/dettool_residimfile.c
r19092 r19621 78 78 PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required 79 79 PXOPT_LOOKUP_S32(iteration, config->args, "-iteration", false, false); 80 81 PXOPT_LOOKUP_S64(ref_det_id, config->args, "-ref_det_id", true, false); // required 82 PXOPT_LOOKUP_S32(ref_iter, config->args, "-ref_iter", true, false); 83 80 84 PXOPT_LOOKUP_S64(exp_id, config->args, "-exp_id", true, false); // required 81 85 PXOPT_LOOKUP_STR(class_id, config->args, "-class_id", true, false); // required … … 106 110 det_id, 107 111 iteration, 112 ref_det_id, 113 ref_iter, 108 114 exp_id, 109 115 class_id,
Note:
See TracChangeset
for help on using the changeset viewer.
