Index: /trunk/dbconfig/cam.md
===================================================================
--- /trunk/dbconfig/cam.md	(revision 13648)
+++ /trunk/dbconfig/cam.md	(revision 13649)
@@ -13,22 +13,27 @@
 camProcessedExp METADATA
 # the camPendingExp row gets deleted so we can not put a fkey on cam_id
-    cam_id      S64         0       # Primary Key
-    chip_id     S64         0       # Primary Key fkey(chip_id) ref chipProcessedExp(chip_id)
-    workdir     STR         255 
-    label       STR         64      # key
-    recipe      STR         64
-    expgroup    STR         64      # key
-    dvodb       STR         255
-    uri         STR         255
-    bg          F64         0.0
-    bg_stdev    F64         0.0
-    bg_mean_stdev   F64     0.0
-    sigma_ra    F32         0.0
-    sigma_dec   F32         0.0
-    nastro      S32         0
-    path_base   STR         255
-    zp_mean     F32         0.0
-    zp_stdev    F32         0.0
-    fault       S16         0       # Key NOT NULL
+    cam_id         S64      0       # Primary Key
+    chip_id        S64      0       # Primary Key fkey(chip_id) ref chipProcessedExp(chip_id)
+    workdir        STR      255 
+    label          STR      64      # key
+    recipe         STR      64
+    expgroup       STR      64      # key
+    dvodb          STR      255
+    uri            STR      255
+    bg             F32      0.0
+    bg_stdev       F32      0.0
+    bg_mean_stdev  F32      0.0
+    sigma_ra       F32      0.0
+    sigma_dec      F32      0.0
+    zp_mean        F32      0.0
+    zp_stdev       F32      0.0
+    fwhm           F32      0.0
+    fwhm_range     F32      0.0
+    n_stars        S32      0
+    n_extended     S32      0
+    n_cr           S32      0
+    n_astrom       S32      0
+    path_base      STR      255
+    fault          S16      0       # Key NOT NULL
 END
 
Index: /trunk/dbconfig/chip.md
===================================================================
--- /trunk/dbconfig/chip.md	(revision 13648)
+++ /trunk/dbconfig/chip.md	(revision 13649)
@@ -48,10 +48,25 @@
 # fixed) but guide_id needs to wait until we know if this can be tracked at
 # just the exp level.
-    class_id    STR         64      # Primary Key
-    uri         STR         255
-    bg          F64         0.0
-    bg_stdev    F64         0.0
-    bg_mean_stdev   F64     0.0
-    path_base   STR         255
-    fault       S16         0       # Key NOT NULL
+    class_id        STR     64      # Primary Key
+    uri             STR     255
+    bg              F32     0.0
+    bg_stdev        F32     0.0
+    bg_mean_stdev   F32     0.0
+    bias	    F32	    0.0
+    bias_stdev      F32	    0.0
+    fringe_0        F32     0.0
+    fringe_1        F32     0.0
+    fringe_2        F32     0.0
+    sigma_ra        F32     0.0
+    sigma_dec       F32     0.0
+    ap_resid        F32	    0.0
+    ap_resid_stdev  F32	    0.0
+    fwhm            F32     0.0
+    fwhm_range      F32     0.0
+    n_stars         S32	    0
+    n_extended      S32	    0
+    n_cr            S32	    0
+    n_astrom        S32     0
+    path_base       STR     255
+    fault           S16     0       # Key NOT NULL
 END
Index: /trunk/dbconfig/config.md
===================================================================
--- /trunk/dbconfig/config.md	(revision 13648)
+++ /trunk/dbconfig/config.md	(revision 13649)
@@ -2,4 +2,4 @@
     pkg_name        STR     ippdb
     pkg_namespace   STR     ippdb
-    pkg_version     STR     1.1.20
+    pkg_version     STR     1.1.21
 END
Index: /trunk/ippTools/configure.ac
===================================================================
--- /trunk/ippTools/configure.ac	(revision 13648)
+++ /trunk/ippTools/configure.ac	(revision 13649)
@@ -1,5 +1,5 @@
 AC_PREREQ(2.59)
 
-AC_INIT([ipptools], [1.1.20], [ipp-support@ifa.hawaii.edu])
+AC_INIT([ipptools], [1.1.21], [ipp-support@ifa.hawaii.edu])
 AC_CONFIG_SRCDIR([autogen.sh])
 
@@ -18,5 +18,5 @@
 PKG_CHECK_MODULES([PSLIB], [pslib >= 1.1.0])
 PKG_CHECK_MODULES([PSMODULES], [psmodules >= 1.1.0])
-PKG_CHECK_MODULES([IPPDB], [ippdb >= 1.1.19]) 
+PKG_CHECK_MODULES([IPPDB], [ippdb >= 1.1.21]) 
 
 PXTOOLS_CFLAGS="${PSLIB_CFLAGS=} ${PSMODULES_CFLAGS=} ${IPPDB_CFLAGS=}"
Index: /trunk/ippTools/src/camtool.c
===================================================================
--- /trunk/ippTools/src/camtool.c	(revision 13648)
+++ /trunk/ippTools/src/camtool.c	(revision 13649)
@@ -483,14 +483,4 @@
     }
 
-    psS32 nastro = psMetadataLookupS32(&status, config->args, "-nastro");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -nastro");
-        return false;
-    }
-    if (nastro < 0) {
-        psError(PS_ERR_UNKNOWN, true, "-nastro is required");
-        return false;
-    }
-
     psF32 zp_mean = psMetadataLookupF32(&status, config->args, "-zp_mean");
     if (!status) {
@@ -510,4 +500,64 @@
     if (isnan(zp_stdev)) {
         psError(PS_ERR_UNKNOWN, true, "-zp_stdev is required");
+        return false;
+    }
+
+    psF32 fwhm = psMetadataLookupF32(&status, config->args, "-fwhm");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fwhm");
+        return false;
+    }
+    if (isnan(fwhm)) {
+        psError(PS_ERR_UNKNOWN, true, "-fwhm is required");
+        return false;
+    }
+
+    psF32 fwhm_range = psMetadataLookupF32(&status, config->args, "-fwhm_range");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fwhm_range");
+        return false;
+    }
+    if (isnan(fwhm_range)) {
+        psError(PS_ERR_UNKNOWN, true, "-fwhm_range is required");
+        return false;
+    }
+
+    psS32 n_stars = psMetadataLookupS32(&status, config->args, "-n_stars");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -n_stars");
+        return false;
+    }
+    if (n_stars < 0) {
+        psError(PS_ERR_UNKNOWN, true, "-n_stars is required");
+        return false;
+    }
+
+    psS32 n_extended = psMetadataLookupS32(&status, config->args, "-n_extended");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -n_extended");
+        return false;
+    }
+    if (n_extended < 0) {
+        psError(PS_ERR_UNKNOWN, true, "-n_extended is required");
+        return false;
+    }
+
+    psS32 n_cr = psMetadataLookupS32(&status, config->args, "-n_cr");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -n_cr");
+        return false;
+    }
+    if (n_cr < 0) {
+        psError(PS_ERR_UNKNOWN, true, "-n_cr is required");
+        return false;
+    }
+
+    psS32 n_astrom = psMetadataLookupS32(&status, config->args, "-n_astrom");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -n_astrom");
+        return false;
+    }
+    if (n_astrom < 0) {
+        psError(PS_ERR_UNKNOWN, true, "-n_astrom is required");
         return false;
     }
