Index: trunk/ippTools/src/dettool.c
===================================================================
--- trunk/ippTools/src/dettool.c	(revision 13606)
+++ 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;
Index: trunk/ippTools/src/dettoolConfig.c
===================================================================
--- trunk/ippTools/src/dettoolConfig.c	(revision 13606)
+++ trunk/ippTools/src/dettoolConfig.c	(revision 13617)
@@ -304,11 +304,27 @@
             "define recipe (required)", NULL);
     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-bg",  0,
-            "define exposue background (required)", NAN);
+            "define exposure background (required)", NAN);
     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,
-            "define exposue background stdev (required)", NAN);
+            "define exposure background stdev (required)", NAN);
     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
-            "define exposue background mean stdev", NAN);
+            "define exposure background mean stdev", NAN);
+    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-fringe_0",  0,
+            "define fringe slope (0th term)", NAN);
+    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-fringe_1",  0,
+            "define fringe slope (1st term)", NAN);
+    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-fringe_2",  0,
+            "define fringe slope (2nd term)", NAN);
+    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_1",  0,
+            "define user statistic (1)", NAN);
+    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_2",  0,
+            "define user statistic (2)", NAN);
+    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_3",  0,
+            "define user statistic (3)", NAN);
+    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_4",  0,
+            "define user statistic (4)", NAN);
+    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_5",  0,
+            "define user statistic (5)", NAN);
     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-path_base",  0,
-            "define banana 1", NULL);
+            "define base output location", NULL);
     psMetadataAddS16(addprocessedimfileArgs, PS_LIST_TAIL, "-code",  0,
             "set fault code", 0);
@@ -351,11 +367,27 @@
             "define recipe (required)", NULL);
     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-bg",  0,
-            "define exposue background (required)", NAN);
+            "define exposure background (required)", NAN);
     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-bg_stdev",  0,
-            "define exposue background stdev (required)", NAN);
+            "define exposure background stdev (required)", NAN);
     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
-            "define exposue background mean stdev", NAN);
+            "define exposure background mean stdev", NAN);
+    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-fringe_0",  0,
+            "define fringe slope (0th term)", NAN);
+    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-fringe_1",  0,
+            "define fringe slope (1st term)", NAN);
+    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-fringe_2",  0,
+            "define fringe slope (2nd term)", NAN);
+    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_1",  0,
+            "define user statistic (1)", NAN);
+    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_2",  0,
+            "define user statistic (2)", NAN);
+    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_3",  0,
+            "define user statistic (3)", NAN);
+    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_4",  0,
+            "define user statistic (4)", NAN);
+    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_5",  0,
+            "define user statistic (5)", NAN);
     psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-path_base",  0,
-            "define banana 1", NULL);
+            "define base output location", NULL);
     psMetadataAddS16(addprocessedexpArgs, PS_LIST_TAIL, "-code",  0,
             "set fault code", 0);
@@ -392,9 +424,19 @@
             "define recipe (required)", NULL);
     psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-bg",  0,
-            "define exposue background (required)", NAN);
+            "define exposure background (required)", NAN);
     psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-bg_stdev",  0,
-            "define exposue background stdev (required)", NAN);
+            "define exposure background stdev (required)", NAN);
     psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
-            "define exposue background mean stdev", NAN);
+            "define exposure background mean stdev", NAN);
+    psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-user_1",  0,
+            "define user statistic (1)", NAN);
+    psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-user_2",  0,
+            "define user statistic (2)", NAN);
+    psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-user_3",  0,
+            "define user statistic (3)", NAN);
+    psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-user_4",  0,
+            "define user statistic (4)", NAN);
+    psMetadataAddF64(addstackedArgs, PS_LIST_TAIL, "-user_5",  0,
+            "define user statistic (5)", NAN);
     psMetadataAddStr(addstackedArgs, PS_LIST_TAIL, "-uri",  0,
             "define URI (required)", NULL);
@@ -457,11 +499,21 @@
             "define URI (required)", NULL);
     psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-bg", 0,
-            "define exposue background", NAN);
+            "define exposure background", NAN);
     psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-bg_stdev", 0,
-            "define exposue background stdev", NAN);
+            "define exposure background stdev", NAN);
     psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-bg_mean_stdev", 0,
-            "define exposue background mean stdev", NAN);
+            "define exposure background mean stdev", NAN);
+    psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-user_1",  0,
+            "define user statistic (1)", NAN);
+    psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-user_2",  0,
+            "define user statistic (2)", NAN);
+    psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-user_3",  0,
+            "define user statistic (3)", NAN);
+    psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-user_4",  0,
+            "define user statistic (4)", NAN);
+    psMetadataAddF64(addnormalizedimfileArgs, PS_LIST_TAIL, "-user_5",  0,
+            "define user statistic (5)", NAN);
     psMetadataAddStr(addnormalizedimfileArgs, PS_LIST_TAIL, "-path_base", 0,
-            "define banana 1", NULL);
+            "define base output location", NULL);
     psMetadataAddS16(addnormalizedimfileArgs, PS_LIST_TAIL, "-code",  0,
             "set fault code", 0);
