Index: trunk/ippTools/src/dettool.c
===================================================================
--- trunk/ippTools/src/dettool.c	(revision 13596)
+++ trunk/ippTools/src/dettool.c	(revision 13617)
@@ -2226,5 +2226,48 @@
         return false;
     }
+
     // optional
+    psF64 fringe_0 = psMetadataLookupF64(&status, config->args, "-fringe_0");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fringe_0");
+        return false;
+    }
+    psF64 fringe_1 = psMetadataLookupF64(&status, config->args, "-fringe_1");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fringe_1");
+        return false;
+    }
+    psF64 fringe_2 = psMetadataLookupF64(&status, config->args, "-fringe_2");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fringe_2");
+        return false;
+    }
+
+    psF64 user_1 = psMetadataLookupF64(&status, config->args, "-user_1");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_1");
+        return false;
+    }
+    psF64 user_2 = psMetadataLookupF64(&status, config->args, "-user_2");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_2");
+        return false;
+    }
+    psF64 user_3 = psMetadataLookupF64(&status, config->args, "-user_3");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_3");
+        return false;
+    }
+    psF64 user_4 = psMetadataLookupF64(&status, config->args, "-user_4");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_4");
+        return false;
+    }
+    psF64 user_5 = psMetadataLookupF64(&status, config->args, "-user_5");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_5");
+        return false;
+    }
+
     psString path_base = psMetadataLookupStr(&status, config->args, "-path_base");
     if (!status) {
@@ -2271,4 +2314,12 @@
         bg_stdev,
         bg_mean_stdev,
+	fringe_0,
+	fringe_1,
+	fringe_2,
+	user_1,
+	user_2,
+	user_3,
+	user_4,
+	user_5,
         path_base,
         code
@@ -2474,4 +2525,46 @@
     }
     // optional
+    psF64 fringe_0 = psMetadataLookupF64(&status, config->args, "-fringe_0");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fringe_0");
+        return false;
+    }
+    psF64 fringe_1 = psMetadataLookupF64(&status, config->args, "-fringe_1");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fringe_1");
+        return false;
+    }
+    psF64 fringe_2 = psMetadataLookupF64(&status, config->args, "-fringe_2");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fringe_2");
+        return false;
+    }
+
+    psF64 user_1 = psMetadataLookupF64(&status, config->args, "-user_1");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_1");
+        return false;
+    }
+    psF64 user_2 = psMetadataLookupF64(&status, config->args, "-user_2");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_2");
+        return false;
+    }
+    psF64 user_3 = psMetadataLookupF64(&status, config->args, "-user_3");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_3");
+        return false;
+    }
+    psF64 user_4 = psMetadataLookupF64(&status, config->args, "-user_4");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_4");
+        return false;
+    }
+    psF64 user_5 = psMetadataLookupF64(&status, config->args, "-user_5");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_5");
+        return false;
+    }
+
     psString path_base = psMetadataLookupStr(&status, config->args, "-path_base");
     if (!status) {
@@ -2551,4 +2644,12 @@
         bg_stdev,
         bg_mean_stdev,
+	fringe_0,
+	fringe_1,
+	fringe_2,
+	user_1,
+	user_2,
+	user_3,
+	user_4,
+	user_5,
         path_base,
         code
@@ -2940,4 +3041,31 @@
     }
 
+    // optional values
+    psF64 user_1 = psMetadataLookupF64(&status, config->args, "-user_1");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_1");
+        return false;
+    }
+    psF64 user_2 = psMetadataLookupF64(&status, config->args, "-user_2");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_2");
+        return false;
+    }
+    psF64 user_3 = psMetadataLookupF64(&status, config->args, "-user_3");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_3");
+        return false;
+    }
+    psF64 user_4 = psMetadataLookupF64(&status, config->args, "-user_4");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_4");
+        return false;
+    }
+    psF64 user_5 = psMetadataLookupF64(&status, config->args, "-user_5");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_5");
+        return false;
+    }
+
     // default values
     psS32 iteration = psMetadataLookupS32(&status, config->args, "-iteration");
@@ -2995,4 +3123,9 @@
             bg_stdev,
             bg_mean_stdev,
+	    user_1,
+	    user_2,
+	    user_3,
+	    user_4,
+	    user_5,
             code
         );
@@ -3833,4 +3966,32 @@
         return false;
     }
+
+    // optional
+    psF64 user_1 = psMetadataLookupF64(&status, config->args, "-user_1");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_1");
+        return false;
+    }
+    psF64 user_2 = psMetadataLookupF64(&status, config->args, "-user_2");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_2");
+        return false;
+    }
+    psF64 user_3 = psMetadataLookupF64(&status, config->args, "-user_3");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_3");
+        return false;
+    }
+    psF64 user_4 = psMetadataLookupF64(&status, config->args, "-user_4");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_4");
+        return false;
+    }
+    psF64 user_5 = psMetadataLookupF64(&status, config->args, "-user_5");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_5");
+        return false;
+    }
+
     // iteration has a default value
     psS32 iteration = psMetadataLookupS32(&status, config->args, "-iteration");
@@ -3918,4 +4079,9 @@
         bg_stdev,
         bg_mean_stdev,
+	user_1,
+	user_2,
+	user_3,
+	user_4,
+	user_5,
         path_base,
         code
@@ -4062,4 +4228,31 @@
     }
     // optional