@@ -576,8 +626,13 @@
         sigma_ra,
         sigma_dec,
-        nastro,
-        path_base,
         zp_mean,
         zp_stdev,
+	fwhm,
+	fwhm_range,
+	n_stars,
+	n_extended,
+	n_cr,
+	n_astrom,
+        path_base,
         code
     );
Index: /trunk/ippTools/src/camtoolConfig.c
===================================================================
--- /trunk/ippTools/src/camtoolConfig.c	(revision 13648)
+++ /trunk/ippTools/src/camtoolConfig.c	(revision 13649)
@@ -77,9 +77,9 @@
             "search by exposure time", NAN);
     psMetadataAddF64(queueArgs, PS_LIST_TAIL, "-bg",  0,
-            "search by exposue background", NAN);
+            "search by exposure background", NAN);
     psMetadataAddF64(queueArgs, PS_LIST_TAIL, "-bg_stdev",  0,
-            "search by exposue background stdev", NAN);
+            "search by exposure background stdev", NAN);
     psMetadataAddF64(queueArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
-            "search by exposue background mean stdev", NAN);
+            "search by exposure background mean stdev", NAN);
     psMetadataAddF64(queueArgs, PS_LIST_TAIL, "-alt",  0,
             "search by altitute", NAN);
@@ -136,19 +136,29 @@
             "define URI (required)", NULL);
     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-bg", 0,
-            "define exposue background", NAN);
+            "define exposure background", NAN);
     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-bg_stdev", 0,
-            "define exposue background stdev", NAN);
+            "define exposure background stdev", NAN);
     psMetadataAddF64(addprocessedexpArgs, PS_LIST_TAIL, "-bg_mean_stdev", 0,
-            "define exposue background mean stdev", NAN);
+            "define exposure background mean stdev", NAN);
     psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-sigma_ra", 0,
             "define exposure E ra (required)", NAN);
     psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-sigma_dec", 0,
             "define exposure E dec (required)", NAN);
-    psMetadataAddS32(addprocessedexpArgs, PS_LIST_TAIL, "-nastro", 0,
-            "define number of objects (required)", -1);
     psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-zp_mean", 0,
             "define zero point mean (required)", NAN);
     psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-zp_stdev", 0,
             "define zero point stdev (required)", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-fwhm", 0,
+            "define FWHM in arcsec (required)", NAN);
+    psMetadataAddF32(addprocessedexpArgs, PS_LIST_TAIL, "-fhwm_range", 0,
+            "define FWHM range in arcsec (required)", NAN);
+    psMetadataAddS32(addprocessedexpArgs, PS_LIST_TAIL, "-n_stars", 0,
+            "define number of stars (required)", -1);
+    psMetadataAddS32(addprocessedexpArgs, PS_LIST_TAIL, "-n_extended", 0,
+            "define number of extended objects (required)", -1);
+    psMetadataAddS32(addprocessedexpArgs, PS_LIST_TAIL, "-n_cr", 0,
+            "define number of cosmic rays (required)", -1);
+    psMetadataAddS32(addprocessedexpArgs, PS_LIST_TAIL, "-n_astrom", 0,
+            "define number of astrometry reference objects (required)", -1);
     psMetadataAddStr(addprocessedexpArgs, PS_LIST_TAIL, "-path_base", 0,
             "define banana 1", NULL);
Index: /trunk/ippTools/src/chiptool.c
===================================================================
--- /trunk/ippTools/src/chiptool.c	(revision 13648)
+++ /trunk/ippTools/src/chiptool.c	(revision 13649)
@@ -145,7 +145,7 @@
     ADDPARAMF(config->args, where, F32, "decl");
     ADDPARAMF(config->args, where, F32, "exp_time");
-    ADDPARAMF(config->args, where, F64, "bg");
-    ADDPARAMF(config->args, where, F64, "bg_stdev");
-    ADDPARAMF(config->args, where, F64, "bg_mean_stdev");
+    ADDPARAMF(config->args, where, F32, "bg");
+    ADDPARAMF(config->args, where, F32, "bg_stdev");
+    ADDPARAMF(config->args, where, F32, "bg_mean_stdev");
     ADDPARAMF(config->args, where, F64, "alt");
     ADDPARAMF(config->args, where, F64, "az");
@@ -838,5 +838,5 @@
     }
 
-    psF64 bg = psMetadataLookupF64(&status, config->args, "-bg");
+    psF32 bg = psMetadataLookupF32(&status, config->args, "-bg");
     if (!status) {
         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg");
@@ -844,5 +844,5 @@
     }
 
-    psF64 bg_stdev = psMetadataLookupF64(&status, config->args, "-bg_stdev");
+    psF32 bg_stdev = psMetadataLookupF32(&status, config->args, "-bg_stdev");
     if (!status) {
         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg_stdev");
@@ -850,7 +850,97 @@
     }
 
-    psF64 bg_mean_stdev = psMetadataLookupF64(&status, config->args, "-bg_mean_stdev");
+    psF32 bg_mean_stdev = psMetadataLookupF32(&status, config->args, "-bg_mean_stdev");
     if (!status) {
         psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bg_mean_stdev");
+        return false;
+    }
+
+    psF32 bias = psMetadataLookupF32(&status, config->args, "-bias");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bias");
+        return false;
+    }
+
+    psF32 bias_stdev = psMetadataLookupF32(&status, config->args, "-bias_stdev");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -bias_stdev");
+        return false;
+    }
+
+    psF32 fringe_0 = psMetadataLookupF32(&status, config->args, "-fringe_0");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fringe_0");
+        return false;
+    }
+
+    psF32 fringe_1 = psMetadataLookupF32(&status, config->args, "-fringe_1");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fringe_1");
+        return false;
+    }
+
+    psF32 fringe_2 = psMetadataLookupF32(&status, config->args, "-fringe_2");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fringe_2");
+        return false;
+    }
+
+    psF32 sigma_ra = psMetadataLookupF32(&status, config->args, "-sigma_ra");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -sigma_ra");
+        return false;
+    }
+
+    psF32 sigma_dec = psMetadataLookupF32(&status, config->args, "-sigma_dec");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -sigma_dec");
+        return false;
+    }
+
+    psF32 ap_resid = psMetadataLookupF32(&status, config->args, "-ap_resid");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -ap_resid");
+        return false;
+    }
+
+    psF32 ap_resid_stdev = psMetadataLookupF32(&status, config->args, "-ap_resid_stdev");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -ap_resid_stdev");
+        return false;
+    }
+
+    psF32 fwhm = psMetadataLookupF32(&status, config->args, "-fwhm");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fwhm");
+        return false;
+    }
+
+    psF32 fwhm_range = psMetadataLookupF32(&status, config->args, "-fwhm_range");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -fwhm_range");
+        return false;
+    }
+
+    psS32 n_stars = psMetadataLookupS32(&status, config->args, "-n_stars");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -n_stars");
+        return false;
+    }
+
+    psS32 n_extended = psMetadataLookupS32(&status, config->args, "-n_extended");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -n_extended");
+        return false;
+    }
+
+    psS32 n_cr = psMetadataLookupS32(&status, config->args, "-n_cr");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -n_cr");
+        return false;
+    }
+
+    psS32 n_astrom = psMetadataLookupS32(&status, config->args, "-n_astrom");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, false, "failed to lookup value for -n_astrom");
         return false;
     }
