Index: /branches/end_stage/ippTools/src/flatcorr.c
===================================================================
--- /branches/end_stage/ippTools/src/flatcorr.c	(revision 16102)
+++ /branches/end_stage/ippTools/src/flatcorr.c	(revision 16103)
@@ -128,15 +128,10 @@
     PS_ASSERT_PTR_NON_NULL(config, false);
 
+    PXOPT_LOOKUP_STR(exp_id, config->args, "-exp_id", false, false);
+
     psMetadata *where = psMetadataAlloc();
     // convert exp_id into a psS64
-{
-    bool status = false;
-    psString var = psMetadataLookupStr(&status, config->args, "-exp_id");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -exp_id");
-        return false;
-    }
-    if (var) {
-        if (!psMetadataAddS64(where, PS_LIST_TAIL, "exp_id", 0, "==", (psS64)atoll(var))) {
+    if (exp_id) {
+        if (!psMetadataAddS64(where, PS_LIST_TAIL, "exp_id", 0, "==", (psS64)atoll(exp_id))) {
             psError(PS_ERR_UNKNOWN, false, "failed to add item exp_id");
             psFree(where);
@@ -144,5 +139,5 @@
         }
     }
-}
+
     ADDPARAMSTR(config->args, where, "exp_name");
     ADDRENAMEPARAMSTR(config->args, where, "inst", "camera", "==");
@@ -188,46 +183,11 @@
     }
 
-    bool status = false;
-    psString workdir = psMetadataLookupStr(&status, config->args, "-set_workdir");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -set_workdir");
-        return false;
-    }
-
-    psString label = psMetadataLookupStr(&status, config->args, "-set_label");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -set_label");
-        return false;
-    }
-
-    psString reduction = psMetadataLookupStr(&status, config->args, "-set_reduction");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -set_reduction");
-        return false;
-    }
-
-    psString expgroup = psMetadataLookupStr(&status, config->args, "-set_expgroup");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -set_expgroup");
-        return false;
-    }
-
-    psString dvodb = psMetadataLookupStr(&status, config->args, "-set_dvodb");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -set_dvodb");
-        return false;
-    }
-
-    psString tess_id = psMetadataLookupStr(&status, config->args, "-set_tess_id");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -set_tess_id");
-        return false;
-    }
-
-    psString end_stage = psMetadataLookupStr(&status, config->args, "-set_end_stage");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -set_end_stage");
-        return false;
-    }
+    PXOPT_LOOKUP_STR(workdir, config->args, "-set_workdir", false, false);
+    PXOPT_LOOKUP_STR(label, config->args, "-set_label", false, false);
+    PXOPT_LOOKUP_STR(reduction, config->args, "-set_reduction", false, false);
+    PXOPT_LOOKUP_STR(expgroup, config->args, "-set_expgroup", false, false);
+    PXOPT_LOOKUP_STR(dvodb, config->args, "-set_dvodb", false, false);
+    PXOPT_LOOKUP_STR(tess_id, config->args, "-set_tess_id", false, false);
+    PXOPT_LOOKUP_STR(end_stage, config->args, "-set_end_stage", false, false);
 
     // find the exp_id of all the exposures that we want to queue up.
@@ -294,4 +254,5 @@
         psMetadata *md = output->data[i];
 
+        bool status;
         psS64 exp_id = psMetadataLookupS64(&status, md, "exp_id");
         if (!status) {
@@ -352,4 +313,6 @@
     PS_ASSERT_PTR_NON_NULL(config, false);
 
+    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
+
     // create a temp table to hold completely processed chipRuns
 {
@@ -420,14 +383,4 @@
     }
 
-    bool simple = false;
-    {
-        bool status = false;
-        simple = psMetadataLookupBool(&status, config->args, "-simple");
-        if (!status) {
-            psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -simple");
-            return false;
-        }
-    }
-
     if (psArrayLength(output)) {
         // negative simple so the default is true
@@ -449,11 +402,6 @@
     PS_ASSERT_PTR_NON_NULL(config, false);
 
-
-    bool status = false;
-    psU64 limit = psMetadataLookupU64(&status, config->args, "-limit");
-    if (!status) {
-        psError(PXTOOLS_ERR_PROG, false, "failed to lookup value for -limit");
-        return false;
-    }
+    PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false);
+    PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
 
     // find all rawImfiles matching the default query
@@ -504,13 +452,4 @@
     }
 
-    bool simple = false;
-    {
-        bool status = false;
-        simple = psMetadataLookupBool(&status, config->args, "-simple");
-        if (!status) {            psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -simple");
-            return false;
-        }
-    }
-
     if (psArrayLength(output)) {
         if (!convertIdToStr(output)) {
@@ -538,16 +477,6 @@
     PS_ASSERT_PTR_NON_NULL(config, false);
 
-    bool status = false;
-    psString corr_id = psMetadataLookupStr(&status, config->args, "-corr_id");
-    if (!status) {
-        psError(PXTOOLS_ERR_PROG, false, "failed to lookup value for -corr_id");
-        return false;
-    }
-
-    psString stats = psMetadataLookupStr(&status, config->args, "-stats");
-    if (!status) {
-        psError(PXTOOLS_ERR_PROG, false, "failed to lookup value for -stats");
-        return false;
-    }
+    PXOPT_LOOKUP_STR(corr_id, config->args, "-corr_id", true, false);
+    PXOPT_LOOKUP_STR(stats, config->args, "-stats", true, false);
 
     if (!psDBTransaction(config->dbh)) {