+    psF64 user_1 = psMetadataLookupF64(&status, config->args, "-user_1");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_1");
+        return false;
+    }
+    psF64 user_2 = psMetadataLookupF64(&status, config->args, "-user_2");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_2");
+        return false;
+    }
+    psF64 user_3 = psMetadataLookupF64(&status, config->args, "-user_3");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_3");
+        return false;
+    }
+    psF64 user_4 = psMetadataLookupF64(&status, config->args, "-user_4");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_4");
+        return false;
+    }
+    psF64 user_5 = psMetadataLookupF64(&status, config->args, "-user_5");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_5");
+        return false;
+    }
+
+    // optional
     psString path_base = psMetadataLookupStr(&status, config->args, "-path_base");
     if (!status) {
@@ -4083,4 +4276,9 @@
         bg_stdev,
         bg_mean_stdev,
+	user_1,
+	user_2,
+	user_3,
+	user_4,
+	user_5,
         path_base,
         code
@@ -4582,8 +4780,57 @@
         return false;
     }
+    psF64 bin_stdev = psMetadataLookupF64(&status, config->args, "-bin_stdev");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bin_stdev");
+        return false;
+    }
+
     // optional
     psString path_base = psMetadataLookupStr(&status, config->args, "-path_base");
     if (!status) {
         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -path_base");
+        return false;
+    }
+
+    // optional
+    psF64 fringe_0 = psMetadataLookupF64(&status, config->args, "-fringe_0");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fringe_0");
+        return false;
+    }
+    psF64 fringe_1 = psMetadataLookupF64(&status, config->args, "-fringe_1");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fringe_1");
+        return false;
+    }
+    psF64 fringe_2 = psMetadataLookupF64(&status, config->args, "-fringe_2");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fringe_2");
+        return false;
+    }
+
+    psF64 user_1 = psMetadataLookupF64(&status, config->args, "-user_1");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_1");
+        return false;
+    }
+    psF64 user_2 = psMetadataLookupF64(&status, config->args, "-user_2");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_2");
+        return false;
+    }
+    psF64 user_3 = psMetadataLookupF64(&status, config->args, "-user_3");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_3");
+        return false;
+    }
+    psF64 user_4 = psMetadataLookupF64(&status, config->args, "-user_4");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_4");
+        return false;
+    }
+    psF64 user_5 = psMetadataLookupF64(&status, config->args, "-user_5");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_5");
         return false;
     }
@@ -4607,4 +4854,13 @@
             bg_stdev,
             bg_mean_stdev,
+	    bin_stdev,
+	    fringe_0,
+	    fringe_1,
+	    fringe_2,
+	    user_1,
+	    user_2,
+	    user_3,
+	    user_4,
+	    user_5,
             path_base,
             code
@@ -5091,4 +5347,52 @@
         return false;
     }
+    psF64 bin_stdev = psMetadataLookupF64(&status, config->args, "-bin_stdev");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bin_stdev");
+        return false;
+    }
+    // optional
+    psF64 fringe_0 = psMetadataLookupF64(&status, config->args, "-fringe_0");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fringe_0");
+        return false;
+    }
+    psF64 fringe_1 = psMetadataLookupF64(&status, config->args, "-fringe_1");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fringe_1");
+        return false;
+    }
+    psF64 fringe_2 = psMetadataLookupF64(&status, config->args, "-fringe_2");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fringe_2");
+        return false;
+    }
+
+    psF64 user_1 = psMetadataLookupF64(&status, config->args, "-user_1");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_1");
+        return false;
+    }
+    psF64 user_2 = psMetadataLookupF64(&status, config->args, "-user_2");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_2");
+        return false;
+    }
+    psF64 user_3 = psMetadataLookupF64(&status, config->args, "-user_3");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_3");
+        return false;
+    }
+    psF64 user_4 = psMetadataLookupF64(&status, config->args, "-user_4");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_4");
+        return false;
+    }
+    psF64 user_5 = psMetadataLookupF64(&status, config->args, "-user_5");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_5");
+        return false;
+    }
+
     // optional
     bool reject = psMetadataLookupBool(&status, config->args, "-reject");
@@ -5123,4 +5427,13 @@
             bg_stdev,
             bg_mean_stdev,
+	    bin_stdev,
+	    fringe_0,
+	    fringe_1,
+	    fringe_2,
+	    user_1,
+	    user_2,
+	    user_3,
+	    user_4,
+	    user_5,
             path_base,
             !reject,
@@ -6507,4 +6820,30 @@
     }
 
+    psF64 user_1 = psMetadataLookupF64(&status, config->args, "-user_1");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_1");
+        return false;
+    }
+    psF64 user_2 = psMetadataLookupF64(&status, config->args, "-user_2");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_2");
+        return false;
+    }
+    psF64 user_3 = psMetadataLookupF64(&status, config->args, "-user_3");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_3");
+        return false;
+    }
+    psF64 user_4 = psMetadataLookupF64(&status, config->args, "-user_4");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_4");
+        return false;
+    }
+    psF64 user_5 = psMetadataLookupF64(&status, config->args, "-user_5");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -user_5");
+        return false;
+    }
+
     psString path_base = psMetadataLookupStr(&status, config->args, "-path_base");
     if (!status) {
@@ -6518,14 +6857,19 @@
     // the det_id is valid
     if (!detNormalizedImfileInsert(config->dbh,
-            (psS64)atoll(det_id),
-            0,  // the iteration is fixed at 0
-            class_id,
-            uri,
-            bg,
-            bg_stdev,
-            bg_mean_stdev,
-            path_base,
-            0       // fault code
-    )) {
+				   (psS64)atoll(det_id),
+				   0,  // the iteration is fixed at 0
+				   class_id,
+				   uri,
+				   bg,
+				   bg_stdev,
+				   bg_mean_stdev,
+				   user_1,
+				   user_2,
+				   user_3,
+				   user_4,
+				   user_5,
+				   path_base,
+				   0       // fault code
+	    )) {
         psError(PS_ERR_UNKNOWN, false, "database error");
         return false;