@@ -877,7 +967,22 @@
         bg_stdev,
         bg_mean_stdev,
+	bias,
+	bias_stdev,
+	fringe_0,
+	fringe_1,
+	fringe_2,
+	sigma_ra,
+	sigma_dec,
+	ap_resid,
+	ap_resid_stdev,
+	fwhm,
+	fwhm_range,
+	n_stars,
+	n_extended,
+	n_cr,
+	n_astrom,
         path_base,
         code
-    );
+	);
 }
 
Index: /trunk/ippTools/src/chiptoolConfig.c
===================================================================
--- /trunk/ippTools/src/chiptoolConfig.c	(revision 13648)
+++ /trunk/ippTools/src/chiptoolConfig.c	(revision 13649)
@@ -72,10 +72,12 @@
     psMetadataAddF32(queueArgs, PS_LIST_TAIL, "-exp_time",  0,
             "search by exposure time", NAN);
+
+    // XXX EAM : are these selecting based on the rawExp value or the chipImfile value?
     psMetadataAddF64(queueArgs, PS_LIST_TAIL, "-bg",  0,
-            "search by exposue background", NAN);
+            "search by exposure background", NAN);
     psMetadataAddF64(queueArgs, PS_LIST_TAIL, "-bg_stdev",  0,
-            "search by exposue background stdev", NAN);
+            "search by exposure background stdev", NAN);
     psMetadataAddF64(queueArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
-            "search by exposue background mean stdev", NAN);
+            "search by exposure background mean stdev", NAN);
     psMetadataAddF64(queueArgs, PS_LIST_TAIL, "-alt",  0,
             "search by altitute", NAN);
@@ -129,12 +131,45 @@
     psMetadataAddStr(addprocessedimfileArgs, PS_LIST_TAIL, "-uri",  0,
             "define URL", NULL);
-    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-bg",  0,
-            "define exposue background", NAN);
-    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,
-            "define exposue background stdev", NAN);
-    psMetadataAddF64(addprocessedimfileArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
-            "define exposue background mean stdev", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-bg",  0,
+            "define exposure background", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-bg_stdev",  0,
+            "define exposure background stdev", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-bg_mean_stdev",  0,
+            "define exposure background mean stdev", NAN);
+
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-bias",  0,
+            "define bias", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-bias_stdev",  0,
+            "define bias stdev", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-fringe_0",  0,
+            "define fringe term 0", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-fringe_1",  0,
+            "define fringe term 1", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-fringe_2",  0,
+            "define fringe term 2", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-sigma_ra",  0,
+            "define error in RA", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-sigma_dec",  0,
+            "define error in DEC", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-ap_resid",  0,
+            "define aperture residual", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-ap_resid_stdev",  0,
+            "define aperture residual stdev", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-fwhm",  0,
+            "define fwhm (arcsec)", NAN);
+    psMetadataAddF32(addprocessedimfileArgs, PS_LIST_TAIL, "-fwhm_range",  0,
+            "define fwhm range (min to max)", NAN);
+
+    psMetadataAddS32(addprocessedimfileArgs, PS_LIST_TAIL, "-n_stars",  0,
+            "define number of stars in image", 0);
+    psMetadataAddS32(addprocessedimfileArgs, PS_LIST_TAIL, "-n_extended",  0,
+            "define number of extended objects in image", 0);
+    psMetadataAddS32(addprocessedimfileArgs, PS_LIST_TAIL, "-n_cr",  0,
+            "define number of cosmic rays in image", 0);
+    psMetadataAddS32(addprocessedimfileArgs, PS_LIST_TAIL, "-n_astrom",  0,
+            "define number of astrometry stars used", 0);
+
     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);
Index: /trunk/ippdb/configure.ac
===================================================================
--- /trunk/ippdb/configure.ac	(revision 13648)
+++ /trunk/ippdb/configure.ac	(revision 13649)
@@ -7,5 +7,5 @@
 AC_PREREQ(2.59)
 
-AC_INIT([ippdb], [1.1.20], [pan-starrs.ifa.hawaii.edu])
+AC_INIT([ippdb], [1.1.21], [pan-starrs.ifa.hawaii.edu])
 AC_CONFIG_SRCDIR([ippdb.pc.in])
 
Index: /trunk/ippdb/src/ippdb.c
===================================================================
--- /trunk/ippdb/src/ippdb.c	(revision 13648)
+++ /trunk/ippdb/src/ippdb.c	(revision 13649)
@@ -6984,5 +6984,5 @@
 static void chipProcessedImfileRowFree(chipProcessedImfileRow *object);
 
-chipProcessedImfileRow *chipProcessedImfileRowAlloc(psS64 chip_id, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
+chipProcessedImfileRow *chipProcessedImfileRowAlloc(psS64 chip_id, const char *class_id, const char *uri, psF32 bg, psF32 bg_stdev, psF32 bg_mean_stdev, psF32 bias, psF32 bias_stdev, psF32 fringe_0, psF32 fringe_1, psF32 fringe_2, psF32 sigma_ra, psF32 sigma_dec, psF32 ap_resid, psF32 ap_resid_stdev, psF32 fwhm, psF32 fwhm_range, psS32 n_stars, psS32 n_extended, psS32 n_cr, psS32 n_astrom, const char *path_base, psS16 fault)
 {
     chipProcessedImfileRow *_object;
@@ -6997,4 +6997,19 @@
     _object->bg_stdev = bg_stdev;
     _object->bg_mean_stdev = bg_mean_stdev;
+    _object->bias = bias;
+    _object->bias_stdev = bias_stdev;
+    _object->fringe_0 = fringe_0;
+    _object->fringe_1 = fringe_1;
+    _object->fringe_2 = fringe_2;
+    _object->sigma_ra = sigma_ra;
+    _object->sigma_dec = sigma_dec;
+    _object->ap_resid = ap_resid;
+    _object->ap_resid_stdev = ap_resid_stdev;
+    _object->fwhm = fwhm;
+    _object->fwhm_range = fwhm_range;
+    _object->n_stars = n_stars;
+    _object->n_extended = n_extended;
+    _object->n_cr = n_cr;
+    _object->n_astrom = n_astrom;
     _object->path_base = psStringCopy(path_base);
     _object->fault = fault;
@@ -7028,16 +7043,91 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F32, NULL, 0.0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, 0.0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F32, NULL, 0.0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, 0.0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F32, NULL, 0.0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bias", PS_DATA_F32, NULL, 0.0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item bias");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bias_stdev", PS_DATA_F32, NULL, 0.0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item bias_stdev");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_0", PS_DATA_F32, NULL, 0.0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_0");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_1", PS_DATA_F32, NULL, 0.0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_1");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_2", PS_DATA_F32, NULL, 0.0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_2");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "sigma_ra", PS_DATA_F32, NULL, 0.0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item sigma_ra");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "sigma_dec", PS_DATA_F32, NULL, 0.0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item sigma_dec");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "ap_resid", PS_DATA_F32, NULL, 0.0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item ap_resid");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "ap_resid_stdev", PS_DATA_F32, NULL, 0.0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item ap_resid_stdev");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm", PS_DATA_F32, NULL, 0.0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm_range", PS_DATA_F32, NULL, 0.0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm_range");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_stars", PS_DATA_S32, NULL, 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_stars");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_extended", PS_DATA_S32, NULL, 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_extended");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_cr", PS_DATA_S32, NULL, 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_cr");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_astrom", PS_DATA_S32, NULL, 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_astrom");
         psFree(md);
         return false;
