Changeset 27982
- Timestamp:
- May 17, 2010, 3:53:40 PM (16 years ago)
- Location:
- trunk/ippTools
- Files:
-
- 1 added
- 5 edited
-
share/Makefile.am (modified) (1 diff)
-
share/magictool_exposure.sql (added)
-
share/magictool_inputs.sql (modified) (2 diffs)
-
src/magictool.c (modified) (3 diffs)
-
src/magictool.h (modified) (1 diff)
-
src/magictoolConfig.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/share/Makefile.am
r27975 r27982 198 198 magictool_rawimfile.sql \ 199 199 magictool_revertnode.sql \ 200 magictool_exposure.sql \ 200 201 magicdstool_clearstatefaults.sql \ 201 202 magicdstool_completed_runs.sql \ -
trunk/ippTools/share/magictool_inputs.sql
r24213 r27982 2 2 SELECT 3 3 magicRun.magic_id, 4 magicRun.exp_id, 4 5 magicRun.inverse, -- Using the inverse subtraction? 5 6 magicRun.diff_id, … … 10 11 magicInputs.warp_path_base, -- path_base for the template warp (if any) 11 12 magicInputs.stack_path_base, -- path_base for the template stack (if any) 12 magicInputs.magic_path_base -- path_base for child nodes (if any) 13 magicInputs.magic_path_base, -- path_base for child nodes (if any) 14 magicInputs.cam_path_base -- path_base for the input camera 13 15 FROM magicRun 14 16 JOIN ( -
trunk/ippTools/src/magictool.c
r27274 r27982 48 48 static bool maskMode(pxConfig *config); 49 49 static bool censorrunMode(pxConfig *config); 50 static bool exposureMode(pxConfig *config); 50 51 51 52 static bool setmagicRunState(pxConfig *config, psS64 magic_id, const char *state); … … 87 88 MODECASE(MAGICTOOL_MODE_MASK, maskMode); 88 89 MODECASE(MAGICTOOL_MODE_CENSORRUN, censorrunMode); 90 MODECASE(MAGICTOOL_MODE_EXPOSURE, exposureMode); 89 91 default: 90 92 psAbort("invalid option (this should not happen)"); … … 1514 1516 return true; 1515 1517 } 1518 1519 1520 static bool exposureMode(pxConfig *config) 1521 { 1522 PS_ASSERT_PTR_NON_NULL(config, false); 1523 1524 psMetadata *where = psMetadataAlloc(); 1525 PXOPT_COPY_S64(config->args, where, "-magic_id", "magicRun.magic_id", "=="); 1526 PXOPT_COPY_BOOL(config->args, where, "-inverse", "magicRun.inverse", "=="); 1527 1528 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 1529 1530 psString query = pxDataGet("magictool_exposure.sql"); 1531 if (!query) { 1532 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); 1533 return false; 1534 } 1535 1536 psString whereClause = psStringCopy(""); // WHERE restrictions 1537 if (psListLength(where->list)) { 1538 psString clause = psDBGenerateWhereConditionSQL(where, NULL); 1539 psStringAppend(&whereClause, " AND %s", clause); 1540 psFree(clause); 1541 } 1542 psFree(where); 1543 1544 if (!p_psDBRunQueryF(config->dbh, query, whereClause, whereClause)) { 1545 psError(PS_ERR_UNKNOWN, false, "database error"); 1546 psFree(query); 1547 return false; 1548 } 1549 psFree(query); 1550 1551 psArray *output = p_psDBFetchResult(config->dbh); 1552 if (!output) { 1553 psErrorCode err = psErrorCodeLast(); 1554 switch (err) { 1555 case PS_ERR_DB_CLIENT: 1556 psError(PXTOOLS_ERR_SYS, false, "database error"); 1557 break; 1558 case PS_ERR_DB_SERVER: 1559 psError(PXTOOLS_ERR_PROG, false, "database error"); 1560 break; 1561 default: 1562 psError(PXTOOLS_ERR_PROG, false, "unknown error"); 1563 break; 1564 } 1565 return false; 1566 } 1567 if (!psArrayLength(output)) { 1568 psTrace("magictool", PS_LOG_INFO, "no rows found"); 1569 psFree(output); 1570 return true; 1571 } 1572 1573 if (!ippdbPrintMetadatas(stdout, output, "magicMask", !simple)) { 1574 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 1575 psFree(output); 1576 return false; 1577 } 1578 psFree(output); 1579 1580 return true; 1581 } -
trunk/ippTools/src/magictool.h
r24883 r27982 42 42 MAGICTOOL_MODE_MASK, 43 43 MAGICTOOL_MODE_CENSORRUN, 44 MAGICTOOL_MODE_EXPOSURE, 44 45 } MAGICtoolMode; 45 46 -
trunk/ippTools/src/magictoolConfig.c
r27274 r27982 168 168 psMetadataAddS64(censorrunArgs, PS_LIST_TAIL, "-exp_id", 0, "define exposure ID", 0); 169 169 psMetadataAddStr(censorrunArgs, PS_LIST_TAIL, "-label", 0, "define label", NULL); 170 171 // -exposure 172 psMetadata *exposureArgs = psMetadataAlloc(); 173 psMetadataAddS64(exposureArgs, PS_LIST_TAIL, "-magic_id", 0, "define magictool ID", 0); 174 psMetadataAddBool(exposureArgs, PS_LIST_TAIL, "-inverse", 0, "select the inverse subtraction?", false); 175 psMetadataAddBool(exposureArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 170 176 171 177 psFree(now); … … 191 197 PXOPT_ADD_MODE("-mask", "", MAGICTOOL_MODE_MASK, maskArgs); 192 198 PXOPT_ADD_MODE("-censorrun", "", MAGICTOOL_MODE_CENSORRUN, censorrunArgs); 199 PXOPT_ADD_MODE("-exposure", "", MAGICTOOL_MODE_EXPOSURE, exposureArgs); 193 200 194 201 if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) {
Note:
See TracChangeset
for help on using the changeset viewer.