@@ -483,11 +535,23 @@
             "search for recipe (required)", NULL);
     psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-bg",  0,
-            "define exposue background (required)", NAN);
+            "define exposure background (required)", NAN);
     psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-bg_stdev",  0,
-            "define exposue background stdev (required)", NAN);
+            "define exposure background stdev (required)", NAN);
     psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
-            "define exposue background mean stdev", NAN);
+            "define exposure background mean stdev", NAN);
+
+    psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-user_1",  0,
+            "define user statistic (1)", NAN);
+    psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-user_2",  0,
+            "define user statistic (2)", NAN);
+    psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-user_3",  0,
+            "define user statistic (3)", NAN);
+    psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-user_4",  0,
+            "define user statistic (4)", NAN);
+    psMetadataAddF64(addnormalizedexpArgs, PS_LIST_TAIL, "-user_5",  0,
+            "define user statistic (5)", NAN);
+
     psMetadataAddStr(addnormalizedexpArgs, PS_LIST_TAIL, "-path_base",  0,
-            "define banana 1", NULL);
+            "define base output location", NULL);
     psMetadataAddS16(addnormalizedexpArgs, PS_LIST_TAIL, "-code",  0,
             "set fault code", 0);
@@ -502,11 +566,11 @@
             "search for recipe", NULL);
     psMetadataAddF64(normalizedexpArgs, PS_LIST_TAIL, "-bg",  0,
-            "define exposue background", NAN);
+            "define exposure background", NAN);
     psMetadataAddF64(normalizedexpArgs, PS_LIST_TAIL, "-bg_stdev",  0,
-            "define exposue background stdev", NAN);
+            "define exposure background stdev", NAN);
     psMetadataAddF64(normalizedexpArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
-            "define exposue background mean stdev", NAN);
+            "define exposure background mean stdev", NAN);
     psMetadataAddStr(normalizedexpArgs, PS_LIST_TAIL, "-path_base",  0,
-            "define banana 1", NULL);
+            "define base output location", NULL);
     psMetadataAddU64(normalizedexpArgs, PS_LIST_TAIL, "-limit",  0,
             "limit result set to N items", 0);
@@ -562,11 +626,29 @@
             "define recipe (required)", NULL);
     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg",  0,
-            "define exposue background (required)", NAN);
+            "define exposure background (required)", NAN);
     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,
-            "define exposue background stdev (required)", NAN);
+            "define exposure background stdev (required)", NAN);
     psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
-            "define exposue background mean stdev", NAN);
+            "define exposure background mean stdev", NAN);
+    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-bin_stdev",  0,
+            "define exposure background binned stdev", NAN);
+    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_0",  0,
+            "define fringe slope (0th term)", NAN);
+    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_1",  0,
+            "define fringe slope (1st term)", NAN);
+    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-fringe_2",  0,
+            "define fringe slope (2nd term)", NAN);
+    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-user_1",  0,
+            "define user statistic (1)", NAN);
+    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-user_2",  0,
+            "define user statistic (2)", NAN);
+    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-user_3",  0,
+            "define user statistic (3)", NAN);
+    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-user_4",  0,
+            "define user statistic (4)", NAN);
+    psMetadataAddF64(addresidimfileArgs, PS_LIST_TAIL, "-user_5",  0,
+            "define user statistic (5)", NAN);
     psMetadataAddStr(addresidimfileArgs, PS_LIST_TAIL, "-path_base",  0,
-            "define banana 1", NULL);
+            "define base output location", NULL);
     psMetadataAddS16(addresidimfileArgs, PS_LIST_TAIL, "-code",  0,
             "set fault code", 0);
@@ -602,11 +684,29 @@
             "define recipe (required)", NULL);
     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bg",  0,
-            "define exposue background (required)", NAN);
+            "define exposure background (required)", NAN);
     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bg_stdev",  0,
-            "define exposue background stdev (required)", NAN);
+            "define exposure background stdev (required)", NAN);
     psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
-            "define exposue background mean stdev", NAN);
+            "define exposure background mean stdev", NAN);
+    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-bin_stdev",  0,
+            "define exposure background binned stdev", NAN);
+    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_0",  0,
+            "define fringe slope (0th term)", NAN);
+    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_1",  0,
+            "define fringe slope (1st term)", NAN);
+    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-fringe_2",  0,
+            "define fringe slope (2nd term)", NAN);
+    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-user_1",  0,
+            "define user statistic (1)", NAN);
+    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-user_2",  0,
+            "define user statistic (2)", NAN);
+    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-user_3",  0,
+            "define user statistic (3)", NAN);
+    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-user_4",  0,
+            "define user statistic (4)", NAN);
+    psMetadataAddF64(addresidexpArgs, PS_LIST_TAIL, "-user_5",  0,
+            "define user statistic (5)", NAN);
     psMetadataAddStr(addresidexpArgs, PS_LIST_TAIL, "-path_base",  0,
-            "define banana 1", NULL);
+            "define base output location", NULL);
     psMetadataAddS16(addresidexpArgs, PS_LIST_TAIL, "-code",  0,
             "set fault code", 0);