@@ -7066,5 +7156,5 @@
 }
 
-bool chipProcessedImfileInsert(psDB * dbh, psS64 chip_id, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
+bool chipProcessedImfileInsert(psDB * dbh, psS64 chip_id, const char *class_id, const char *uri, psF32 bg, psF32 bg_stdev, psF32 bg_mean_stdev, psF32 bias, psF32 bias_stdev, psF32 fringe_0, psF32 fringe_1, psF32 fringe_2, psF32 sigma_ra, psF32 sigma_dec, psF32 ap_resid, psF32 ap_resid_stdev, psF32 fwhm, psF32 fwhm_range, psS32 n_stars, psS32 n_extended, psS32 n_cr, psS32 n_astrom, const char *path_base, psS16 fault)
 {
     psMetadata *md = psMetadataAlloc();
@@ -7084,16 +7174,91 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F32, NULL, bg)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, bg_stdev)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F32, NULL, bg_stdev)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F32, NULL, bg_mean_stdev)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bias", PS_DATA_F32, NULL, bias)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item bias");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bias_stdev", PS_DATA_F32, NULL, bias_stdev)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item bias_stdev");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_0", PS_DATA_F32, NULL, fringe_0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_0");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_1", PS_DATA_F32, NULL, fringe_1)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_1");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_2", PS_DATA_F32, NULL, fringe_2)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_2");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "sigma_ra", PS_DATA_F32, NULL, sigma_ra)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item sigma_ra");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "sigma_dec", PS_DATA_F32, NULL, sigma_dec)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item sigma_dec");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "ap_resid", PS_DATA_F32, NULL, ap_resid)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item ap_resid");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "ap_resid_stdev", PS_DATA_F32, NULL, ap_resid_stdev)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item ap_resid_stdev");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm", PS_DATA_F32, NULL, fwhm)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm_range", PS_DATA_F32, NULL, fwhm_range)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm_range");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_stars", PS_DATA_S32, NULL, n_stars)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_stars");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_extended", PS_DATA_S32, NULL, n_extended)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_extended");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_cr", PS_DATA_S32, NULL, n_cr)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_cr");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_astrom", PS_DATA_S32, NULL, n_astrom)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_astrom");
         psFree(md);
         return false;
@@ -7132,5 +7297,5 @@
 bool chipProcessedImfileInsertObject(psDB *dbh, chipProcessedImfileRow *object)
 {
-    return chipProcessedImfileInsert(dbh, object->chip_id, object->class_id, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->path_base, object->fault);
+    return chipProcessedImfileInsert(dbh, object->chip_id, object->class_id, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->bias, object->bias_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->sigma_ra, object->sigma_dec, object->ap_resid, object->ap_resid_stdev, object->fwhm, object->fwhm_range, object->n_stars, object->n_extended, object->n_cr, object->n_astrom, object->path_base, object->fault);
 }
 
@@ -7220,16 +7385,91 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F32, NULL, object->bg)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, object->bg_stdev)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F32, NULL, object->bg_stdev)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, object->bg_mean_stdev)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F32, NULL, object->bg_mean_stdev)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bias", PS_DATA_F32, NULL, object->bias)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item bias");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bias_stdev", PS_DATA_F32, NULL, object->bias_stdev)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item bias_stdev");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_0", PS_DATA_F32, NULL, object->fringe_0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_0");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_1", PS_DATA_F32, NULL, object->fringe_1)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_1");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_2", PS_DATA_F32, NULL, object->fringe_2)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_2");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "sigma_ra", PS_DATA_F32, NULL, object->sigma_ra)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item sigma_ra");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "sigma_dec", PS_DATA_F32, NULL, object->sigma_dec)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item sigma_dec");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "ap_resid", PS_DATA_F32, NULL, object->ap_resid)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item ap_resid");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "ap_resid_stdev", PS_DATA_F32, NULL, object->ap_resid_stdev)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item ap_resid_stdev");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm", PS_DATA_F32, NULL, object->fwhm)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm_range", PS_DATA_F32, NULL, object->fwhm_range)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm_range");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_stars", PS_DATA_S32, NULL, object->n_stars)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_stars");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_extended", PS_DATA_S32, NULL, object->n_extended)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_extended");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_cr", PS_DATA_S32, NULL, object->n_cr)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_cr");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_astrom", PS_DATA_S32, NULL, object->n_astrom)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_astrom");
         psFree(md);
         return false;
@@ -7269,19 +7509,94 @@
         return false;
     }
-    psF64 bg = psMetadataLookupF64(&status, md, "bg");
+    psF32 bg = psMetadataLookupF32(&status, md, "bg");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg");
         return false;
     }
-    psF64 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev");
+    psF32 bg_stdev = psMetadataLookupF32(&status, md, "bg_stdev");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev");
         return false;
     }
-    psF64 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev");
+    psF32 bg_mean_stdev = psMetadataLookupF32(&status, md, "bg_mean_stdev");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev");
         return false;
     }
+    psF32 bias = psMetadataLookupF32(&status, md, "bias");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bias");
+        return false;
+    }
+    psF32 bias_stdev = psMetadataLookupF32(&status, md, "bias_stdev");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bias_stdev");
+        return false;
+    }
+    psF32 fringe_0 = psMetadataLookupF32(&status, md, "fringe_0");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_0");
+        return false;
+    }
+    psF32 fringe_1 = psMetadataLookupF32(&status, md, "fringe_1");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_1");
+        return false;
+    }
+    psF32 fringe_2 = psMetadataLookupF32(&status, md, "fringe_2");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_2");
+        return false;
+    }
+    psF32 sigma_ra = psMetadataLookupF32(&status, md, "sigma_ra");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item sigma_ra");
+        return false;
+    }
+    psF32 sigma_dec = psMetadataLookupF32(&status, md, "sigma_dec");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item sigma_dec");
+        return false;
+    }
+    psF32 ap_resid = psMetadataLookupF32(&status, md, "ap_resid");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ap_resid");
+        return false;
+    }
+    psF32 ap_resid_stdev = psMetadataLookupF32(&status, md, "ap_resid_stdev");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item ap_resid_stdev");
+        return false;
+    }
+    psF32 fwhm = psMetadataLookupF32(&status, md, "fwhm");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fwhm");
+        return false;
+    }
+    psF32 fwhm_range = psMetadataLookupF32(&status, md, "fwhm_range");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fwhm_range");
+        return false;
+    }
+    psS32 n_stars = psMetadataLookupS32(&status, md, "n_stars");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item n_stars");
+        return false;
+    }
+    psS32 n_extended = psMetadataLookupS32(&status, md, "n_extended");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item n_extended");
+        return false;
+    }
+    psS32 n_cr = psMetadataLookupS32(&status, md, "n_cr");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item n_cr");
+        return false;
+    }
+    psS32 n_astrom = psMetadataLookupS32(&status, md, "n_astrom");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item n_astrom");
+        return false;
+    }
     char* path_base = psMetadataLookupPtr(&status, md, "path_base");
     if (!status) {
@@ -7295,5 +7610,5 @@
     }
 
