Index: /trunk/psModules/src/camera/pmFPA_JPEG.c
===================================================================
--- /trunk/psModules/src/camera/pmFPA_JPEG.c	(revision 12831)
+++ /trunk/psModules/src/camera/pmFPA_JPEG.c	(revision 12832)
@@ -5,6 +5,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.19 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-03-30 21:12:56 $
+ *  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-04-14 03:22:47 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -35,5 +35,5 @@
 
 
-bool pmFPAviewWriteJPEG(const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmFPAviewWriteJPEG(const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
     PS_ASSERT_PTR_NON_NULL(view, false);
@@ -77,5 +77,5 @@
 
 // read in all chip-level JPEG files for this FPA
-bool pmFPAWriteJPEG (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmFPAWriteJPEG (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
     PS_ASSERT_PTR_NON_NULL(fpa, false);
@@ -92,5 +92,5 @@
 
 // read in all cell-level JPEG files for this chip
-bool pmChipWriteJPEG (pmChip *chip, const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmChipWriteJPEG (pmChip *chip, const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
     PS_ASSERT_PTR_NON_NULL(chip, false);
@@ -107,5 +107,5 @@
 
 // read in all readout-level JPEG files for this cell
-bool pmCellWriteJPEG (pmCell *cell, const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmCellWriteJPEG (pmCell *cell, const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
     PS_ASSERT_PTR_NON_NULL(cell, false);
@@ -125,5 +125,5 @@
 // just because the values are in a poor range.  it is more convenient to know you are getting
 // a jpeg which is weird than to fail to get the file at all.
-bool pmReadoutWriteJPEG (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmReadoutWriteJPEG (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
     bool status;
Index: /trunk/psModules/src/camera/pmFPA_JPEG.h
===================================================================
--- /trunk/psModules/src/camera/pmFPA_JPEG.h	(revision 12831)
+++ /trunk/psModules/src/camera/pmFPA_JPEG.h	(revision 12832)
@@ -4,6 +4,6 @@
  * @author EAM, IfA
  *
- * @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-01-24 02:54:14 $
+ * @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-04-14 03:22:47 $
  * Copyright 2004-2005 Institute for Astronomy, University of Hawaii
  */
@@ -15,9 +15,9 @@
 /// @{
 
-bool pmFPAviewWriteJPEG (const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmFPAWriteJPEG (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmChipWriteJPEG (pmChip *chip, const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmCellWriteJPEG (pmCell *cell, const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmReadoutWriteJPEG (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, pmConfig *config);
+bool pmFPAviewWriteJPEG (const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmFPAWriteJPEG (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmChipWriteJPEG (pmChip *chip, const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmCellWriteJPEG (pmCell *cell, const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmReadoutWriteJPEG (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
 
 /// @}
Index: /trunk/psModules/src/camera/pmFPAfileFitsIO.c
===================================================================
--- /trunk/psModules/src/camera/pmFPAfileFitsIO.c	(revision 12831)
+++ /trunk/psModules/src/camera/pmFPAfileFitsIO.c	(revision 12832)
@@ -322,5 +322,5 @@
 }
 
-bool pmFPAviewWriteFitsImage(const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmFPAviewWriteFitsImage(const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
     PS_ASSERT_PTR_NON_NULL(view, false);
@@ -329,5 +329,5 @@
 }
 
-bool pmFPAviewWriteFitsMask(const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmFPAviewWriteFitsMask(const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
     PS_ASSERT_PTR_NON_NULL(view, false);
@@ -336,5 +336,5 @@
 }
 
-bool pmFPAviewWriteFitsWeight(const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmFPAviewWriteFitsWeight(const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
     PS_ASSERT_PTR_NON_NULL(view, false);
Index: /trunk/psModules/src/camera/pmFPAfileFitsIO.h
===================================================================
--- /trunk/psModules/src/camera/pmFPAfileFitsIO.h	(revision 12831)
+++ /trunk/psModules/src/camera/pmFPAfileFitsIO.h	(revision 12832)
@@ -5,6 +5,6 @@
  * @author PAP, IfA
  *
- * @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-02-15 00:34:00 $
+ * @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-04-14 03:22:47 $
  * Copyright 2004-2005 Institute for Astronomy, University of Hawaii
  */
@@ -32,5 +32,5 @@
 /// Read an image header into the current view
 bool pmFPAviewReadFitsHeaderSet(const pmFPAview *view,  ///< View specifying level of interest
-				pmFPAfile *file ///< FPA file into which to read
+                                pmFPAfile *file ///< FPA file into which to read
     );
 
@@ -38,5 +38,5 @@
 bool pmFPAviewWriteFitsImage(const pmFPAview *view, ///< View specifying level of interest
                              pmFPAfile *file, ///< FPA file to write
-                             pmConfig *config ///< Configuration
+                             const pmConfig *config ///< Configuration
                             );
 
@@ -44,5 +44,5 @@
 bool pmFPAviewWriteFitsMask(const pmFPAview *view, ///< View specifying level of interest
                             pmFPAfile *file, ///< FPA file to write
-                            pmConfig *config ///< Configuration
+                            const pmConfig *config ///< Configuration
                            );
 
@@ -50,5 +50,5 @@
 bool pmFPAviewWriteFitsWeight(const pmFPAview *view, ///< View specifying level of interest
                               pmFPAfile *file, ///< FPA file to write
-                              pmConfig *config ///< Configuration
+                              const pmConfig *config ///< Configuration
                              );
 
Index: /trunk/psModules/src/camera/pmFPAfileIO.c
===================================================================
--- /trunk/psModules/src/camera/pmFPAfileIO.c	(revision 12831)
+++ /trunk/psModules/src/camera/pmFPAfileIO.c	(revision 12832)
@@ -498,10 +498,10 @@
       case PM_FPA_FILE_CMF:
         psTrace ("psModules.camera", 5, "NOT freeing %s (%s) : save for further analysis\n", file->filename, file->name);
-	return true;
+        return true;
       case PM_FPA_FILE_PSF:
       case PM_FPA_FILE_JPEG:
       case PM_FPA_FILE_KAPA:
         psTrace ("psModules.camera", 5, "nothing to free for %s (%s)\n", file->filename, file->name);
-	return true;
+        return true;
       default:
         psError(PS_ERR_IO, true, "warning: type mismatch; saw type %d", file->type);
@@ -719,6 +719,6 @@
     psMetadata *phu = psFitsReadHeader (NULL, file->fits);
     if (!file->format) {
-	// XXX do we need to read the recipe here?  these files are supplemental, and probably 
-	// do not need to re-load the recipes
+        // XXX do we need to read the recipe here?  these files are supplemental, and probably
+        // do not need to re-load the recipes
         file->format = pmConfigCameraFormatFromHeader (config, phu, false);
         if (!file->format) {
@@ -748,5 +748,5 @@
 
 // XXX this function is only called from pmFPAfileWrite
-bool pmFPAfileWritePHU(pmFPAfile *file, const pmFPAview *view, pmConfig *config)
+bool pmFPAfileWritePHU(pmFPAfile *file, const pmFPAview *view, const pmConfig *config)
 {
     PS_ASSERT_PTR_NON_NULL(file, false);
Index: /trunk/psModules/src/camera/pmFPAfileIO.h
===================================================================
--- /trunk/psModules/src/camera/pmFPAfileIO.h	(revision 12831)
+++ /trunk/psModules/src/camera/pmFPAfileIO.h	(revision 12832)
@@ -4,6 +4,6 @@
  * @author EAM, IfA
  *
- * @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-03-24 17:53:55 $
+ * @version $Revision: 1.6 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-04-14 03:22:47 $
  * Copyright 2004-2005 Institute for Astronomy, University of Hawaii
  */
@@ -39,5 +39,5 @@
 bool pmFPAfileIOChecks (pmConfig *config, const pmFPAview *view, pmFPAfilePlace place);
 
-bool pmFPAfileWritePHU(pmFPAfile *file, const pmFPAview *view, pmConfig *config);
+bool pmFPAfileWritePHU(pmFPAfile *file, const pmFPAview *view, const pmConfig *config);
 bool pmFPAfileReadPHU (pmFPAfile *file, const pmFPAview *view, pmConfig *config);
 
Index: /trunk/psModules/src/objects/pmPSF_IO.c
===================================================================
--- /trunk/psModules/src/objects/pmPSF_IO.c	(revision 12831)
+++ /trunk/psModules/src/objects/pmPSF_IO.c	(revision 12832)
@@ -6,6 +6,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-03-30 21:12:56 $
+ *  @version $Revision: 1.13 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-04-14 03:22:48 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -123,5 +123,5 @@
 }
 
-bool pmFPAviewWritePSFmodel (const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmFPAviewWritePSFmodel (const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
 
@@ -163,5 +163,5 @@
 
 // read in all chip-level PSFmodel files for this FPA
-bool pmFPAWritePSFmodel (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmFPAWritePSFmodel (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
 
@@ -175,5 +175,5 @@
 
 // read in all cell-level PSFmodel files for this chip
-bool pmChipWritePSFmodel (pmChip *chip, const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmChipWritePSFmodel (pmChip *chip, const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
 
@@ -187,5 +187,5 @@
 
 // read in all readout-level PSFmodel files for this cell
-bool pmCellWritePSFmodel (pmCell *cell, const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmCellWritePSFmodel (pmCell *cell, const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
 
@@ -199,5 +199,5 @@
 
 // read in all readout-level Objects files for this cell
-bool pmReadoutWritePSFmodel (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmReadoutWritePSFmodel (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
     bool status;
@@ -229,5 +229,5 @@
 
 
-bool pmFPAviewReadPSFmodel (const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmFPAviewReadPSFmodel (const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
 
@@ -269,5 +269,5 @@
 
 // read in all chip-level PSFmodel files for this FPA
-bool pmFPAReadPSFmodel (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmFPAReadPSFmodel (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
 
@@ -281,5 +281,5 @@
 
 // read in all cell-level PSFmodel files for this chip
-bool pmChipReadPSFmodel (pmChip *chip, const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmChipReadPSFmodel (pmChip *chip, const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
 
@@ -293,5 +293,5 @@
 
 // read in all readout-level PSFmodel files for this cell
-bool pmCellReadPSFmodel (pmCell *cell, const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmCellReadPSFmodel (pmCell *cell, const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
 
@@ -305,5 +305,5 @@
 
 // read in all readout-level Objects files for this cell
-bool pmReadoutReadPSFmodel (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmReadoutReadPSFmodel (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
 
Index: /trunk/psModules/src/objects/pmPSF_IO.h
===================================================================
--- /trunk/psModules/src/objects/pmPSF_IO.h	(revision 12831)
+++ /trunk/psModules/src/objects/pmPSF_IO.h	(revision 12832)
@@ -6,6 +6,6 @@
  * @author EAM, IfA
  *
- * @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-01-24 02:54:15 $
+ * @version $Revision: 1.6 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-04-14 03:22:48 $
  * Copyright 2004 Maui High Performance Computing Center, University of Hawaii
  */
@@ -19,15 +19,15 @@
 psMetadata *pmPSFtoMetadata (psMetadata *metadata, pmPSF *psf);
 pmPSF *pmPSFfromMetadata (psMetadata *metadata);
-bool pmFPAviewWritePSFmodel (const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmFPAWritePSFmodel (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmChipWritePSFmodel (pmChip *chip, const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmCellWritePSFmodel (pmCell *cell, const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmReadoutWritePSFmodel (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, pmConfig *config);
+bool pmFPAviewWritePSFmodel (const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmFPAWritePSFmodel (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmChipWritePSFmodel (pmChip *chip, const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmCellWritePSFmodel (pmCell *cell, const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmReadoutWritePSFmodel (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
 
-bool pmFPAviewReadPSFmodel (const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmFPAReadPSFmodel (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmChipReadPSFmodel (pmChip *chip, const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmCellReadPSFmodel (pmCell *cell, const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmReadoutReadPSFmodel (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, pmConfig *config);
+bool pmFPAviewReadPSFmodel (const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmFPAReadPSFmodel (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmChipReadPSFmodel (pmChip *chip, const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmCellReadPSFmodel (pmCell *cell, const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmReadoutReadPSFmodel (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
 
 /// @}
Index: /trunk/psModules/src/objects/pmSourceIO.c
===================================================================
--- /trunk/psModules/src/objects/pmSourceIO.c	(revision 12831)
+++ /trunk/psModules/src/objects/pmSourceIO.c	(revision 12832)
@@ -3,6 +3,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.33 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-03-31 04:18:04 $
+ *  @version $Revision: 1.34 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-04-14 03:22:48 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -66,5 +66,5 @@
 
 // Given a FITS file pointer, write the table of object data
-bool pmFPAviewWriteObjects (const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmFPAviewWriteObjects (const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
 
@@ -125,5 +125,5 @@
 
 // read in all chip-level Objects files for this FPA
-bool pmFPAWriteObjects (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmFPAWriteObjects (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
 
@@ -140,5 +140,5 @@
 
 // read in all cell-level Objects files for this chip
-bool pmChipWriteObjects (pmChip *chip, const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmChipWriteObjects (pmChip *chip, const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
 
@@ -155,5 +155,5 @@
 
 // read in all readout-level Objects files for this cell
-bool pmCellWriteObjects (pmCell *cell, const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmCellWriteObjects (pmCell *cell, const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
 
@@ -170,5 +170,5 @@
 
 // write out all readout-level Objects files for this cell
-bool pmReadoutWriteObjects (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmReadoutWriteObjects (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
 
@@ -260,6 +260,6 @@
         // we only need a PHU if chips->n > 1 and file->fileLevel == FPA
         // otherwise, the chip header fills the PHU location
-	// XXX this code could be placed in a 'pmSource_CMF_WritePHU' function and called
-	// from pmFPAfileIO.c.
+        // XXX this code could be placed in a 'pmSource_CMF_WritePHU' function and called
+        // from pmFPAfileIO.c.
         if ((file->fileLevel == PM_FPA_LEVEL_FPA) && (file->fpa->chips->n > 1) && !file->phu) {
 
@@ -275,10 +275,10 @@
                 pmConfigConformHeader (outhead, file->format);
 
-		psMetadata *fileData = psMetadataLookupMetadata(NULL, file->format, "FILE"); // File information
-		const char *fpaNameHdr = psMetadataLookupStr(NULL, fileData, "FPA.NAME");
-		if (fpaNameHdr && strlen(fpaNameHdr) > 0) {
-		    const char *fpaName = psMetadataLookupStr(NULL, file->fpa->concepts, "FPA.NAME");
-		    psMetadataAddStr(outhead, PS_LIST_TAIL, fpaNameHdr, PS_META_REPLACE, "FPA name", fpaName);
-		}
+                psMetadata *fileData = psMetadataLookupMetadata(NULL, file->format, "FILE"); // File information
+                const char *fpaNameHdr = psMetadataLookupStr(NULL, fileData, "FPA.NAME");
+                if (fpaNameHdr && strlen(fpaNameHdr) > 0) {
+                    const char *fpaName = psMetadataLookupStr(NULL, file->fpa->concepts, "FPA.NAME");
+                    psMetadataAddStr(outhead, PS_LIST_TAIL, fpaNameHdr, PS_META_REPLACE, "FPA name", fpaName);
+                }
             }
 
@@ -298,23 +298,23 @@
         // lookup the EXTNAME values used for table data and image header segments
         char *rule = NULL;
-	// Menu of EXTNAME rules
-        psMetadata *menu = psMetadataLookupMetadata(&status, file->camera, "EXTNAME.RULES"); 
-	if (!menu) {
-	    psError(PS_ERR_UNKNOWN, true, "missing EXTNAME.RULES in camera.config");
-	    return false;
-	}
-	// EXTNAME for image header
-	rule = psMetadataLookupStr(&status, menu, "CMF.HEAD"); 
-	if (!rule) {
-	    psError(PS_ERR_UNKNOWN, true, "missing entry for CMF.HEAD in EXTNAME.RULES in camera.config");
-	    return false;
-	}
+        // Menu of EXTNAME rules
+        psMetadata *menu = psMetadataLookupMetadata(&status, file->camera, "EXTNAME.RULES");
+        if (!menu) {
+            psError(PS_ERR_UNKNOWN, true, "missing EXTNAME.RULES in camera.config");
+            return false;
+        }
+        // EXTNAME for image header
+        rule = psMetadataLookupStr(&status, menu, "CMF.HEAD");
+        if (!rule) {
+            psError(PS_ERR_UNKNOWN, true, "missing entry for CMF.HEAD in EXTNAME.RULES in camera.config");
+            return false;
+        }
         headname = pmFPAfileNameFromRule (rule, file, view);
-	// EXTNAME for table data
-        rule = psMetadataLookupStr(&status, menu, "CMF.DATA"); 
-	if (!rule) {
-	    psError(PS_ERR_UNKNOWN, true, "missing entry for CMF.DATA in EXTNAME.RULES in camera.config");
-	    return false;
-	}
+        // EXTNAME for table data
+        rule = psMetadataLookupStr(&status, menu, "CMF.DATA");
+        if (!rule) {
+            psError(PS_ERR_UNKNOWN, true, "missing entry for CMF.DATA in EXTNAME.RULES in camera.config");
+            return false;
+        }
         dataname = pmFPAfileNameFromRule (rule, file, view);
 
@@ -348,31 +348,31 @@
         }
 
-	// create a header to hold the output data
-	outhead = psMetadataAlloc ();
-
-	// determine the output table format 
-	psMetadata *recipe = psMetadataLookupMetadata(&status, config->recipes, "PSPHOT");
-	if (!status) {
-	    psError(PS_ERR_UNKNOWN, true, "missing recipe PSPHOT in config data");
-	    return false;
-	}
-	exttype = psMemIncrRefCounter (psMetadataLookupStr(&status, recipe, "OUTPUT.FORMAT"));
-	if (!exttype) {
-	    exttype = psStringCopy ("SMPDATA");
-	} 
-
-	// write the links to the image header
+        // create a header to hold the output data
+        outhead = psMetadataAlloc ();
+
+        // determine the output table format
+        psMetadata *recipe = psMetadataLookupMetadata(&status, config->recipes, "PSPHOT");
+        if (!status) {
+            psError(PS_ERR_UNKNOWN, true, "missing recipe PSPHOT in config data");
+            return false;
+        }
+        exttype = psMemIncrRefCounter (psMetadataLookupStr(&status, recipe, "OUTPUT.FORMAT"));
+        if (!exttype) {
+            exttype = psStringCopy ("SMPDATA");
+        }
+
+        // write the links to the image header
         psMetadataAddStr (outhead, PS_LIST_TAIL, "EXTHEAD", PS_META_REPLACE, "name of image extension w/", headname);
         psMetadataAddStr (outhead, PS_LIST_TAIL, "EXTTYPE", PS_META_REPLACE, "extension type", exttype);
         psFree (exttype);
 
-	// XXX these are case-sensitive since the EXTYPE is case-sensitive
-	status = false;
-	if (!strcmp (exttype, "SMPDATA")) {
-	    status = pmSourcesWrite_SMPDATA (file->fits, sources, file->header, outhead, dataname);
-	}
-	if (!strcmp (exttype, "PS1_DEV_0")) {
-	    status = pmSourcesWrite_PS1_DEV_0 (file->fits, sources, file->header, outhead, dataname);
-	}
+        // XXX these are case-sensitive since the EXTYPE is case-sensitive
+        status = false;
+        if (!strcmp (exttype, "SMPDATA")) {
+            status = pmSourcesWrite_SMPDATA (file->fits, sources, file->header, outhead, dataname);
+        }
+        if (!strcmp (exttype, "PS1_DEV_0")) {
+            status = pmSourcesWrite_PS1_DEV_0 (file->fits, sources, file->header, outhead, dataname);
+        }
 
         if (!status) {
@@ -400,5 +400,5 @@
 
 // Given a FITS file pointer, read the table of object data
-bool pmFPAviewReadObjects (const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmFPAviewReadObjects (const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
     pmFPA *fpa = file->fpa;
@@ -439,5 +439,5 @@
 
 // read in all chip-level Objects files for this FPA
-bool pmFPAReadObjects (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmFPAReadObjects (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
     for (int i = 0; i < fpa->chips->n; i++) {
@@ -449,5 +449,5 @@
 
 // read in all cell-level Objects files for this chip
-bool pmChipReadObjects (pmChip *chip, const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmChipReadObjects (pmChip *chip, const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
     chip->data_exists = false;
@@ -455,6 +455,6 @@
         pmCell *cell = chip->cells->data[i];
         pmCellReadObjects (cell, view, file, config);
-	if (!cell->data_exists) continue;
-	chip->data_exists = true;
+        if (!cell->data_exists) continue;
+        chip->data_exists = true;
     }
     return true;
@@ -462,5 +462,5 @@
 
 // read in all readout-level Objects files for this cell
-bool pmCellReadObjects (pmCell *cell, const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmCellReadObjects (pmCell *cell, const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
     // multiple readout mode is not yet defined for CMP or CMF files
@@ -475,14 +475,14 @@
         pmReadout *readout = cell->readouts->data[i];
         pmReadoutReadObjects (readout, view, file, config);
-	if (!readout->data_exists) {
-	    continue;
-	}
-
-	// load in the concept information for this cell
-	if (!pmConceptsReadCell(cell, PM_CONCEPT_SOURCE_HEADER, true, NULL)) {
-	    //psError(PS_ERR_UNKNOWN, false, "Failed to read concepts for cell");
-	    //return false;
-	    psWarning("Difficulty reading concepts for cell; attempting to proceed.");
-	}
+        if (!readout->data_exists) {
+            continue;
+        }
+
+        // load in the concept information for this cell
+        if (!pmConceptsReadCell(cell, PM_CONCEPT_SOURCE_HEADER, true, NULL)) {
+            //psError(PS_ERR_UNKNOWN, false, "Failed to read concepts for cell");
+            //return false;
+            psWarning("Difficulty reading concepts for cell; attempting to proceed.");
+        }
         cell->data_exists = true;
     }
@@ -491,5 +491,5 @@
 
 // read in all readout-level Objects files for this cell
-bool pmReadoutReadObjects (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmReadoutReadObjects (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
 
@@ -500,10 +500,10 @@
     switch (file->type) {
       case PM_FPA_FILE_OBJ:
-	psError(PS_ERR_UNKNOWN, true, "OBJ is not supported as an input object format");
-	return false;
+        psError(PS_ERR_UNKNOWN, true, "OBJ is not supported as an input object format");
+        return false;
 
       case PM_FPA_FILE_SX:
-	psError(PS_ERR_UNKNOWN, true, "SX is not supported as an input object format");
-	return false;
+        psError(PS_ERR_UNKNOWN, true, "SX is not supported as an input object format");
+        return false;
 
       case PM_FPA_FILE_CMP:
@@ -530,5 +530,5 @@
         psString realname = pmConfigConvertFilename (file->filename, config, create);
 
-	// read the PHU from this file 
+        // read the PHU from this file
         file->fits = psFitsOpen (realname, "r");
         if (hdu->header != NULL) {
@@ -549,34 +549,34 @@
         // lookup the EXTNAME values used for table data and image header segments
         char *rule = NULL;
-	// Menu of EXTNAME rules
+        // Menu of EXTNAME rules
         psMetadata *menu = psMetadataLookupMetadata(&status, file->camera, "EXTNAME.RULES");
-	if (!menu) {
-	    psError(PS_ERR_UNKNOWN, true, "missing EXTNAME.RULES in camera.config");
-	    return false;
-	}
-	// EXTNAME for image header
-	rule = psMetadataLookupStr(&status, menu, "CMF.HEAD");
-	if (!rule) {
-	    psError(PS_ERR_UNKNOWN, true, "missing entry for CMF.HEAD in EXTNAME.RULES in camera.config");
-	    return false;
-	}
+        if (!menu) {
+            psError(PS_ERR_UNKNOWN, true, "missing EXTNAME.RULES in camera.config");
+            return false;
+        }
+        // EXTNAME for image header
+        rule = psMetadataLookupStr(&status, menu, "CMF.HEAD");
+        if (!rule) {
+            psError(PS_ERR_UNKNOWN, true, "missing entry for CMF.HEAD in EXTNAME.RULES in camera.config");
+            return false;
+        }
         char *headname = pmFPAfileNameFromRule (rule, file, view);
-	// EXTNAME for table data
+        // EXTNAME for table data
         rule = psMetadataLookupStr(&status, menu, "CMF.DATA");
-	if (!rule) {
-	    psError(PS_ERR_UNKNOWN, true, "missing entry for CMF.DATA in EXTNAME.RULES in camera.config");
-	    return false;
-	}
+        if (!rule) {
+            psError(PS_ERR_UNKNOWN, true, "missing entry for CMF.DATA in EXTNAME.RULES in camera.config");
+            return false;
+        }
         char *dataname = pmFPAfileNameFromRule (rule, file, view);
 
-	// advance to the IMAGE HEADER extension
+        // advance to the IMAGE HEADER extension
         if (hdu->header == NULL) {
-	    // if the IMAGE header does not exist, we have no data for this view
+            // if the IMAGE header does not exist, we have no data for this view
             if (!psFitsMoveExtName (file->fits, headname)) {
-		readout->data_exists = false;
-		psFree (headname);
-		psFree (dataname);
-		return true;
-	    }
+                readout->data_exists = false;
+                psFree (headname);
+                psFree (dataname);
+                return true;
+            }
             hdu->header = psFitsReadHeader (NULL, file->fits);
         }
@@ -587,32 +587,32 @@
         if (extdata) {
             // if EXTDATA is defined in the header, use that value for 'dataname'
-	    psFree (dataname);
-	    dataname = psMemIncrRefCounter (extdata);
-        }
-	
-	// advance to the table data extension
-	// since we have read the IMAGE header, the TABLE header should exist
+            psFree (dataname);
+            dataname = psMemIncrRefCounter (extdata);
+        }
+
+        // advance to the table data extension
+        // since we have read the IMAGE header, the TABLE header should exist
         if (!psFitsMoveExtName (file->fits, dataname)) {
             psAbort("cannot find data extension %s in %s", dataname, file->filename);
         }
 
-	psMetadata *tableHeader = psFitsReadHeader(NULL, file->fits); // The FITS header
-	if (!tableHeader) psAbort("cannot read table header");
+        psMetadata *tableHeader = psFitsReadHeader(NULL, file->fits); // The FITS header
+        if (!tableHeader) psAbort("cannot read table header");
 
         char *exttype = psMetadataLookupStr (NULL, tableHeader, "EXTTYPE");
-	if (!exttype) psAbort("cannot read table type");
-
-	// XXX these are case-sensitive since the EXTYPE is case-sensitive
-	if (!strcmp (exttype, "SMPDATA")) {
-	    sources = pmSourcesRead_SMPDATA (file->fits, hdu->header);
-	}
-	if (!strcmp (exttype, "PS1_DEV_0")) {
-	    sources = pmSourcesRead_PS1_DEV_0 (file->fits, hdu->header);
-	}
+        if (!exttype) psAbort("cannot read table type");
+
+        // XXX these are case-sensitive since the EXTYPE is case-sensitive
+        if (!strcmp (exttype, "SMPDATA")) {
+            sources = pmSourcesRead_SMPDATA (file->fits, hdu->header);
+        }
+        if (!strcmp (exttype, "PS1_DEV_0")) {
+            sources = pmSourcesRead_PS1_DEV_0 (file->fits, hdu->header);
+        }
 
         psTrace("psModules.objects", 6, "read CMF table from %s : %s : %s", file->filename, headname, dataname);
-	psFree (headname);
+        psFree (headname);
         psFree (dataname);
-	psFree (tableHeader);
+        psFree (tableHeader);
         break;
 
Index: /trunk/psModules/src/objects/pmSourceIO.h
===================================================================
--- /trunk/psModules/src/objects/pmSourceIO.h	(revision 12831)
+++ /trunk/psModules/src/objects/pmSourceIO.h	(revision 12832)
@@ -4,6 +4,6 @@
  * @author EAM, IfA; GLG, MHPCC
  *
- * @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-03-18 22:03:21 $
+ * @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-04-14 03:22:48 $
  * Copyright 2004 Maui High Performance Computing Center, University of Hawaii
  *
@@ -37,15 +37,15 @@
 bool pmPeaksWriteText (psArray *peaks, char *filename);
 
-bool pmFPAviewReadObjects (const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmFPAReadObjects (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmChipReadObjects (pmChip *chip, const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmCellReadObjects (pmCell *cell, const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmReadoutReadObjects (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, pmConfig *config);
+bool pmFPAviewReadObjects (const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmFPAReadObjects (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmChipReadObjects (pmChip *chip, const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmCellReadObjects (pmCell *cell, const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmReadoutReadObjects (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
 
-bool pmFPAviewWriteObjects (const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmFPAWriteObjects (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmChipWriteObjects (pmChip *chip, const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmCellWriteObjects (pmCell *cell, const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmReadoutWriteObjects (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, pmConfig *config);
+bool pmFPAviewWriteObjects (const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmFPAWriteObjects (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmChipWriteObjects (pmChip *chip, const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmCellWriteObjects (pmCell *cell, const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmReadoutWriteObjects (pmReadout *readout, const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
 
 /// @}
Index: /trunk/psModules/src/objects/pmSourcePlotMoments.c
===================================================================
--- /trunk/psModules/src/objects/pmSourcePlotMoments.c	(revision 12831)
+++ /trunk/psModules/src/objects/pmSourcePlotMoments.c	(revision 12832)
@@ -5,6 +5,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-03-30 21:12:56 $
+ *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-04-14 03:22:48 $
  *
  *  Copyright 2006 IfA, University of Hawaii
@@ -42,5 +42,5 @@
 
     // plot the sx, sy moments plane (faint and bright sources)
-    bool pmSourcePlotMoments (const pmFPAview *view, pmFPAfile *file, pmConfig *config, pmSourcePlotLayout *layout)
+    bool pmSourcePlotMoments (const pmFPAview *view, pmFPAfile *file, const pmConfig *config, pmSourcePlotLayout *layout)
 {
 
@@ -159,5 +159,5 @@
 # else
 
-    bool pmSourcePlotMoments (const pmFPAview *view, pmFPAfile *file, pmConfig *config, pmSourcePlotLayout *layout)
+    bool pmSourcePlotMoments (const pmFPAview *view, pmFPAfile *file, const pmConfig *config, pmSourcePlotLayout *layout)
 {
     psLogMsg ("psphot", 3, "skipping moments plot");
Index: /trunk/psModules/src/objects/pmSourcePlotPSFModel.c
===================================================================
--- /trunk/psModules/src/objects/pmSourcePlotPSFModel.c	(revision 12831)
+++ /trunk/psModules/src/objects/pmSourcePlotPSFModel.c	(revision 12832)
@@ -5,6 +5,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-03-30 21:12:56 $
+ *  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-04-14 03:22:48 $
  *
  *  Copyright 2006 IfA, University of Hawaii
@@ -44,5 +44,5 @@
     // plot the PSF measured sx, sy, sxy as vector field
     // pull the sources from the config / file?
-    bool pmSourcePlotPSFModel (const pmFPAview *view, pmFPAfile *file, pmConfig *config, pmSourcePlotLayout *layout)
+    bool pmSourcePlotPSFModel (const pmFPAview *view, pmFPAfile *file, const pmConfig *config, pmSourcePlotLayout *layout)
 {
 
@@ -225,5 +225,5 @@
 # else
 
-    bool pmSourcePlotPSFModel (const pmFPAview *view, pmFPAfile *file, pmConfig *config, pmSourcePlotLayout *layout)
+    bool pmSourcePlotPSFModel (const pmFPAview *view, pmFPAfile *file, const pmConfig *config, pmSourcePlotLayout *layout)
 {
     psLogMsg ("psphot", 3, "skipping psf model plot");
Index: /trunk/psModules/src/objects/pmSourcePlots.c
===================================================================
--- /trunk/psModules/src/objects/pmSourcePlots.c	(revision 12831)
+++ /trunk/psModules/src/objects/pmSourcePlots.c	(revision 12832)
@@ -5,6 +5,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-03-30 21:12:56 $
+ *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-04-14 03:22:48 $
  *
  *  Copyright 2006 IfA, University of Hawaii
@@ -32,5 +32,5 @@
 // this function is called for the specific plotting program at the fileLevel
 // fileLevel must be >= chip
-bool pmFPAviewWriteSourcePlot(const pmFPAview *view, pmFPAfile *file, pmConfig *config)
+bool pmFPAviewWriteSourcePlot(const pmFPAview *view, pmFPAfile *file, const pmConfig *config)
 {
     PS_ASSERT_PTR_NON_NULL(view, false);
@@ -54,5 +54,5 @@
 
 // read in all chip-level SourcePlot files for this FPA
-bool pmFPAWriteSourcePlot (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, pmConfig *config, pmSourcePlotLayout *layout)
+bool pmFPAWriteSourcePlot (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, const pmConfig *config, pmSourcePlotLayout *layout)
 {
     PS_ASSERT_PTR_NON_NULL(fpa, false);
@@ -94,5 +94,5 @@
 
 // read in all cell-level SourcePlot files for this chip
-bool pmChipWriteSourcePlot (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, pmConfig *config, pmSourcePlotLayout *layout)
+bool pmChipWriteSourcePlot (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, const pmConfig *config, pmSourcePlotLayout *layout)
 {
     PS_ASSERT_PTR_NON_NULL(view, false);
@@ -149,15 +149,15 @@
  *     - what are the dimensions of this element?
  *     - create a new page for this element?
- 
+
  * the answers to these questions come from slightly different locations
  * for the different types of plots:
- 
- *  1) focal-plane layout based plots: 
+
+ *  1) focal-plane layout based plots:
  *     - dimensions depend on fileLevel
- 
- *  2) multi-row plots: 
+
+ *  2) multi-row plots:
  *     - dimensions depend on total number of rows
- 
- *  2) multi-page plots: 
+
+ *  2) multi-page plots:
  *     - dimensions depend on total number of rows
  */
Index: /trunk/psModules/src/objects/pmSourcePlots.h
===================================================================
--- /trunk/psModules/src/objects/pmSourcePlots.h	(revision 12831)
+++ /trunk/psModules/src/objects/pmSourcePlots.h	(revision 12832)
@@ -4,6 +4,6 @@
  * @author EAM, IfA
  *
- * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-01-24 02:54:15 $
+ * @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-04-14 03:22:48 $
  * Copyright 2006 Institute for Astronomy, University of Hawaii
  */
@@ -31,9 +31,9 @@
 pmSourcePlotLayout *pmSourcePlotLayoutAlloc();
 
-bool pmFPAviewWriteSourcePlot(const pmFPAview *view, pmFPAfile *file, pmConfig *config);
-bool pmFPAWriteSourcePlot (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, pmConfig *config, pmSourcePlotLayout *layout);
-bool pmChipWriteSourcePlot (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, pmConfig *config, pmSourcePlotLayout *layout);
-bool pmSourcePlotPSFModel (const pmFPAview *view, pmFPAfile *file, pmConfig *config, pmSourcePlotLayout *layout);
-bool pmSourcePlotMoments (const pmFPAview *view, pmFPAfile *file, pmConfig *config, pmSourcePlotLayout *layout);
+bool pmFPAviewWriteSourcePlot(const pmFPAview *view, pmFPAfile *file, const pmConfig *config);
+bool pmFPAWriteSourcePlot (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, const pmConfig *config, pmSourcePlotLayout *layout);
+bool pmChipWriteSourcePlot (pmFPA *fpa, const pmFPAview *view, pmFPAfile *file, const pmConfig *config, pmSourcePlotLayout *layout);
+bool pmSourcePlotPSFModel (const pmFPAview *view, pmFPAfile *file, const pmConfig *config, pmSourcePlotLayout *layout);
+bool pmSourcePlotMoments (const pmFPAview *view, pmFPAfile *file, const pmConfig *config, pmSourcePlotLayout *layout);
 
 /// @}