@@ -651,11 +751,11 @@
             "define recipe", NULL);
     psMetadataAddF64(updateresidexpArgs, PS_LIST_TAIL, "-bg",  0,
-            "define exposue background", NAN);
+            "define exposure background", NAN);
     psMetadataAddF64(updateresidexpArgs, PS_LIST_TAIL, "-bg_stdev",  0,
-            "define exposue background stdev", NAN);
+            "define exposure background stdev", NAN);
     psMetadataAddF64(updateresidexpArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
-            "define exposue background mean stdev", NAN);
+            "define exposure background mean stdev", NAN);
     psMetadataAddStr(updateresidexpArgs, PS_LIST_TAIL, "-path_base",  0,
-            "define banana 1", NULL);
+            "define base output location", NULL);
     psMetadataAddBool(updateresidexpArgs, PS_LIST_TAIL, "-reject",  0,
             "exposure is not to be stacked in the next iteration", false);
@@ -668,9 +768,9 @@
             "define iteration number", 0);
     psMetadataAddF64(adddetrunsummaryArgs, PS_LIST_TAIL, "-bg",  0,
-            "define exposue background (required)", NAN);
+            "define exposure background (required)", NAN);
     psMetadataAddF64(adddetrunsummaryArgs, PS_LIST_TAIL, "-bg_stdev",  0,
-            "define exposue background stdev (required)", NAN);
+            "define exposure background stdev (required)", NAN);
     psMetadataAddF64(adddetrunsummaryArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
-            "define exposue background mean stdev", NAN);
+            "define exposure background mean stdev", NAN);
     psMetadataAddS16(adddetrunsummaryArgs, PS_LIST_TAIL, "-code",  0,
             "set fault code", 0);
@@ -752,9 +852,9 @@
             "end of detrend run applicable peroid", NULL);
     psMetadataAddF64(register_detrendArgs, PS_LIST_TAIL, "-bg",  0,
-            "define exposue background", NAN);
+            "define exposure background", NAN);
     psMetadataAddF64(register_detrendArgs, PS_LIST_TAIL, "-bg_stdev",  0,
-            "define exposue background stdev", NAN);
+            "define exposure background stdev", NAN);
     psMetadataAddF64(register_detrendArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
-            "define exposue background mean stdev", NAN);
+            "define exposure background mean stdev", NAN);
     psMetadataAddStr(register_detrendArgs, PS_LIST_TAIL, "-parent",  0,
             "define parent det_id", NULL);
@@ -771,11 +871,11 @@
             "define resid file URI (required)", NULL);
     psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-bg",  0,
-            "define exposue background", NAN);
+            "define exposure background", NAN);
     psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,
-            "define exposue background stdev", NAN);
+            "define exposure background stdev", NAN);
     psMetadataAddF64(register_detrend_imfileArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
-            "define exposue background mean stdev", NAN);
+            "define exposure background mean stdev", NAN);
     psMetadataAddStr(register_detrend_imfileArgs, PS_LIST_TAIL, "-path_base",  0,
-            "define banana 1", NULL);
+            "define base output location", NULL);
 
     psFree(now);
Index: trunk/ippTools/src/regtool.c
===================================================================
--- trunk/ippTools/src/regtool.c	(revision 13606)
+++ trunk/ippTools/src/regtool.c	(revision 13617)
@@ -940,4 +940,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 object = psMetadataLookupStr(&status, config->args, "-object");
     if (!status) {
@@ -991,4 +1017,9 @@
         ccd_temp,
         posang,
+	user_1,
+	user_2,
+	user_3,
+	user_4,
+	user_5,
         object,
         0.0,
@@ -1098,4 +1129,30 @@
     if (!status) {
         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -posang");
+        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;
     }
@@ -1147,4 +1204,9 @@
         ccd_temp,
         posang,
+	user_1,
+	user_2,
+	user_3,
+	user_4,
+	user_5,
         object,
         dateobs,
Index: trunk/ippTools/src/regtoolConfig.c
===================================================================
--- trunk/ippTools/src/regtoolConfig.c	(revision 13606)
+++ trunk/ippTools/src/regtoolConfig.c	(revision 13617)
@@ -95,4 +95,14 @@
     psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-posang",  0,
         "define rotator position angle", NAN);
+    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_1",  0,
+            "define user statistic (1)", NAN);
+    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_2",  0,
+            "define user statistic (2)", NAN);
+    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_3",  0,
+            "define user statistic (3)", NAN);
+    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_4",  0,
+            "define user statistic (4)", NAN);
+    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-user_5",  0,
+            "define user statistic (5)", NAN);
     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-object",  0,
         "define exposure object", NULL);
@@ -178,4 +188,14 @@
     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-posang",  0,
         "define rotator position angle", NAN);
+    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_1",  0,
+            "define user statistic (1)", NAN);
+    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_2",  0,
+            "define user statistic (2)", NAN);
+    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_3",  0,
+            "define user statistic (3)", NAN);
+    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_4",  0,
+            "define user statistic (4)", NAN);
+    psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-user_5",  0,
+            "define user statistic (5)", NAN);
     psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-object",  0,
         "define exposure object", NULL);