-    return chipProcessedImfileRowAlloc(chip_id, class_id, uri, bg, bg_stdev, bg_mean_stdev, path_base, fault);
+    return chipProcessedImfileRowAlloc(chip_id, class_id, uri, bg, bg_stdev, bg_mean_stdev, bias, bias_stdev, fringe_0, fringe_1, fringe_2, sigma_ra, sigma_dec, ap_resid, ap_resid_stdev, fwhm, fwhm_range, n_stars, n_extended, n_cr, n_astrom, path_base, fault);
 }
 psArray *chipProcessedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
@@ -7811,5 +8126,5 @@
 static void camProcessedExpRowFree(camProcessedExpRow *object);
 
-camProcessedExpRow *camProcessedExpRowAlloc(psS64 cam_id, psS64 chip_id, const char *workdir, const char *label, const char *recipe, const char *expgroup, const char *dvodb, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psS32 nastro, const char *path_base, psF32 zp_mean, psF32 zp_stdev, psS16 fault)
+camProcessedExpRow *camProcessedExpRowAlloc(psS64 cam_id, psS64 chip_id, const char *workdir, const char *label, const char *recipe, const char *expgroup, const char *dvodb, const char *uri, psF32 bg, psF32 bg_stdev, psF32 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psF32 zp_mean, psF32 zp_stdev, psF32 fwhm, psF32 fwhm_range, psS32 n_stars, psS32 n_extended, psS32 n_cr, psS32 n_astrom, const char *path_base, psS16 fault)
 {
     camProcessedExpRow *_object;
@@ -7831,8 +8146,13 @@
     _object->sigma_ra = sigma_ra;
     _object->sigma_dec = sigma_dec;
-    _object->nastro = nastro;
-    _object->path_base = psStringCopy(path_base);
     _object->zp_mean = zp_mean;
     _object->zp_stdev = zp_stdev;
+    _object->fwhm = fwhm;
+    _object->fwhm_range = fwhm_range;
+    _object->n_stars = n_stars;
+    _object->n_extended = n_extended;
+    _object->n_cr = n_cr;
+    _object->n_astrom = n_astrom;
+    _object->path_base = psStringCopy(path_base);
     _object->fault = fault;
 
@@ -7894,15 +8214,15 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F32, NULL, 0.0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, 0.0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F32, NULL, 0.0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, 0.0)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F32, NULL, 0.0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
         psFree(md);
@@ -7919,6 +8239,41 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "nastro", PS_DATA_S32, NULL, 0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item nastro");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_mean", PS_DATA_F32, NULL, 0.0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item zp_mean");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_stdev", PS_DATA_F32, NULL, 0.0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item zp_stdev");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm", PS_DATA_F32, NULL, 0.0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm_range", PS_DATA_F32, NULL, 0.0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm_range");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_stars", PS_DATA_S32, NULL, 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_stars");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_extended", PS_DATA_S32, NULL, 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_extended");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_cr", PS_DATA_S32, NULL, 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_cr");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_astrom", PS_DATA_S32, NULL, 0)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_astrom");
         psFree(md);
         return false;
@@ -7929,14 +8284,4 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_mean", PS_DATA_F32, NULL, 0.0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item zp_mean");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_stdev", PS_DATA_F32, NULL, 0.0)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item zp_stdev");
-        psFree(md);
-        return false;
-    }
     if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
@@ -7957,5 +8302,5 @@
 }
 
-bool camProcessedExpInsert(psDB * dbh, psS64 cam_id, psS64 chip_id, const char *workdir, const char *label, const char *recipe, const char *expgroup, const char *dvodb, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psS32 nastro, const char *path_base, psF32 zp_mean, psF32 zp_stdev, psS16 fault)
+bool camProcessedExpInsert(psDB * dbh, psS64 cam_id, psS64 chip_id, const char *workdir, const char *label, const char *recipe, const char *expgroup, const char *dvodb, const char *uri, psF32 bg, psF32 bg_stdev, psF32 bg_mean_stdev, psF32 sigma_ra, psF32 sigma_dec, psF32 zp_mean, psF32 zp_stdev, psF32 fwhm, psF32 fwhm_range, psS32 n_stars, psS32 n_extended, psS32 n_cr, psS32 n_astrom, const char *path_base, psS16 fault)
 {
     psMetadata *md = psMetadataAlloc();
@@ -8000,15 +8345,15 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F32, NULL, bg)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, bg_stdev)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F32, NULL, bg_stdev)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F32, NULL, bg_mean_stdev)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
         psFree(md);
@@ -8025,6 +8370,41 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "nastro", PS_DATA_S32, NULL, nastro)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item nastro");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_mean", PS_DATA_F32, NULL, zp_mean)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item zp_mean");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_stdev", PS_DATA_F32, NULL, zp_stdev)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item zp_stdev");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm", PS_DATA_F32, NULL, fwhm)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm_range", PS_DATA_F32, NULL, fwhm_range)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm_range");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_stars", PS_DATA_S32, NULL, n_stars)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_stars");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_extended", PS_DATA_S32, NULL, n_extended)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_extended");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_cr", PS_DATA_S32, NULL, n_cr)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_cr");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_astrom", PS_DATA_S32, NULL, n_astrom)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_astrom");
         psFree(md);
         return false;
@@ -8032,14 +8412,4 @@
     if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, path_base)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_mean", PS_DATA_F32, NULL, zp_mean)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item zp_mean");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_stdev", PS_DATA_F32, NULL, zp_stdev)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item zp_stdev");
         psFree(md);
         return false;
@@ -8073,5 +8443,5 @@
 bool camProcessedExpInsertObject(psDB *dbh, camProcessedExpRow *object)
 {
-    return camProcessedExpInsert(dbh, object->cam_id, object->chip_id, object->workdir, object->label, object->recipe, object->expgroup, object->dvodb, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->sigma_ra, object->sigma_dec, object->nastro, object->path_base, object->zp_mean, object->zp_stdev, object->fault);
+    return camProcessedExpInsert(dbh, object->cam_id, object->chip_id, object->workdir, object->label, object->recipe, object->expgroup, object->dvodb, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->sigma_ra, object->sigma_dec, object->zp_mean, object->zp_stdev, object->fwhm, object->fwhm_range, object->n_stars, object->n_extended, object->n_cr, object->n_astrom, object->path_base, object->fault);
 }
 
@@ -8186,15 +8556,15 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F32, NULL, object->bg)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F64, NULL, object->bg_stdev)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_stdev", PS_DATA_F32, NULL, object->bg_stdev)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item bg_stdev");
         psFree(md);
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, object->bg_mean_stdev)) {
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F32, NULL, object->bg_mean_stdev)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
         psFree(md);
@@ -8211,6 +8581,41 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "nastro", PS_DATA_S32, NULL, object->nastro)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item nastro");
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_mean", PS_DATA_F32, NULL, object->zp_mean)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item zp_mean");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_stdev", PS_DATA_F32, NULL, object->zp_stdev)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item zp_stdev");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm", PS_DATA_F32, NULL, object->fwhm)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "fwhm_range", PS_DATA_F32, NULL, object->fwhm_range)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item fwhm_range");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_stars", PS_DATA_S32, NULL, object->n_stars)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_stars");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_extended", PS_DATA_S32, NULL, object->n_extended)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_extended");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_cr", PS_DATA_S32, NULL, object->n_cr)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_cr");
+        psFree(md);
+        return false;
+    }
+    if (!psMetadataAdd(md, PS_LIST_TAIL, "n_astrom", PS_DATA_S32, NULL, object->n_astrom)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to add item n_astrom");
         psFree(md);
         return false;
@@ -8221,14 +8626,4 @@
         return false;
     }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_mean", PS_DATA_F32, NULL, object->zp_mean)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item zp_mean");
-        psFree(md);
-        return false;
-    }
-    if (!psMetadataAdd(md, PS_LIST_TAIL, "zp_stdev", PS_DATA_F32, NULL, object->zp_stdev)) {
-        psError(PS_ERR_UNKNOWN, false, "failed to add item zp_stdev");
-        psFree(md);
-        return false;
-    }
     if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, object->fault)) {
         psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
@@ -8285,15 +8680,15 @@
         return false;
     }
-    psF64 bg = psMetadataLookupF64(&status, md, "bg");
+    psF32 bg = psMetadataLookupF32(&status, md, "bg");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg");
         return false;
     }
-    psF64 bg_stdev = psMetadataLookupF64(&status, md, "bg_stdev");
+    psF32 bg_stdev = psMetadataLookupF32(&status, md, "bg_stdev");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_stdev");
         return false;
     }
-    psF64 bg_mean_stdev = psMetadataLookupF64(&status, md, "bg_mean_stdev");
+    psF32 bg_mean_stdev = psMetadataLookupF32(&status, md, "bg_mean_stdev");
     if (!status) {
         psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bg_mean_stdev");
@@ -8310,7 +8705,42 @@
         return false;
     }
-    psS32 nastro = psMetadataLookupS32(&status, md, "nastro");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item nastro");
+    psF32 zp_mean = psMetadataLookupF32(&status, md, "zp_mean");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item zp_mean");
+        return false;
+    }
+    psF32 zp_stdev = psMetadataLookupF32(&status, md, "zp_stdev");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item zp_stdev");
+        return false;
+    }
+    psF32 fwhm = psMetadataLookupF32(&status, md, "fwhm");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fwhm");
+        return false;
+    }
+    psF32 fwhm_range = psMetadataLookupF32(&status, md, "fwhm_range");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fwhm_range");
+        return false;
+    }
+    psS32 n_stars = psMetadataLookupS32(&status, md, "n_stars");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item n_stars");
+        return false;
+    }
+    psS32 n_extended = psMetadataLookupS32(&status, md, "n_extended");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item n_extended");
+        return false;
+    }
+    psS32 n_cr = psMetadataLookupS32(&status, md, "n_cr");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item n_cr");
+        return false;
+    }
+    psS32 n_astrom = psMetadataLookupS32(&status, md, "n_astrom");
+    if (!status) {
+        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item n_astrom");
         return false;
     }
@@ -8320,14 +8750,4 @@
         return false;
     }
-    psF32 zp_mean = psMetadataLookupF32(&status, md, "zp_mean");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item zp_mean");
-        return false;
-    }
-    psF32 zp_stdev = psMetadataLookupF32(&status, md, "zp_stdev");
-    if (!status) {
-        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item zp_stdev");
-        return false;
-    }
     psS16 fault = psMetadataLookupS16(&status, md, "fault");
     if (!status) {
@@ -8336,5 +8756,5 @@
     }
 
-    return camProcessedExpRowAlloc(cam_id, chip_id, workdir, label, recipe, expgroup, dvodb, uri, bg, bg_stdev, bg_mean_stdev, sigma_ra, sigma_dec, nastro, path_base, zp_mean, zp_stdev, fault);
+    return camProcessedExpRowAlloc(cam_id, chip_id, workdir, label, recipe, expgroup, dvodb, uri, bg, bg_stdev, bg_mean_stdev, sigma_ra, sigma_dec, zp_mean, zp_stdev, fwhm, fwhm_range, n_stars, n_extended, n_cr, n_astrom, path_base, fault);
 }
 psArray *camProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
Index: /trunk/ippdb/src/ippdb.h
===================================================================
--- /trunk/ippdb/src/ippdb.h	(revision 13648)
+++ /trunk/ippdb/src/ippdb.h	(revision 13649)
@@ -3581,7 +3581,22 @@
     char            *class_id;
     char            *uri;
-    psF64           bg;
-    psF64           bg_stdev;
-    psF64           bg_mean_stdev;
+    psF32           bg;
+    psF32           bg_stdev;
+    psF32           bg_mean_stdev;
+    psF32           bias;
+    psF32           bias_stdev;
+    psF32           fringe_0;
+    psF32           fringe_1;
+    psF32           fringe_2;
+    psF32           sigma_ra;
+    psF32           sigma_dec;
+    psF32           ap_resid;
+    psF32           ap_resid_stdev;
+    psF32           fwhm;
+    psF32           fwhm_range;
+    psS32           n_stars;
+    psS32           n_extended;
+    psS32           n_cr;
+    psS32           n_astrom;
     char            *path_base;
     psS16           fault;
@@ -3597,7 +3612,22 @@
     const char      *class_id,
     const char      *uri,
-    psF64           bg,
-    psF64           bg_stdev,
-    psF64           bg_mean_stdev,
+    psF32           bg,
+    psF32           bg_stdev,
+    psF32           bg_mean_stdev,
+    psF32           bias,
+    psF32           bias_stdev,
+    psF32           fringe_0,
+    psF32           fringe_1,
+    psF32           fringe_2,
+    psF32           sigma_ra,
+    psF32           sigma_dec,
+    psF32           ap_resid,
+    psF32           ap_resid_stdev,
+    psF32           fwhm,
+    psF32           fwhm_range,
+    psS32           n_stars,
+    psS32           n_extended,
+    psS32           n_cr,
+    psS32           n_astrom,
     const char      *path_base,
     psS16           fault
@@ -3634,7 +3664,22 @@
     const char      *class_id,
     const char      *uri,
-    psF64           bg,
-    psF64           bg_stdev,
-    psF64           bg_mean_stdev,
+    psF32           bg,
+    psF32           bg_stdev,
+    psF32           bg_mean_stdev,
+    psF32           bias,
+    psF32           bias_stdev,
+    psF32           fringe_0,
+    psF32           fringe_1,
+    psF32           fringe_2,
+    psF32           sigma_ra,
+    psF32           sigma_dec,
+    psF32           ap_resid,
+    psF32           ap_resid_stdev,
+    psF32           fwhm,
+    psF32           fwhm_range,
+    psS32           n_stars,
+    psS32           n_extended,
+    psS32           n_cr,
+    psS32           n_astrom,
     const char      *path_base,
     psS16           fault
@@ -4015,13 +4060,18 @@
     char            *dvodb;
     char            *uri;
-    psF64           bg;
-    psF64           bg_stdev;
-    psF64           bg_mean_stdev;
+    psF32           bg;
+    psF32           bg_stdev;
+    psF32           bg_mean_stdev;
     psF32           sigma_ra;
     psF32           sigma_dec;
-    psS32           nastro;
-    char            *path_base;
     psF32           zp_mean;
     psF32           zp_stdev;
+    psF32           fwhm;
+    psF32           fwhm_range;
+    psS32           n_stars;
+    psS32           n_extended;
+    psS32           n_cr;
+    psS32           n_astrom;
+    char            *path_base;
     psS16           fault;
 } camProcessedExpRow;
@@ -4041,13 +4091,18 @@
     const char      *dvodb,
     const char      *uri,
-    psF64           bg,
-    psF64           bg_stdev,
-    psF64           bg_mean_stdev,
+    psF32           bg,
+    psF32           bg_stdev,
+    psF32           bg_mean_stdev,
     psF32           sigma_ra,
     psF32           sigma_dec,
-    psS32           nastro,
-    const char      *path_base,
     psF32           zp_mean,
     psF32           zp_stdev,
+    psF32           fwhm,
+    psF32           fwhm_range,
+    psS32           n_stars,
+    psS32           n_extended,
+    psS32           n_cr,
+    psS32           n_astrom,
+    const char      *path_base,
     psS16           fault
 );
@@ -4088,13 +4143,18 @@
     const char      *dvodb,
     const char      *uri,
-    psF64           bg,
-    psF64           bg_stdev,
-    psF64           bg_mean_stdev,
+    psF32           bg,
+    psF32           bg_stdev,
+    psF32           bg_mean_stdev,
     psF32           sigma_ra,
     psF32           sigma_dec,
-    psS32           nastro,
-    const char      *path_base,
     psF32           zp_mean,
     psF32           zp_stdev,
+    psF32           fwhm,
+    psF32           fwhm_range,
+    psS32           n_stars,
+    psS32           n_extended,
+    psS32           n_cr,
+    psS32           n_astrom,
+    const char      *path_base,
     psS16           fault
 );
Index: /trunk/ippdb/tests/alloc.c
===================================================================
--- /trunk/ippdb/tests/alloc.c	(revision 13648)
+++ /trunk/ippdb/tests/alloc.c	(revision 13649)
@@ -716,5 +716,5 @@
         chipProcessedImfileRow *object;
 
-        object = chipProcessedImfileRowAlloc(-64, "a string", "a string", 64.64, 64.64, 64.64, "a string", -16    );
+        object = chipProcessedImfileRowAlloc(-64, "a string", "a string", 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, -32, -32, -32, -32, "a string", -16    );
 
         if (!object) {
@@ -734,13 +734,73 @@
             exit(EXIT_FAILURE);
         }
-        if (!object->bg == 64.64) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->bg_stdev == 64.64) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->bg_mean_stdev == 64.64) {
+        if (!object->bg == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->bg_stdev == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->bg_mean_stdev == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->bias == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->bias_stdev == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->fringe_0 == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->fringe_1 == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->fringe_2 == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->sigma_ra == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->sigma_dec == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->ap_resid == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->ap_resid_stdev == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->fwhm == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->fwhm_range == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->n_stars == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->n_extended == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->n_cr == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->n_astrom == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -802,5 +862,5 @@
         camProcessedExpRow *object;
 
-        object = camProcessedExpRowAlloc(-64, -64, "a string", "a string", "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", 32.32, 32.32, -16    );
+        object = camProcessedExpRowAlloc(-64, -64, "a string", "a string", "a string", "a string", "a string", "a string", 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, -32, -32, -32, -32, "a string", -16    );
 
         if (!object) {
@@ -840,13 +900,13 @@
             exit(EXIT_FAILURE);
         }
-        if (!object->bg == 64.64) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->bg_stdev == 64.64) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->bg_mean_stdev == 64.64) {
+        if (!object->bg == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->bg_stdev == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->bg_mean_stdev == 32.32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -860,17 +920,37 @@
             exit(EXIT_FAILURE);
         }
-        if (!object->nastro == -32) {
+        if (!object->zp_mean == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->zp_stdev == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->fwhm == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->fwhm_range == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->n_stars == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->n_extended == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->n_cr == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->n_astrom == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
         }
         if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->zp_mean == 32.32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->zp_stdev == 32.32) {
             psFree(object);
             exit(EXIT_FAILURE);
Index: /trunk/ippdb/tests/insert.c
===================================================================
--- /trunk/ippdb/tests/insert.c	(revision 13648)
+++ /trunk/ippdb/tests/insert.c	(revision 13649)
@@ -253,5 +253,5 @@
         }
 
-        if (!chipProcessedImfileInsert(dbh, -64, "a string", "a string", 64.64, 64.64, 64.64, "a string", -16)) {
+        if (!chipProcessedImfileInsert(dbh, -64, "a string", "a string", 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, -32, -32, -32, -32, "a string", -16)) {
             exit(EXIT_FAILURE);
         }
@@ -283,5 +283,5 @@
         }
 
-        if (!camProcessedExpInsert(dbh, -64, -64, "a string", "a string", "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", 32.32, 32.32, -16)) {
+        if (!camProcessedExpInsert(dbh, -64, -64, "a string", "a string", "a string", "a string", "a string", "a string", 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, -32, -32, -32, -32, "a string", -16)) {
             exit(EXIT_FAILURE);
         }
Index: /trunk/ippdb/tests/insertobject.c
===================================================================
--- /trunk/ippdb/tests/insertobject.c	(revision 13648)
+++ /trunk/ippdb/tests/insertobject.c	(revision 13649)
@@ -366,5 +366,5 @@
         }
 
-        object = chipProcessedImfileRowAlloc(-64, "a string", "a string", 64.64, 64.64, 64.64, "a string", -16);
+        object = chipProcessedImfileRowAlloc(-64, "a string", "a string", 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, -32, -32, -32, -32, "a string", -16);
         if (!object) {
             exit(EXIT_FAILURE);
@@ -410,5 +410,5 @@
         }
 
-        object = camProcessedExpRowAlloc(-64, -64, "a string", "a string", "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", 32.32, 32.32, -16);
+        object = camProcessedExpRowAlloc(-64, -64, "a string", "a string", "a string", "a string", "a string", "a string", 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, -32, -32, -32, -32, "a string", -16);
         if (!object) {
             exit(EXIT_FAILURE);
Index: /trunk/ippdb/tests/metadatafromobject.c
===================================================================
--- /trunk/ippdb/tests/metadatafromobject.c	(revision 13648)
+++ /trunk/ippdb/tests/metadatafromobject.c	(revision 13649)
@@ -837,5 +837,5 @@
         bool            status;
 
-        object = chipProcessedImfileRowAlloc(-64, "a string", "a string", 64.64, 64.64, 64.64, "a string", -16);
+        object = chipProcessedImfileRowAlloc(-64, "a string", "a string", 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, -32, -32, -32, -32, "a string", -16);
         if (!object) {
             exit(EXIT_FAILURE);
@@ -860,13 +860,73 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) {
+        if (!psMetadataLookupF32(&status, md, "bg") == 32.32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupF32(&status, md, "bg_stdev") == 32.32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupF32(&status, md, "bg_mean_stdev") == 32.32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupF32(&status, md, "bias") == 32.32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupF32(&status, md, "bias_stdev") == 32.32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupF32(&status, md, "fringe_0") == 32.32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupF32(&status, md, "fringe_1") == 32.32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupF32(&status, md, "fringe_2") == 32.32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupF32(&status, md, "sigma_ra") == 32.32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupF32(&status, md, "sigma_dec") == 32.32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupF32(&status, md, "ap_resid") == 32.32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupF32(&status, md, "ap_resid_stdev") == 32.32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupF32(&status, md, "fwhm") == 32.32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupF32(&status, md, "fwhm_range") == 32.32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupS32(&status, md, "n_stars") == -32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupS32(&status, md, "n_extended") == -32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupS32(&status, md, "n_cr") == -32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupS32(&status, md, "n_astrom") == -32) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -935,5 +995,5 @@
         bool            status;
 
-        object = camProcessedExpRowAlloc(-64, -64, "a string", "a string", "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, 32.32, 32.32, -32, "a string", 32.32, 32.32, -16);
+        object = camProcessedExpRowAlloc(-64, -64, "a string", "a string", "a string", "a string", "a string", "a string", 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, 32.32, -32, -32, -32, -32, "a string", -16);
         if (!object) {
             exit(EXIT_FAILURE);
@@ -977,13 +1037,13 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataLookupF64(&status, md, "bg_stdev") == 64.64) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) {
+        if (!psMetadataLookupF32(&status, md, "bg") == 32.32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupF32(&status, md, "bg_stdev") == 32.32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupF32(&status, md, "bg_mean_stdev") == 32.32) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -997,17 +1057,37 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataLookupS32(&status, md, "nastro") == -32) {
+        if (!psMetadataLookupF32(&status, md, "zp_mean") == 32.32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupF32(&status, md, "zp_stdev") == 32.32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupF32(&status, md, "fwhm") == 32.32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupF32(&status, md, "fwhm_range") == 32.32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupS32(&status, md, "n_stars") == -32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupS32(&status, md, "n_extended") == -32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupS32(&status, md, "n_cr") == -32) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataLookupS32(&status, md, "n_astrom") == -32) {
             psFree(md);
             exit(EXIT_FAILURE);
         }
         if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataLookupF32(&status, md, "zp_mean") == 32.32) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataLookupF32(&status, md, "zp_stdev") == 32.32) {
             psFree(md);
             exit(EXIT_FAILURE);
Index: /trunk/ippdb/tests/objectfrommetadata.c
===================================================================
--- /trunk/ippdb/tests/objectfrommetadata.c	(revision 13648)
+++ /trunk/ippdb/tests/objectfrommetadata.c	(revision 13649)
@@ -1288,13 +1288,73 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 64.64)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 64.64)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 64.64)) {
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "bg", 0, NULL, 32.32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 32.32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 32.32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "bias", 0, NULL, 32.32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "bias_stdev", 0, NULL, 32.32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "fringe_0", 0, NULL, 32.32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "fringe_1", 0, NULL, 32.32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "fringe_2", 0, NULL, 32.32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "sigma_ra", 0, NULL, 32.32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "sigma_dec", 0, NULL, 32.32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "ap_resid", 0, NULL, 32.32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "ap_resid_stdev", 0, NULL, 32.32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "fwhm", 0, NULL, 32.32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "fwhm_range", 0, NULL, 32.32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_stars", 0, NULL, -32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_extended", 0, NULL, -32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_cr", 0, NULL, -32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_astrom", 0, NULL, -32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1327,13 +1387,73 @@
             exit(EXIT_FAILURE);
         }
-        if (!object->bg == 64.64) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->bg_stdev == 64.64) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->bg_mean_stdev == 64.64) {
+        if (!object->bg == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->bg_stdev == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->bg_mean_stdev == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->bias == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->bias_stdev == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->fringe_0 == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->fringe_1 == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->fringe_2 == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->sigma_ra == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->sigma_dec == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->ap_resid == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->ap_resid_stdev == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->fwhm == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->fwhm_range == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->n_stars == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->n_extended == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->n_cr == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->n_astrom == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1455,13 +1575,13 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 64.64)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 64.64)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 64.64)) {
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "bg", 0, NULL, 32.32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "bg_stdev", 0, NULL, 32.32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "bg_mean_stdev", 0, NULL, 32.32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1475,5 +1595,33 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddS32(md, PS_LIST_TAIL, "nastro", 0, NULL, -32)) {
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "zp_mean", 0, NULL, 32.32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "zp_stdev", 0, NULL, 32.32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "fwhm", 0, NULL, 32.32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddF32(md, PS_LIST_TAIL, "fwhm_range", 0, NULL, 32.32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_stars", 0, NULL, -32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_extended", 0, NULL, -32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_cr", 0, NULL, -32)) {
+            psFree(md);
+            exit(EXIT_FAILURE);
+        }
+        if (!psMetadataAddS32(md, PS_LIST_TAIL, "n_astrom", 0, NULL, -32)) {
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1483,12 +1631,4 @@
             exit(EXIT_FAILURE);
         }
-        if (!psMetadataAddF32(md, PS_LIST_TAIL, "zp_mean", 0, NULL, 32.32)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
-        if (!psMetadataAddF32(md, PS_LIST_TAIL, "zp_stdev", 0, NULL, 32.32)) {
-            psFree(md);
-            exit(EXIT_FAILURE);
-        }
             psFree(md);
             exit(EXIT_FAILURE);
@@ -1533,13 +1673,13 @@
             exit(EXIT_FAILURE);
         }
-        if (!object->bg == 64.64) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->bg_stdev == 64.64) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->bg_mean_stdev == 64.64) {
+        if (!object->bg == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->bg_stdev == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->bg_mean_stdev == 32.32) {
             psFree(object);
             exit(EXIT_FAILURE);
@@ -1553,17 +1693,37 @@
             exit(EXIT_FAILURE);
         }
-        if (!object->nastro == -32) {
+        if (!object->zp_mean == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->zp_stdev == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->fwhm == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->fwhm_range == 32.32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->n_stars == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->n_extended == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->n_cr == -32) {
+            psFree(object);
+            exit(EXIT_FAILURE);
+        }
+        if (!object->n_astrom == -32) {
             psFree(object);
             exit(EXIT_FAILURE);
         }
         if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->zp_mean == 32.32) {
-            psFree(object);
-            exit(EXIT_FAILURE);
-        }
-        if (!object->zp_stdev == 32.32) {
             psFree(object);
             exit(EXIT_FAILURE);
