Index: /trunk/psModules/src/astrom/pmAstrometryDistortion.c
===================================================================
--- /trunk/psModules/src/astrom/pmAstrometryDistortion.c	(revision 12695)
+++ /trunk/psModules/src/astrom/pmAstrometryDistortion.c	(revision 12696)
@@ -7,6 +7,6 @@
 *  @author EAM, IfA
 *
-*  @version $Revision: 1.17 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2007-03-21 22:00:49 $
+*  @version $Revision: 1.18 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2007-03-30 21:12:56 $
 *
 *  Copyright 2006 Institute for Astronomy, University of Hawaii
@@ -21,9 +21,7 @@
 /******************************************************************************/
 
-//#include <stdio.h>
-//#include <string.h>
-//#include <math.h>
-//#include <unistd.h>   // for unlink
 #include <pslib.h>
+
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmFPAExtent.h"
Index: /trunk/psModules/src/astrom/pmAstrometryObjects.c
===================================================================
--- /trunk/psModules/src/astrom/pmAstrometryObjects.c	(revision 12695)
+++ /trunk/psModules/src/astrom/pmAstrometryObjects.c	(revision 12696)
@@ -8,6 +8,6 @@
 *  @author EAM, IfA
 *
-*  @version $Revision: 1.27 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2007-03-18 22:03:36 $
+*  @version $Revision: 1.28 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2007-03-30 21:12:56 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -27,4 +27,6 @@
 #include <unistd.h>   // for unlink
 #include <pslib.h>
+
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmAstrometryObjects.h"
Index: /trunk/psModules/src/astrom/pmAstrometryRegions.c
===================================================================
--- /trunk/psModules/src/astrom/pmAstrometryRegions.c	(revision 12695)
+++ /trunk/psModules/src/astrom/pmAstrometryRegions.c	(revision 12696)
@@ -4,6 +4,6 @@
  *
  *  @author EAM, IfA
- *  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-03-21 21:59:57 $
+ *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2006 Institute for Astronomy, University of Hawaii
@@ -15,4 +15,6 @@
 
 #include <pslib.h>
+
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmFPAExtent.h"
Index: /trunk/psModules/src/astrom/pmAstrometryUtils.c
===================================================================
--- /trunk/psModules/src/astrom/pmAstrometryUtils.c	(revision 12695)
+++ /trunk/psModules/src/astrom/pmAstrometryUtils.c	(revision 12696)
@@ -7,6 +7,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-02-07 23:58:17 $
+ *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2006 Institute for Astronomy, University of Hawaii
@@ -18,4 +18,6 @@
 
 #include <pslib.h>
+
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmAstrometryUtils.h"
Index: /trunk/psModules/src/astrom/pmAstrometryWCS.c
===================================================================
--- /trunk/psModules/src/astrom/pmAstrometryWCS.c	(revision 12695)
+++ /trunk/psModules/src/astrom/pmAstrometryWCS.c	(revision 12696)
@@ -7,6 +7,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-03-21 22:00:49 $
+ *  @version $Revision: 1.21 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2006 Institute for Astronomy, University of Hawaii
@@ -19,4 +19,6 @@
 #include <string.h>
 #include <pslib.h>
+
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmFPAExtent.h"
Index: /trunk/psModules/src/camera/pmCellSquish.c
===================================================================
--- /trunk/psModules/src/camera/pmCellSquish.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmCellSquish.c	(revision 12696)
@@ -2,4 +2,5 @@
 #include <pslib.h>
 
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmShifts.h"
Index: /trunk/psModules/src/camera/pmCellSquish.h
===================================================================
--- /trunk/psModules/src/camera/pmCellSquish.h	(revision 12695)
+++ /trunk/psModules/src/camera/pmCellSquish.h	(revision 12696)
@@ -1,6 +1,4 @@
 #ifndef PM_CELL_SQUISH_H
 #define PM_CELL_SQUISH_H
-
-#include "pmFPA.h"
 
 /// Squish (combine all component readouts of) a cell
Index: /trunk/psModules/src/camera/pmFPA.c
===================================================================
--- /trunk/psModules/src/camera/pmFPA.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPA.c	(revision 12696)
@@ -10,4 +10,5 @@
 #include "pmHDU.h"
 #include "pmFPA.h"
+#include "pmFPALevel.h"
 #include "pmConcepts.h"
 #include "pmMaskBadPixels.h"
Index: /trunk/psModules/src/camera/pmFPA.h
===================================================================
--- /trunk/psModules/src/camera/pmFPA.h	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPA.h	(revision 12696)
@@ -6,6 +6,6 @@
  * @author Eugene Magnier, IfA
  *
- * @version $Revision: 1.13 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-03-27 20:49:57 $
+ * @version $Revision: 1.14 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -16,7 +16,4 @@
 /// @addtogroup Camera Camera Layout
 /// @{
-
-#include <pslib.h>
-#include "pmHDU.h"
 
 #define FPA_ASTROM 1                    ///< Include astrometry information in the structures?
Index: /trunk/psModules/src/camera/pmFPAConstruct.c
===================================================================
--- /trunk/psModules/src/camera/pmFPAConstruct.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAConstruct.c	(revision 12696)
@@ -8,13 +8,13 @@
 #include <pslib.h>
 
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmFPALevel.h"
 #include "pmFPAFlags.h"
 #include "pmConcepts.h"
+#include "pmFPAview.h"
 #include "pmFPAConstruct.h"
-#include "pmFPAview.h"
 #include "pmFPAUtils.h"
 #include "pmHDUUtils.h"
-
 
 #define TABLE_OF_CONTENTS "CONTENTS"    // Name for camera format metadata containing the contents
Index: /trunk/psModules/src/camera/pmFPAConstruct.h
===================================================================
--- /trunk/psModules/src/camera/pmFPAConstruct.h	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAConstruct.h	(revision 12696)
@@ -4,6 +4,6 @@
  * @author Paul Price, IfA
  *
- * @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-02-15 00:51:20 $
+ * @version $Revision: 1.9 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -14,8 +14,4 @@
 /// @addtogroup Camera Camera Layout
 /// @{
-
-#include <pslib.h>
-#include "pmFPA.h"
-#include "pmFPAview.h"
 
 /// Construct an FPA instance on the basis of a camera configuration
Index: /trunk/psModules/src/camera/pmFPACopy.c
===================================================================
--- /trunk/psModules/src/camera/pmFPACopy.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPACopy.c	(revision 12696)
@@ -6,12 +6,10 @@
 #include <assert.h>
 #include <string.h>
-
 #include <pslib.h>
 
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmFPAUtils.h"
-#include "pmHDU.h"
 #include "pmHDUUtils.h"
-
 #include "pmFPACopy.h"
 
Index: /trunk/psModules/src/camera/pmFPAExtent.c
===================================================================
--- /trunk/psModules/src/camera/pmFPAExtent.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAExtent.c	(revision 12696)
@@ -2,4 +2,5 @@
 #include <pslib.h>
 
+#include "pmHDU.h"
 #include "pmFPA.h"
 
Index: /trunk/psModules/src/camera/pmFPAFlags.c
===================================================================
--- /trunk/psModules/src/camera/pmFPAFlags.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAFlags.c	(revision 12696)
@@ -6,4 +6,5 @@
 #include <pslib.h>
 
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmFPAFlags.h"
Index: /trunk/psModules/src/camera/pmFPAFlags.h
===================================================================
--- /trunk/psModules/src/camera/pmFPAFlags.h	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAFlags.h	(revision 12696)
@@ -6,6 +6,6 @@
  *  @author Eugene Magnier, 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-03-30 21:12:56 $
  *  Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -16,7 +16,4 @@
 /// @addtogroup Camera Camera Layout
 /// @{
-
-#include "pmFPA.h"
-
 
 // Functions to turn on/off the file_exists flags
Index: /trunk/psModules/src/camera/pmFPAHeader.c
===================================================================
--- /trunk/psModules/src/camera/pmFPAHeader.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAHeader.c	(revision 12696)
@@ -6,6 +6,8 @@
 #include <assert.h>
 #include <pslib.h>
+
+#include "pmHDU.h"
 #include "pmFPA.h"
-#include "pmHDU.h"
+#include "pmFPALevel.h"
 #include "pmConcepts.h"
 #include "pmFPAHeader.h"
Index: /trunk/psModules/src/camera/pmFPAMaskWeight.c
===================================================================
--- /trunk/psModules/src/camera/pmFPAMaskWeight.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAMaskWeight.c	(revision 12696)
@@ -7,6 +7,6 @@
 
 #include <pslib.h>
+#include "pmHDU.h"
 #include "pmFPA.h"
-#include "pmHDU.h"
 #include "pmHDUUtils.h"
 #include "pmHDUGenerate.h"
Index: /trunk/psModules/src/camera/pmFPAMaskWeight.h
===================================================================
--- /trunk/psModules/src/camera/pmFPAMaskWeight.h	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAMaskWeight.h	(revision 12696)
@@ -5,6 +5,6 @@
  * @author Eugene Magnier, IfA
  *
- * @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-01-24 02:54:14 $
+ * @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -15,6 +15,4 @@
 /// @addtogroup Camera Camera Layout
 /// @{
-
-#include "pmFPA.h"
 
 /// Pixel mask values
Index: /trunk/psModules/src/camera/pmFPAMosaic.c
===================================================================
--- /trunk/psModules/src/camera/pmFPAMosaic.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAMosaic.c	(revision 12696)
@@ -6,7 +6,8 @@
 #include <assert.h>
 #include <pslib.h>
+
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmFPAFlags.h"
-#include "pmHDU.h"
 #include "pmConceptsAverage.h"
 #include "pmHDUUtils.h"
@@ -444,8 +445,8 @@
 
     // Get the maximum extent of the mosaic image
-    int xMin = INT_MAX;
-    int xMax = - INT_MAX;
-    int yMin = INT_MAX;
-    int yMax = - INT_MAX;
+    int xMin = +INT_MAX;
+    int xMax = -INT_MAX;
+    int yMin = +INT_MAX;
+    int yMax = -INT_MAX;
     psElemType type = 0;
     int numImages = 0;                  // Number of images
@@ -672,4 +673,6 @@
 
     // Set the flips on the basis of the parity
+    // XXX if (level == CHIP) : only apply Cell parity
+    // XXX if (level == FPA) : apply Chip & Cell parity
     if (xParityCell * xParityChip == xParityTarget) {
         xFlip->data.U8[index] = 0;
@@ -758,4 +761,5 @@
         yParityCellTarget = 1;
     }
+    # if (0)
     int xParityChipTarget = psMetadataLookupS32(&mdok, targetCell->parent->concepts, "CHIP.XPARITY");
     if (!mdok || (xParityChipTarget != -1 && xParityChipTarget != 1)) {
@@ -772,4 +776,7 @@
     int xParityTarget = xParityChipTarget * xParityCellTarget;
     int yParityTarget = yParityChipTarget * yParityCellTarget;
+    # endif
+    int xParityTarget = xParityCellTarget;
+    int yParityTarget = yParityCellTarget;
 
     // Binning for the mosaicked chip is the minimum binning allowed by the cells
Index: /trunk/psModules/src/camera/pmFPAMosaic.h
===================================================================
--- /trunk/psModules/src/camera/pmFPAMosaic.h	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAMosaic.h	(revision 12696)
@@ -4,6 +4,6 @@
  * @author Paul Price, IfA
  *
- * @version $Revision: 1.6 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-03-28 19:17:36 $
+ * @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -14,6 +14,4 @@
 /// @addtogroup Camera Camera Layout
 /// @{
-
-#include "pmFPA.h"
 
 /// Mosaic all cells within a chip
Index: /trunk/psModules/src/camera/pmFPARead.c
===================================================================
--- /trunk/psModules/src/camera/pmFPARead.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPARead.c	(revision 12696)
@@ -9,7 +9,8 @@
 #include <pslib.h>
 
+#include "pmHDU.h"
 #include "pmFPA.h"
+#include "pmFPALevel.h"
 #include "pmFPAFlags.h"
-#include "pmHDU.h"
 #include "pmHDUUtils.h"
 #include "pmConcepts.h"
Index: /trunk/psModules/src/camera/pmFPARead.h
===================================================================
--- /trunk/psModules/src/camera/pmFPARead.h	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPARead.h	(revision 12696)
@@ -4,6 +4,6 @@
  * @author Paul Price, 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-03-30 21:12:56 $
  * Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -14,7 +14,4 @@
 /// @addtogroup Camera Camera Layout
 /// @{
-
-#include <pslib.h>
-#include "pmFPA.h"
 
 /// Read a readout incrementally
Index: /trunk/psModules/src/camera/pmFPAUtils.c
===================================================================
--- /trunk/psModules/src/camera/pmFPAUtils.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAUtils.c	(revision 12696)
@@ -5,6 +5,7 @@
 #include <stdio.h>
 #include <string.h>
+#include <pslib.h>
 
-#include <pslib.h>
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmFPAUtils.h"
Index: /trunk/psModules/src/camera/pmFPAUtils.h
===================================================================
--- /trunk/psModules/src/camera/pmFPAUtils.h	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAUtils.h	(revision 12696)
@@ -4,6 +4,6 @@
  * @author Paul Price, 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-03-30 21:12:56 $
  * Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -14,6 +14,4 @@
 /// @addtogroup Camera Camera Layout
 /// @{
-
-#include "pmFPA.h"
 
 /// Find a chip by name; return the index
Index: /trunk/psModules/src/camera/pmFPAWrite.c
===================================================================
--- /trunk/psModules/src/camera/pmFPAWrite.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAWrite.c	(revision 12696)
@@ -8,6 +8,7 @@
 #include <pslib.h>
 
+#include "pmHDU.h"
 #include "pmFPA.h"
-#include "pmHDU.h"
+#include "pmFPALevel.h"
 #include "pmHDUUtils.h"
 #include "pmHDUGenerate.h"
Index: /trunk/psModules/src/camera/pmFPAWrite.h
===================================================================
--- /trunk/psModules/src/camera/pmFPAWrite.h	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAWrite.h	(revision 12696)
@@ -4,6 +4,6 @@
  * @author Paul Price, IfA
  *
- * @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-01-24 02:54:14 $
+ * @version $Revision: 1.9 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -14,7 +14,4 @@
 /// @addtogroup Camera Camera Layout
 /// @{
-
-#include <pslib.h>
-#include "pmFPA.h"
 
 /// Write a readout incrementally
Index: /trunk/psModules/src/camera/pmFPA_JPEG.c
===================================================================
--- /trunk/psModules/src/camera/pmFPA_JPEG.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPA_JPEG.c	(revision 12696)
@@ -5,6 +5,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.18 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-02-01 03:15:13 $
+ *  @version $Revision: 1.19 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -24,8 +24,12 @@
 #include <pslib.h>
 
+#include "pmConfig.h"
+#include "pmDetrendDB.h"
+
 #include "pmHDU.h"
 #include "pmFPA.h"
+#include "pmFPALevel.h"
+#include "pmFPAview.h"
 #include "pmFPAfile.h"
-#include "pmFPAview.h"
 #include "pmFPA_JPEG.h"
 
Index: /trunk/psModules/src/camera/pmFPA_MANAPLOT.c
===================================================================
--- /trunk/psModules/src/camera/pmFPA_MANAPLOT.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPA_MANAPLOT.c	(revision 12696)
@@ -5,6 +5,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-01-26 00:05:17 $
+ *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -23,4 +23,6 @@
 #include <string.h>
 #include <pslib.h>
+
+#include "pmDetrendDB.h"
 
 #include "pmHDU.h"
Index: /trunk/psModules/src/camera/pmFPAfile.c
===================================================================
--- /trunk/psModules/src/camera/pmFPAfile.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAfile.c	(revision 12696)
@@ -8,22 +8,12 @@
 
 #include "pmConfig.h"
+#include "pmDetrendDB.h"
+
 #include "pmHDU.h"
 #include "pmFPA.h"
-// #include "pmFPAMaskWeight.h"
-#include "pmFPAConstruct.h"
+#include "pmFPALevel.h"
 #include "pmFPAview.h"
 #include "pmFPAfile.h"
 #include "pmFPACopy.h"
-#include "pmConceptsPhotcode.h"
-// #include "pmFPAWrite.h"
-// #include "pmPeaks.h"
-// #include "pmMoments.h"
-// #include "pmModel.h"
-// #include "pmSource.h"
-// #include "pmSourceIO.h"
-// #include "pmGrowthCurve.h"
-// #include "pmPSF.h"
-// #include "pmPSF_IO.h"
-// #include "pmFPA_JPEG.h"
 
 static void pmFPAfileFree(pmFPAfile *file)
Index: /trunk/psModules/src/camera/pmFPAfile.h
===================================================================
--- /trunk/psModules/src/camera/pmFPAfile.h	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAfile.h	(revision 12696)
@@ -4,6 +4,6 @@
  * @author EAM, IfA
  *
- * @version $Revision: 1.15 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-03-16 00:29:17 $
+ * @version $Revision: 1.16 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2004-2005 Institute for Astronomy, University of Hawaii
  */
@@ -14,10 +14,4 @@
 /// @addtogroup Camera Camera Layout
 /// @{
-
-#include "pslib.h"
-#include "pmConfig.h"
-#include "pmFPA.h"
-#include "pmFPAview.h"
-#include "pmDetrendDB.h"
 
 typedef enum {
Index: /trunk/psModules/src/camera/pmFPAfileDefine.c
===================================================================
--- /trunk/psModules/src/camera/pmFPAfileDefine.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAfileDefine.c	(revision 12696)
@@ -8,26 +8,13 @@
 
 #include "pmConfig.h"
-#include "pmConcepts.h"
+#include "pmDetrendDB.h"
+
 #include "pmHDU.h"
 #include "pmFPA.h"
-#include "pmFPAMaskWeight.h"
-#include "pmFPAConstruct.h"
+#include "pmFPALevel.h"
 #include "pmFPAview.h"
 #include "pmFPAfile.h"
 #include "pmFPAfile.h"
-#include "pmFPACopy.h"
-#include "pmFPARead.h"
-#include "pmFPAWrite.h"
-#include "pmPeaks.h"
-#include "pmMoments.h"
-#include "pmModel.h"
-#include "pmSource.h"
-#include "pmSourceIO.h"
-#include "pmGrowthCurve.h"
-#include "pmPSF.h"
-#include "pmPSF_IO.h"
-#include "pmFPA_JPEG.h"
-#include "pmDetrendDB.h"
-#include "pmConceptsPhotcode.h"
+#include "pmFPAConstruct.h"
 
 // define an input-type pmFPAfile, bind to the optional fpa if supplied
Index: /trunk/psModules/src/camera/pmFPAfileDefine.h
===================================================================
--- /trunk/psModules/src/camera/pmFPAfileDefine.h	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAfileDefine.h	(revision 12696)
@@ -4,10 +4,8 @@
  * @author EAM, IfA
  *
- * @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-01-24 02:54:14 $
+ * @version $Revision: 1.9 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2004-2005 Institute for Astronomy, University of Hawaii
  */
-
-#include <pmDetrendDB.h>
 
 /// @addtogroup Camera Camera Layout
Index: /trunk/psModules/src/camera/pmFPAfileFitsIO.c
===================================================================
--- /trunk/psModules/src/camera/pmFPAfileFitsIO.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAfileFitsIO.c	(revision 12696)
@@ -7,14 +7,17 @@
 
 #include "pmConfig.h"
+#include "pmDetrendDB.h"
+
 #include "pmHDU.h"
 #include "pmFPA.h"
+#include "pmFPALevel.h"
 #include "pmFPARead.h"
 #include "pmFPAWrite.h"
 #include "pmFPAMaskWeight.h"
-#include "pmFPAConstruct.h"
 #include "pmFPAview.h"
 #include "pmFPAfile.h"
 #include "pmFPAfileFitsIO.h"
 #include "pmFPACopy.h"
+#include "pmFPAConstruct.h"
 
 pmFPA *pmFPAfileSuitableFPA(const pmFPAfile *file, const pmFPAview *view, const pmConfig *config)
Index: /trunk/psModules/src/camera/pmFPAfileIO.c
===================================================================
--- /trunk/psModules/src/camera/pmFPAfileIO.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAfileIO.c	(revision 12696)
@@ -8,8 +8,10 @@
 
 #include "pmConfig.h"
+#include "pmDetrendDB.h"
+
 #include "pmHDU.h"
 #include "pmFPA.h"
+#include "pmFPALevel.h"
 #include "pmFPAMaskWeight.h"
-#include "pmFPAConstruct.h"
 #include "pmFPAview.h"
 #include "pmFPAfile.h"
@@ -29,5 +31,5 @@
 #include "pmFPA_JPEG.h"
 #include "pmSourcePlots.h"
-#include "pmDetrendDB.h"
+#include "pmFPAConstruct.h"
 
 // attempt create, read, write, close, or free pmFPAfiles available in files files are
Index: /trunk/psModules/src/camera/pmFPAview.c
===================================================================
--- /trunk/psModules/src/camera/pmFPAview.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAview.c	(revision 12696)
@@ -3,6 +3,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.10 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-03-24 17:53:55 $
+ *  @version $Revision: 1.11 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -17,8 +17,9 @@
 #include <math.h>
 #include <string.h>
-#include "pslib.h"
+#include <pslib.h>
 #include "pmHDU.h"
+#include "pmFPA.h"
+#include "pmFPALevel.h"
 #include "pmHDUUtils.h"
-#include "pmFPA.h"
 #include "pmFPAview.h"
 
Index: /trunk/psModules/src/camera/pmFPAview.h
===================================================================
--- /trunk/psModules/src/camera/pmFPAview.h	(revision 12695)
+++ /trunk/psModules/src/camera/pmFPAview.h	(revision 12696)
@@ -4,6 +4,6 @@
  * @author Eugene Magnier, IfA
  *
- * @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-03-24 17:53:55 $
+ * @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -15,6 +15,6 @@
 /// @{
 
-#include "pmFPA.h"
-#include "pmFPALevel.h"
+// #include "pmFPA.h"
+// #include "pmFPALevel.h"
 
 /// Identifier for FPA components
Index: /trunk/psModules/src/camera/pmHDU.c
===================================================================
--- /trunk/psModules/src/camera/pmHDU.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmHDU.c	(revision 12696)
@@ -6,7 +6,8 @@
 #include <assert.h>
 #include <string.h>
-
 #include <pslib.h>
+
 #include "pmConfig.h"
+#include "pmHDU.h"
 #include "pmFPA.h"
 
Index: /trunk/psModules/src/camera/pmHDUGenerate.c
===================================================================
--- /trunk/psModules/src/camera/pmHDUGenerate.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmHDUGenerate.c	(revision 12696)
@@ -8,9 +8,8 @@
 #include <pslib.h>
 
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmFPALevel.h"
-#include "pmHDU.h"
 #include "pmHDUUtils.h"
-
 #include "pmHDUGenerate.h"
 
Index: /trunk/psModules/src/camera/pmHDUGenerate.h
===================================================================
--- /trunk/psModules/src/camera/pmHDUGenerate.h	(revision 12695)
+++ /trunk/psModules/src/camera/pmHDUGenerate.h	(revision 12696)
@@ -4,6 +4,6 @@
  * @author Paul Price, 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-03-30 21:12:56 $
  * Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -14,6 +14,4 @@
 /// @addtogroup Camera Camera Layout
 /// @{
-
-#include "pmFPA.h"
 
 /// Generate an HDU (with CELL.TRIMSEC, CELL.BIASSEC and pixels) for a cell with pixels
Index: /trunk/psModules/src/camera/pmHDUUtils.c
===================================================================
--- /trunk/psModules/src/camera/pmHDUUtils.c	(revision 12695)
+++ /trunk/psModules/src/camera/pmHDUUtils.c	(revision 12696)
@@ -4,8 +4,9 @@
 
 #include <stdio.h>
+#include <pslib.h>
+
+#include "pmHDU.h"
 #include "pmFPA.h"
-#include "pmHDU.h"
 #include "pmHDUUtils.h"
-
 
 pmHDU *pmHDUFromFPA(const pmFPA *fpa)
Index: /trunk/psModules/src/camera/pmHDUUtils.h
===================================================================
--- /trunk/psModules/src/camera/pmHDUUtils.h	(revision 12695)
+++ /trunk/psModules/src/camera/pmHDUUtils.h	(revision 12696)
@@ -4,6 +4,6 @@
  * @author Paul Price, IfA
  *
- * @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-01-24 02:54:14 $
+ * @version $Revision: 1.9 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -14,7 +14,4 @@
 /// @addtogroup Camera Camera Layout
 /// @{
-
-#include "pmFPA.h"
-#include "pmHDU.h"
 
 /// Get the lowest HDU in the hierarchy
Index: /trunk/psModules/src/concepts/pmConcepts.c
===================================================================
--- /trunk/psModules/src/concepts/pmConcepts.c	(revision 12695)
+++ /trunk/psModules/src/concepts/pmConcepts.c	(revision 12696)
@@ -10,4 +10,7 @@
 #include <string.h>
 
+#include "pmHDU.h"
+#include "pmFPA.h"
+#include "pmFPALevel.h"
 #include "pmHDUUtils.h"
 #include "pmConcepts.h"
Index: /trunk/psModules/src/concepts/pmConcepts.h
===================================================================
--- /trunk/psModules/src/concepts/pmConcepts.h	(revision 12695)
+++ /trunk/psModules/src/concepts/pmConcepts.h	(revision 12696)
@@ -4,6 +4,6 @@
  * @author Paul Price, IfA
  *
- * @version $Revision: 1.13 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-03-07 00:10:36 $
+ * @version $Revision: 1.14 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -14,8 +14,4 @@
 /// @addtogroup Concepts Data Abstraction Concepts
 /// @{
-
-#include <pslib.h>
-#include "pmFPA.h"
-#include "pmFPALevel.h"
 
 /// Source for concepts when reading and writing.
Index: /trunk/psModules/src/concepts/pmConceptsAverage.c
===================================================================
--- /trunk/psModules/src/concepts/pmConceptsAverage.c	(revision 12695)
+++ /trunk/psModules/src/concepts/pmConceptsAverage.c	(revision 12696)
@@ -6,9 +6,9 @@
 #include <pslib.h>
 
+#include "pmHDU.h"
+#include "pmFPA.h"
+#include "pmFPALevel.h"
 #include "pmConcepts.h"
-#include "pmFPA.h"
-
 #include "pmConceptsAverage.h"
-
 
 // Update a metadata entry directly
Index: /trunk/psModules/src/concepts/pmConceptsAverage.h
===================================================================
--- /trunk/psModules/src/concepts/pmConceptsAverage.h	(revision 12695)
+++ /trunk/psModules/src/concepts/pmConceptsAverage.h	(revision 12696)
@@ -4,6 +4,6 @@
  * @author Paul Price, IfA
  *
- * @version $Revision: 1.6 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-03-28 23:45:31 $
+ * @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -14,7 +14,4 @@
 /// @addtogroup Concepts Data Abstraction Concepts
 /// @{
-
-#include <pslib.h>
-#include "pmFPA.h"
 
 /// Set a variety of concepts in a cell by averaging over several
Index: /trunk/psModules/src/concepts/pmConceptsPhotcode.c
===================================================================
--- /trunk/psModules/src/concepts/pmConceptsPhotcode.c	(revision 12695)
+++ /trunk/psModules/src/concepts/pmConceptsPhotcode.c	(revision 12696)
@@ -7,4 +7,12 @@
 #include <pslib.h>
 
+#include "pmConfig.h"
+#include "pmDetrendDB.h"
+
+#include "pmHDU.h"
+#include "pmFPA.h"
+#include "pmFPALevel.h"
+#include "pmFPAview.h"
+#include "pmFPAfile.h"
 #include "pmConceptsPhotcode.h"
 
Index: /trunk/psModules/src/concepts/pmConceptsPhotcode.h
===================================================================
--- /trunk/psModules/src/concepts/pmConceptsPhotcode.h	(revision 12695)
+++ /trunk/psModules/src/concepts/pmConceptsPhotcode.h	(revision 12696)
@@ -4,6 +4,6 @@
  * @author Eugene Magnier, IfA
  *
- * @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-01-24 02:54:14 $
+ * @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -14,9 +14,4 @@
 /// @addtogroup Concepts Data Abstraction Concepts
 /// @{
-
-#include <pslib.h>
-#include "pmConfig.h"
-#include "pmFPAview.h"
-#include "pmFPAfile.h"
 
 /// Return the photcode based on the PHOTCODE.RULE in the PHASE2 recipe
Index: /trunk/psModules/src/concepts/pmConceptsRead.c
===================================================================
--- /trunk/psModules/src/concepts/pmConceptsRead.c	(revision 12695)
+++ /trunk/psModules/src/concepts/pmConceptsRead.c	(revision 12696)
@@ -8,6 +8,7 @@
 #include <pslib.h>
 
+#include "pmHDU.h"
 #include "pmFPA.h"
-#include "pmHDU.h"
+#include "pmFPALevel.h"
 #include "pmHDUUtils.h"
 #include "pmConcepts.h"
Index: /trunk/psModules/src/concepts/pmConceptsRead.h
===================================================================
--- /trunk/psModules/src/concepts/pmConceptsRead.h	(revision 12695)
+++ /trunk/psModules/src/concepts/pmConceptsRead.h	(revision 12696)
@@ -4,6 +4,6 @@
  * @author Paul Price, IfA
  *
- * @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-01-24 02:54:14 $
+ * @version $Revision: 1.6 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -11,7 +11,4 @@
 #ifndef PM_CONCEPTS_READ_H
 #define PM_CONCEPTS_READ_H
-
-#include <pslib.h>
-#include "pmFPA.h"
 
 /// Read concepts from the camera format file's CELLS.
Index: /trunk/psModules/src/concepts/pmConceptsStandard.c
===================================================================
--- /trunk/psModules/src/concepts/pmConceptsStandard.c	(revision 12695)
+++ /trunk/psModules/src/concepts/pmConceptsStandard.c	(revision 12696)
@@ -6,8 +6,10 @@
 #include <string.h>
 #include <assert.h>
-
-#include "pslib.h"
-
+#include <pslib.h>
+
+#include "pmHDU.h"
 #include "pmFPA.h"
+#include "pmFPALevel.h"
+#include "pmConcepts.h"
 #include "pmConceptsRead.h"
 #include "pmConceptsWrite.h"
Index: /trunk/psModules/src/concepts/pmConceptsStandard.h
===================================================================
--- /trunk/psModules/src/concepts/pmConceptsStandard.h	(revision 12695)
+++ /trunk/psModules/src/concepts/pmConceptsStandard.h	(revision 12696)
@@ -4,6 +4,6 @@
  * @author Paul Price, IfA
  *
- * @version $Revision: 1.9 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-02-12 22:22:15 $
+ * @version $Revision: 1.10 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -14,8 +14,4 @@
 /// @addtogroup Concepts Data Abstraction Concepts
 /// @{
-
-#include <pslib.h>
-#include "pmFPA.h"
-#include "pmConcepts.h"
 
 /// Parse the FPA.FILTER concept to apply a lookup table
Index: /trunk/psModules/src/concepts/pmConceptsUpdate.c
===================================================================
--- /trunk/psModules/src/concepts/pmConceptsUpdate.c	(revision 12695)
+++ /trunk/psModules/src/concepts/pmConceptsUpdate.c	(revision 12696)
@@ -6,7 +6,7 @@
 #include <string.h>
 #include <assert.h>
-
 #include <pslib.h>
 
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmConceptsUpdate.h"
Index: /trunk/psModules/src/concepts/pmConceptsUpdate.h
===================================================================
--- /trunk/psModules/src/concepts/pmConceptsUpdate.h	(revision 12695)
+++ /trunk/psModules/src/concepts/pmConceptsUpdate.h	(revision 12696)
@@ -4,6 +4,6 @@
  * @author Paul Price, IfA
  *
- * @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-02-12 22:22:15 $
+ * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2005-2007 Institute for Astronomy, University of Hawaii
  */
@@ -11,7 +11,4 @@
 #ifndef PM_CONCEPTS_UPDATE_H
 #define PM_CONCEPTS_UPDATE_H
-
-#include "pmFPA.h"
-
 
 /// Check for concepts to update.
Index: /trunk/psModules/src/concepts/pmConceptsWrite.c
===================================================================
--- /trunk/psModules/src/concepts/pmConceptsWrite.c	(revision 12695)
+++ /trunk/psModules/src/concepts/pmConceptsWrite.c	(revision 12696)
@@ -8,6 +8,7 @@
 #include <pslib.h>
 
+#include "pmHDU.h"
 #include "pmFPA.h"
-#include "pmHDU.h"
+#include "pmFPALevel.h"
 #include "pmHDUUtils.h"
 #include "pmConcepts.h"
Index: /trunk/psModules/src/concepts/pmConceptsWrite.h
===================================================================
--- /trunk/psModules/src/concepts/pmConceptsWrite.h	(revision 12695)
+++ /trunk/psModules/src/concepts/pmConceptsWrite.h	(revision 12696)
@@ -4,6 +4,6 @@
  * @author Paul Price, 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-03-30 21:12:56 $
  * Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -14,7 +14,4 @@
 /// @addtogroup Concepts Data Abstraction Concepts
 /// @{
-
-#include <pslib.h>
-#include "pmFPA.h"
 
 /// "Write" concepts to (actually, check against) the camera format file's CELLS.
Index: /trunk/psModules/src/config/pmConfig.c
===================================================================
--- /trunk/psModules/src/config/pmConfig.c	(revision 12695)
+++ /trunk/psModules/src/config/pmConfig.c	(revision 12696)
@@ -4,6 +4,6 @@
  *  @author EAM (IfA)
  *
- *  @version $Revision: 1.81 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-03-23 03:09:53 $
+ *  @version $Revision: 1.82 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -28,4 +28,5 @@
 #include "pmConfig.h"
 #include "pmErrorCodes.h"
+#include "pmFPALevel.h"
 #include "pmConfigRecipes.h"
 #include "pmConfigCamera.h"
Index: /trunk/psModules/src/config/pmConfigCamera.c
===================================================================
--- /trunk/psModules/src/config/pmConfigCamera.c	(revision 12695)
+++ /trunk/psModules/src/config/pmConfigCamera.c	(revision 12696)
@@ -1,4 +1,4 @@
 #ifdef HAVE_CONFIG_H
-# include "config.h"
+#include <config.h>
 #endif
 
@@ -7,9 +7,9 @@
 #include <pslib.h>
 
+#include "pmHDU.h"
+#include "pmFPA.h"
 #include "pmFPALevel.h"
 #include "pmConcepts.h"
-
 #include "pmConfigCamera.h"
-
 
 #define TABLE_OF_CONTENTS "CONTENTS"    // Name for camera format metadata containing the contents
@@ -17,75 +17,82 @@
 #define CELL_TYPES "CELLS"              // Name for camera format metadata containing the cell types
 
-
-// Remove a concept from the list of sources.  Need to check to see if it exists first, to avoid a warning.
-static void removeConcept(psMetadata *source, // Source from which to remove concept
-                          const char *concept // Concept name to remove
-                         )
+// local helper functions defined below
+static void removeCellConceptsSources(psMetadata *source);
+static void removeChipConceptsSources(psMetadata *source);
+
+// Generate the Chip and FPA mosaicked version of a named camera configuration
+bool pmConfigCameraMosaickedVersions(psMetadata *site, // The site configuration
+                                     const char *name // Name of the un-mosaicked camera
+                                    )
 {
-    assert(source);
-    assert(concept && strlen(concept) > 0);
-
-    if (psMetadataLookup(source, concept)) {
-        psMetadataRemoveKey(source, concept);
-    }
-
-    return;
+    PS_ASSERT_METADATA_NON_NULL(site, false);
+    PS_ASSERT_STRING_NON_EMPTY(name, false);
+
+    bool mdok;                          // Status of MD lookup
+    psMetadata *cameras = psMetadataLookupMetadata(&mdok, site, "CAMERAS"); // List of cameras
+    if (!mdok || !cameras) {
+        psError(PS_ERR_UNEXPECTED_NULL, true, "Unable to find CAMERAS in the site configuration.\n");
+        return false;
+    }
+    if (!pmConfigGenerateMosaickedVersion(cameras, cameras, name, PM_FPA_LEVEL_CHIP)) {
+        psError(PS_ERR_UNKNOWN, true, "Failed to build Chip mosaic camera description for %s\n", name);
+        return false;
+    }
+    if (!pmConfigGenerateMosaickedVersion(cameras, cameras, name, PM_FPA_LEVEL_FPA)) {
+        psError(PS_ERR_UNKNOWN, true, "Failed to build FPA mosaic camera description for %s\n", name);
+        return false;
+    }
+    return true;
 }
 
-// Remove certain concepts from the list of sources.  These concepts are important in the mosaicking process,
-// and are added explicitly to the defaults (elsewhere) so that the user can't get them wrong.
-static void removeCellConceptsSources(psMetadata *source // Source for concepts
+// the operation putting the new entries first is now implemented in pmConfigGenerateMosaickedVersion
+// Generate the Chip and FPA mosaicked version of a named camera configuration
+bool pmConfigCameraMosaickedVersionsAll(psMetadata *site)
+{
+    PS_ASSERT_METADATA_NON_NULL(site, false);
+
+    bool mdok;                          // Status of MD lookup
+    psMetadata *cameras = psMetadataLookupMetadata(&mdok, site, "CAMERAS"); // List of cameras
+    if (!mdok || !cameras) {
+        psError(PS_ERR_UNEXPECTED_NULL, true, "Unable to find CAMERAS in the site configuration.\n");
+        return false;
+    }
+
+    psMetadataIterator *camerasIter = psMetadataIteratorAlloc(cameras, PS_LIST_HEAD, NULL); // Iterator
+    psMetadataItem *camerasItem = NULL; // Item from iteration
+    psMetadata *new = psMetadataAlloc();// New cameras to add
+    while ((camerasItem = psMetadataGetAndIncrement(camerasIter))) {
+        assert(camerasItem->type == PS_DATA_METADATA); // Only metadata are allowed here!
+        if (!pmConfigGenerateMosaickedVersion(cameras, new, camerasItem->name, PM_FPA_LEVEL_CHIP)) {
+	    psError(PS_ERR_UNKNOWN, true, "Failed to build Chip mosaic camera description for %s\n", camerasItem->name);
+	    return false;
+	}
+        if (!pmConfigGenerateMosaickedVersion(cameras, new, camerasItem->name, PM_FPA_LEVEL_FPA)) {
+	    psError(PS_ERR_UNKNOWN, true, "Failed to build FPA mosaic camera description for %s\n", camerasItem->name);
+	    return false;
+	}
+    }
+    psFree(camerasIter);
+
+    // Now put the new cameras at the top of the list of cameras, so they get recognised first
+    // Note: going from the top, and putting everything to the top as we get there, so that the last one on
+    // goes to the top.  This preserves the original order of the cameras, putting the mosaicked versions
+    // before the originals.
+    camerasIter = psMetadataIteratorAlloc(new, PS_LIST_HEAD, NULL); // Iterator
+    while ((camerasItem = psMetadataGetAndIncrement(camerasIter))) {
+        psMetadataAddItem(cameras, camerasItem, PS_LIST_HEAD, 0);
+    }
+    psFree(camerasIter);
+    psFree(new);
+
+    return true;
+}
+
+// Generate a mosaicked version of a camera configuration
+bool pmConfigGenerateMosaickedVersion(psMetadata *oldCameras, // Old list of camera configurations
+				      psMetadata *newCameras, // New list of camera configurations
+				      const char *name, // Name of original camera configuration
+				      pmFPALevel mosaicLevel // Level to which we are mosaicking
     )
-{
-    if (!source) {
-        return;
-    }
-
-    removeConcept(source, "CELL.BIASSEC");
-    removeConcept(source, "CELL.TRIMSEC");
-    removeConcept(source, "CELL.XPARITY");
-    removeConcept(source, "CELL.YPARITY");
-    removeConcept(source, "CELL.X0");
-    removeConcept(source, "CELL.Y0");
-
-    // For the sake of the defaults, include the .DEPEND
-    removeConcept(source, "CELL.XPARITY.DEPEND");
-    removeConcept(source, "CELL.YPARITY.DEPEND");
-    removeConcept(source, "CELL.X0.DEPEND");
-    removeConcept(source, "CELL.Y0.DEPEND");
-
-    return;
-}
-
-// Remove certain concepts from the list of sources.  These concepts are important in the mosaicking process,
-// and are added explicitly to the defaults (elsewhere) so that the user can't get them wrong.
-static void removeChipConceptsSources(psMetadata *source // Source for concepts
-    )
-{
-    if (!source) {
-        return;
-    }
-
-    removeConcept(source, "CHIP.XPARITY");
-    removeConcept(source, "CHIP.YPARITY");
-    removeConcept(source, "CHIP.X0");
-    removeConcept(source, "CHIP.Y0");
-
-    // For the sake of the defaults, include the .DEPEND
-    removeConcept(source, "CHIP.XPARITY.DEPEND");
-    removeConcept(source, "CHIP.YPARITY.DEPEND");
-    removeConcept(source, "CHIP.X0.DEPEND");
-    removeConcept(source, "CHIP.Y0.DEPEND");
-
-    return;
-}
-
-// Generate a mosaicked version of a camera configuration
-// XXX EAM : the error states of this function need to be more carefully considered
-static bool mosaickedVersion(psMetadata *oldCameras, // Old list of camera configurations
-                             psMetadata *newCameras, // New list of camera configurations
-                             const char *name, // Name of original camera configuration
-                             pmFPALevel mosaicLevel // Level to which we are mosaicking
-                            )
 {
     assert(oldCameras);
@@ -97,5 +104,4 @@
     psMetadata *camera = psMetadataLookupMetadata(NULL, oldCameras, name); // The camera configuration
     if (!camera) {
-        // XXX is this an error?
         psError(PS_ERR_UNEXPECTED_NULL, false, "Can't find camera to be mosaicked in camera list.");
         return false;
@@ -485,57 +491,66 @@
 }
 
-// Generate the chip mosaicked version of a camera configuration
-bool pmConfigCameraMosaickedVersions(psMetadata *site, // The site configuration
-                                     const char *name // Name of the un-mosaicked camera
-                                    )
+/*** Helper Functions ***/
+
+// Remove a concept from the list of sources.  Need to check to see if it exists first, to avoid a warning.
+static void removeConcept(psMetadata *source, // Source from which to remove concept
+                          const char *concept // Concept name to remove
+                         )
 {
-    PS_ASSERT_METADATA_NON_NULL(site, false);
-    PS_ASSERT_STRING_NON_EMPTY(name, false);
-
-    bool mdok;                          // Status of MD lookup
-    psMetadata *cameras = psMetadataLookupMetadata(&mdok, site, "CAMERAS"); // List of cameras
-    if (!mdok || !cameras) {
-        psError(PS_ERR_UNEXPECTED_NULL, true, "Unable to find CAMERAS in the site configuration.\n");
-        return false;
-    }
-    return mosaickedVersion(cameras, cameras, name, PM_FPA_LEVEL_CHIP) &&
-           mosaickedVersion(cameras, cameras, name, PM_FPA_LEVEL_FPA);
+    assert(source);
+    assert(concept && strlen(concept) > 0);
+
+    if (psMetadataLookup(source, concept)) {
+        psMetadataRemoveKey(source, concept);
+    }
+
+    return;
 }
 
-// XXX EAM : shouldn't this loop over the unmosaicked camera names, calling the above function?
-// the operation putting the new entries first is now implemented in mosaickedVersion
-bool pmConfigCameraMosaickedVersionsAll(psMetadata *site)
+// Remove certain concepts from the list of sources.  These concepts are important in the mosaicking process,
+// and are added explicitly to the defaults (elsewhere) so that the user can't get them wrong.
+static void removeCellConceptsSources(psMetadata *source // Source for concepts
+    )
 {
-    PS_ASSERT_METADATA_NON_NULL(site, false);
-
-    bool mdok;                          // Status of MD lookup
-    psMetadata *cameras = psMetadataLookupMetadata(&mdok, site, "CAMERAS"); // List of cameras
-    if (!mdok || !cameras) {
-        psError(PS_ERR_UNEXPECTED_NULL, true, "Unable to find CAMERAS in the site configuration.\n");
-        return false;
-    }
-
-    psMetadataIterator *camerasIter = psMetadataIteratorAlloc(cameras, PS_LIST_HEAD, NULL); // Iterator
-    psMetadataItem *camerasItem = NULL; // Item from iteration
-    psMetadata *new = psMetadataAlloc();// New cameras to add
-    while ((camerasItem = psMetadataGetAndIncrement(camerasIter))) {
-        assert(camerasItem->type == PS_DATA_METADATA); // Only metadata are allowed here!
-        mosaickedVersion(cameras, new, camerasItem->name, PM_FPA_LEVEL_CHIP);
-        mosaickedVersion(cameras, new, camerasItem->name, PM_FPA_LEVEL_FPA);
-    }
-    psFree(camerasIter);
-
-    // Now put the new cameras at the top of the list of cameras, so they get recognised first
-    // Note: going from the top, and putting everything to the top as we get there, so that the last one on
-    // goes to the top.  This preserves the original order of the cameras, putting the mosaicked versions
-    // before the originals.
-    camerasIter = psMetadataIteratorAlloc(new, PS_LIST_HEAD, NULL); // Iterator
-    while ((camerasItem = psMetadataGetAndIncrement(camerasIter))) {
-        psMetadataAddItem(cameras, camerasItem, PS_LIST_HEAD, 0);
-    }
-    psFree(camerasIter);
-    psFree(new);
-
-    return true;
+    if (!source) {
+        return;
+    }
+
+    removeConcept(source, "CELL.BIASSEC");
+    removeConcept(source, "CELL.TRIMSEC");
+    removeConcept(source, "CELL.XPARITY");
+    removeConcept(source, "CELL.YPARITY");
+    removeConcept(source, "CELL.X0");
+    removeConcept(source, "CELL.Y0");
+
+    // For the sake of the defaults, include the .DEPEND
+    removeConcept(source, "CELL.XPARITY.DEPEND");
+    removeConcept(source, "CELL.YPARITY.DEPEND");
+    removeConcept(source, "CELL.X0.DEPEND");
+    removeConcept(source, "CELL.Y0.DEPEND");
+
+    return;
 }
 
+// Remove certain concepts from the list of sources.  These concepts are important in the mosaicking process,
+// and are added explicitly to the defaults (elsewhere) so that the user can't get them wrong.
+static void removeChipConceptsSources(psMetadata *source // Source for concepts
+    )
+{
+    if (!source) {
+        return;
+    }
+
+    removeConcept(source, "CHIP.XPARITY");
+    removeConcept(source, "CHIP.YPARITY");
+    removeConcept(source, "CHIP.X0");
+    removeConcept(source, "CHIP.Y0");
+
+    // For the sake of the defaults, include the .DEPEND
+    removeConcept(source, "CHIP.XPARITY.DEPEND");
+    removeConcept(source, "CHIP.YPARITY.DEPEND");
+    removeConcept(source, "CHIP.X0.DEPEND");
+    removeConcept(source, "CHIP.Y0.DEPEND");
+
+    return;
+}
Index: /trunk/psModules/src/config/pmConfigCamera.h
===================================================================
--- /trunk/psModules/src/config/pmConfigCamera.h	(revision 12695)
+++ /trunk/psModules/src/config/pmConfigCamera.h	(revision 12696)
@@ -5,6 +5,6 @@
  *  @author Eugene Magnier, IfA
  * 
- *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-01-24 01:05:41 $
+ *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *  Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -16,14 +16,19 @@
 /// @{
 
-#include <pslib.h>
+// Generate a mosaicked version of a camera configuration
+bool pmConfigGenerateMosaickedVersion(psMetadata *oldCameras, // Old list of camera configurations
+				      psMetadata *newCameras, // New list of camera configurations
+				      const char *name, // Name of original camera configuration
+				      pmFPALevel mosaicLevel // Level to which we are mosaicking
+    );
 
 /// Generate the chip mosaicked version of a particular camera configuration
 bool pmConfigCameraMosaickedVersions(psMetadata *site, // Site configuration
                                      const char *name // Name of the un-mosaicked camera
-                                    );
+    );
 
 /// Generate chip- and fpa-mosaicked versions of all the camera configurations
 bool pmConfigCameraMosaickedVersionsAll(psMetadata *site // Site configuration
-                                       );
+    );
 
 /// @}
Index: /trunk/psModules/src/config/pmConfigCommand.c
===================================================================
--- /trunk/psModules/src/config/pmConfigCommand.c	(revision 12695)
+++ /trunk/psModules/src/config/pmConfigCommand.c	(revision 12696)
@@ -6,5 +6,5 @@
 #include <string.h>
 #include <pslib.h>
-
+#include "pmConfig.h"
 #include "pmConfigCommand.h"
 
Index: /trunk/psModules/src/config/pmConfigCommand.h
===================================================================
--- /trunk/psModules/src/config/pmConfigCommand.h	(revision 12695)
+++ /trunk/psModules/src/config/pmConfigCommand.h	(revision 12696)
@@ -1,7 +1,4 @@
 #ifndef PM_CONFIG_COMMAND_H
 #define PM_CONFIG_COMMAND_H
-
-#include <pslib.h>
-#include "pmConfig.h"
 
 /// Extend a command-line to include the necessary database flags
@@ -17,5 +14,3 @@
 bool pmConfigTraceCommand(psString *command ///< Command to extend
                          );
-
-
 #endif
Index: /trunk/psModules/src/config/pmErrorCodes.c.in
===================================================================
--- /trunk/psModules/src/config/pmErrorCodes.c.in	(revision 12695)
+++ /trunk/psModules/src/config/pmErrorCodes.c.in	(revision 12696)
@@ -5,5 +5,5 @@
  * will be replaced by values from errorCodes.dat
  */
-#include "pslib.h"
+#include <pslib.h>
 #include "pmErrorCodes.h"
 
Index: /trunk/psModules/src/config/pmVersion.h
===================================================================
--- /trunk/psModules/src/config/pmVersion.h	(revision 12695)
+++ /trunk/psModules/src/config/pmVersion.h	(revision 12696)
@@ -5,6 +5,6 @@
  *  @author Eugene Magnier, IfA
  * 
- *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-01-24 01:05:41 $
+ *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *  Copyright 2005-2006 Institute for Astronomy, University of Hawaii
  */
@@ -15,6 +15,4 @@
 /// @addtogroup Config Configuration System
 /// @{
-
-#include <pslib.h>
 
 /** Get current psModules version
@@ -36,5 +34,4 @@
 psString psModulesVersionLong(void);
 
-
 /// @}
 #endif
Index: /trunk/psModules/src/detrend/pmBias.c
===================================================================
--- /trunk/psModules/src/detrend/pmBias.c	(revision 12695)
+++ /trunk/psModules/src/detrend/pmBias.c	(revision 12696)
@@ -8,4 +8,5 @@
 #include <pslib.h>
 
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmHDUUtils.h"
Index: /trunk/psModules/src/detrend/pmBias.h
===================================================================
--- /trunk/psModules/src/detrend/pmBias.h	(revision 12695)
+++ /trunk/psModules/src/detrend/pmBias.h	(revision 12696)
@@ -5,6 +5,6 @@
  * @author Paul Price, IfA
  *
- * @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-01-24 02:54:15 $
+ * @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2004--2006 Institute for Astronomy, University of Hawaii
  */
@@ -15,8 +15,4 @@
 /// @addtogroup detrend Detrend Creation and Application
 /// @{
-
-#include <pslib.h>
-
-#include "pmFPA.h"
 
 /// Type of fit to perform
Index: /trunk/psModules/src/detrend/pmDetrendDB.c
===================================================================
--- /trunk/psModules/src/detrend/pmDetrendDB.c	(revision 12695)
+++ /trunk/psModules/src/detrend/pmDetrendDB.c	(revision 12696)
@@ -6,6 +6,8 @@
 #include <string.h>
 #include <pslib.h>
+
 #include "pmConfig.h"
 #include "pmConfigCommand.h"
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmFPALevel.h"
Index: /trunk/psModules/src/detrend/pmDetrendDB.h
===================================================================
--- /trunk/psModules/src/detrend/pmDetrendDB.h	(revision 12695)
+++ /trunk/psModules/src/detrend/pmDetrendDB.h	(revision 12696)
@@ -9,6 +9,6 @@
  * @author EAM, IfA
  *
- * @version $Revision: 1.11 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-03-09 02:49:53 $
+ * @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2004-2005 Institute for Astronomy, University of Hawaii
  */
@@ -19,7 +19,4 @@
 /// @addtogroup detrend Detrend Creation and Application
 /// @{
-
-#include "pmConfig.h"
-#include "pmFPALevel.h"
 
 typedef enum {
Index: /trunk/psModules/src/detrend/pmFlatField.c
===================================================================
--- /trunk/psModules/src/detrend/pmFlatField.c	(revision 12695)
+++ /trunk/psModules/src/detrend/pmFlatField.c	(revision 12696)
@@ -6,9 +6,9 @@
 #include <pslib.h>
 
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmHDUUtils.h"
 #include "pmFPAMaskWeight.h"
 #include "pmFlatField.h"
-
 
 bool pmFlatField(pmReadout *in, const pmReadout *flat)
Index: /trunk/psModules/src/detrend/pmFlatField.h
===================================================================
--- /trunk/psModules/src/detrend/pmFlatField.h	(revision 12695)
+++ /trunk/psModules/src/detrend/pmFlatField.h	(revision 12696)
@@ -5,6 +5,6 @@
  * @author Paul Price, IfA
  *
- * @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-01-24 02:54:15 $
+ * @version $Revision: 1.9 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2004-2006 Institute for Astronomy, University of Hawaii
  */
@@ -15,6 +15,4 @@
 /// @addtogroup detrend Detrend Creation and Application
 /// @{
-
-#include "pmFPA.h"
 
 /// Apply flat field calibration to a readout
Index: /trunk/psModules/src/detrend/pmFlatNormalize.h
===================================================================
--- /trunk/psModules/src/detrend/pmFlatNormalize.h	(revision 12695)
+++ /trunk/psModules/src/detrend/pmFlatNormalize.h	(revision 12696)
@@ -4,6 +4,6 @@
  * @author Paul Price, IfA
  *
- * @version $Revision: 1.6 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-01-24 02:54:15 $
+ * @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2004-2006 Institute for Astronomy, University of Hawaii
  */
@@ -14,6 +14,4 @@
 /// @addtogroup detrend Detrend Creation and Application
 /// @{
-
-#include <pslib.h>
 
 /// Normalize flat-field measurements
Index: /trunk/psModules/src/detrend/pmFringeStats.c
===================================================================
--- /trunk/psModules/src/detrend/pmFringeStats.c	(revision 12695)
+++ /trunk/psModules/src/detrend/pmFringeStats.c	(revision 12696)
@@ -7,7 +7,8 @@
 #include <string.h>
 #include <pslib.h>
+
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmFringeStats.h"
-
 
 // Future optimisations for speed:
Index: /trunk/psModules/src/detrend/pmMaskBadPixels.c
===================================================================
--- /trunk/psModules/src/detrend/pmMaskBadPixels.c	(revision 12695)
+++ /trunk/psModules/src/detrend/pmMaskBadPixels.c	(revision 12696)
@@ -7,4 +7,5 @@
 #include <pslib.h>
 
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmHDUUtils.h"
Index: /trunk/psModules/src/detrend/pmMaskBadPixels.h
===================================================================
--- /trunk/psModules/src/detrend/pmMaskBadPixels.h	(revision 12695)
+++ /trunk/psModules/src/detrend/pmMaskBadPixels.h	(revision 12696)
@@ -5,6 +5,6 @@
  * @author Eugene Magnier, IfA
  *
- * @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-01-24 02:54:15 $
+ * @version $Revision: 1.13 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2004 Institute for Astronomy, University of Hawaii
  */
@@ -15,7 +15,4 @@
 /// @addtogroup detrend Detrend Creation and Application
 /// @{
-
-#include <pslib.h>
-#include "pmFPA.h"
 
 /// Applies the bad pixel mask to the input
Index: /trunk/psModules/src/detrend/pmNonLinear.c
===================================================================
--- /trunk/psModules/src/detrend/pmNonLinear.c	(revision 12695)
+++ /trunk/psModules/src/detrend/pmNonLinear.c	(revision 12696)
@@ -6,4 +6,5 @@
 #include <pslib.h>
 
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmNonLinear.h"
Index: /trunk/psModules/src/detrend/pmNonLinear.h
===================================================================
--- /trunk/psModules/src/detrend/pmNonLinear.h	(revision 12695)
+++ /trunk/psModules/src/detrend/pmNonLinear.h	(revision 12696)
@@ -5,6 +5,6 @@
  * @author Paul Price, 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-03-30 21:12:56 $
  * Copyright 2004 Institute for Astronomy, University of Hawaii
  */
@@ -15,7 +15,4 @@
 /// @addtogroup detrend Detrend Creation and Application
 /// @{
-
-#include <pslib.h>
-#include "pmFPA.h"
 
 /// Correct non-linearity through polynomial
Index: /trunk/psModules/src/detrend/pmShifts.c
===================================================================
--- /trunk/psModules/src/detrend/pmShifts.c	(revision 12695)
+++ /trunk/psModules/src/detrend/pmShifts.c	(revision 12696)
@@ -8,4 +8,6 @@
 #include <pslib.h>
 
+#include "pmHDU.h"
+#include "pmFPA.h"
 #include "pmFPALevel.h"
 #include "pmFPAUtils.h"
Index: /trunk/psModules/src/detrend/pmShifts.h
===================================================================
--- /trunk/psModules/src/detrend/pmShifts.h	(revision 12695)
+++ /trunk/psModules/src/detrend/pmShifts.h	(revision 12696)
@@ -1,7 +1,4 @@
 #ifndef PM_SHIFTS_H
 #define PM_SHIFTS_H
-
-#include <pslib.h>
-#include "pmFPA.h"
 
 #define PM_SHIFTS_TABLE_NAME "SHIFTS.TABLE" ///< Name for table on the analysis metadata
Index: /trunk/psModules/src/detrend/pmShutterCorrection.c
===================================================================
--- /trunk/psModules/src/detrend/pmShutterCorrection.c	(revision 12695)
+++ /trunk/psModules/src/detrend/pmShutterCorrection.c	(revision 12696)
@@ -8,4 +8,5 @@
 #include <pslib.h>
 
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmHDUUtils.h"
Index: /trunk/psModules/src/detrend/pmShutterCorrection.h
===================================================================
--- /trunk/psModules/src/detrend/pmShutterCorrection.h	(revision 12695)
+++ /trunk/psModules/src/detrend/pmShutterCorrection.h	(revision 12696)
@@ -5,6 +5,6 @@
  * @author Paul Price, IfA
  *
- * @version $Revision: 1.11 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-01-24 02:54:15 $
+ * @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2006 Institute for Astronomy, University of Hawaii
  */
@@ -59,6 +59,4 @@
  *  terms of dT(x,y) and f'(x,y)
  */
-
-#include <pslib.h>
 
 /// Shutter correction parameters, applicable for a single pixel
Index: /trunk/psModules/src/detrend/pmSkySubtract.c
===================================================================
--- /trunk/psModules/src/detrend/pmSkySubtract.c	(revision 12695)
+++ /trunk/psModules/src/detrend/pmSkySubtract.c	(revision 12696)
@@ -6,6 +6,6 @@
  *  @author GLG, MHPCC
  *
- *  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-11-30 00:52:21 $
+ *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -22,4 +22,7 @@
 #include <math.h>
 #include <pslib.h>
+
+#include "pmHDU.h"
+#include "pmFPA.h"
 #include "pmSubtractSky.h"
 
Index: /trunk/psModules/src/detrend/pmSkySubtract.h
===================================================================
--- /trunk/psModules/src/detrend/pmSkySubtract.h	(revision 12695)
+++ /trunk/psModules/src/detrend/pmSkySubtract.h	(revision 12696)
@@ -6,6 +6,6 @@
  * @author GLG, MHPCC
  *
- * @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-03-30 21:12:56 $
  * Copyright 2004 Maui High Performance Computing Center, University of Hawaii
  */
@@ -16,9 +16,4 @@
 /// @addtogroup detrend Detrend Creation and Application
 /// @{
-
-#include<stdio.h>
-#include<math.h>
-#include "pslib.h"
-#include "pmFPA.h"
 
 // XXX: this is pmFit in pmSubtractBias.c, named psFit here.
Index: /trunk/psModules/src/extras/pmKapaPlots.h
===================================================================
--- /trunk/psModules/src/extras/pmKapaPlots.h	(revision 12695)
+++ /trunk/psModules/src/extras/pmKapaPlots.h	(revision 12696)
@@ -4,6 +4,6 @@
  * @author EAM, IfA
  *
- * @version $Revision: 1.6 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-01-31 03:11:35 $
+ * @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2006 Institute for Astronomy, University of Hawaii
  */
@@ -21,12 +21,12 @@
 
 # if (HAVE_KAPA)
-    # include <kapa.h>
+# include <kapa.h>
 
-    // yes, this is an absurd name...
-    bool pmKapaPlotVectorPair_AutoLimits_OpenGraph (int kapa, Graphdata *graphdata, psVector *xVec, psVector *yVec);
+// yes, this is an absurd name...
+bool pmKapaPlotVectorPair_AutoLimits_OpenGraph (int kapa, Graphdata *graphdata, psVector *xVec, psVector *yVec);
 bool pmKapaPlotVectorTriple_AutoLimits_OpenGraph (int kapa, Graphdata *graphdata, psVector *xVec, psVector *yVec, psVector *zVec, bool increasing);
 # else
 
-    bool pmKapaPlotVectorPair_AutoLimits_OpenGraph (int kapa, void *graphdata, psVector *xVec, psVector *yVec);
+bool pmKapaPlotVectorPair_AutoLimits_OpenGraph (int kapa, void *graphdata, psVector *xVec, psVector *yVec);
 bool pmKapaPlotVectorTriple_AutoLimits_OpenGraph (int kapa, void *graphdata, psVector *xVec, psVector *yVec, psVector *zVec, bool increasing);
 # endif
Index: /trunk/psModules/src/imcombine/pmImageCombine.h
===================================================================
--- /trunk/psModules/src/imcombine/pmImageCombine.h	(revision 12695)
+++ /trunk/psModules/src/imcombine/pmImageCombine.h	(revision 12696)
@@ -8,6 +8,6 @@
  * @author GLG, MHPCC
  *
- * @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-03-30 21:12:56 $
  * Copyright 2004 Maui High Performance Computing Center, University of Hawaii
  */
@@ -18,8 +18,4 @@
 /// @addtogroup imcombine Image Combinations
 /// @{
-
-#include <stdio.h>
-#include <math.h>
-#include <pslib.h>
 
 psImage *pmCombineImages(
Index: /trunk/psModules/src/imcombine/pmImageSubtract.h
===================================================================
--- /trunk/psModules/src/imcombine/pmImageSubtract.h	(revision 12695)
+++ /trunk/psModules/src/imcombine/pmImageSubtract.h	(revision 12696)
@@ -7,6 +7,6 @@
  * @author GLG, MHPCC
  *
- * @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-01-24 02:54:15 $
+ * @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2004 Maui High Performance Computing Center, University of Hawaii
  */
@@ -17,8 +17,4 @@
 /// @addtogroup imcombine Image Combinations
 /// @{
-
-#include <stdio.h>
-#include <math.h>
-#include <pslib.h>
 
 typedef enum {
Index: /trunk/psModules/src/imcombine/pmReadoutCombine.c
===================================================================
--- /trunk/psModules/src/imcombine/pmReadoutCombine.c	(revision 12695)
+++ /trunk/psModules/src/imcombine/pmReadoutCombine.c	(revision 12696)
@@ -8,4 +8,5 @@
 #include <pslib.h>
 
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmHDUUtils.h"
Index: /trunk/psModules/src/imcombine/pmReadoutCombine.h
===================================================================
--- /trunk/psModules/src/imcombine/pmReadoutCombine.h	(revision 12695)
+++ /trunk/psModules/src/imcombine/pmReadoutCombine.h	(revision 12696)
@@ -5,6 +5,6 @@
  * @author Paul Price, IfA
  * 
- * @version $Revision: 1.10 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-01-24 02:54:15 $
+ * @version $Revision: 1.11 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-03-30 21:12:56 $
  * Copyright 2004-2006 Institute for Astronomy, University of Hawaii
  */
@@ -15,7 +15,4 @@
 /// @addtogroup imcombine Image Combinations
 /// @{
-
-#include <pslib.h>
-#include "pmFPA.h"
 
 /// Combination parameters for pmReadoutCombine.
Index: /trunk/psModules/src/objects/pmGrowthCurve.c
===================================================================
--- /trunk/psModules/src/objects/pmGrowthCurve.c	(revision 12695)
+++ /trunk/psModules/src/objects/pmGrowthCurve.c	(revision 12696)
@@ -5,6 +5,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-11-07 22:55:40 $
+ *  @version $Revision: 1.9 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -17,4 +17,6 @@
 
 #include <pslib.h>
+
+#include "pmHDU.h"
 #include "pmFPA.h"
 #include "pmPeaks.h"
Index: /trunk/psModules/src/objects/pmPSF_IO.c
===================================================================
--- /trunk/psModules/src/objects/pmPSF_IO.c	(revision 12695)
+++ /trunk/psModules/src/objects/pmPSF_IO.c	(revision 12696)
@@ -6,6 +6,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.11 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-02-07 23:58:17 $
+ *  @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -22,7 +22,13 @@
 
 #include <pslib.h>
+
+#include "pmConfig.h"
+#include "pmDetrendDB.h"
+
 #include "pmHDU.h"
 #include "pmFPA.h"
-#include "pmFPAfile.h"
+
+#include "pmFPALevel.h"
+#include "pmFPAview.h"
 #include "pmFPAfile.h"
 
Index: /trunk/psModules/src/objects/pmSourceIO.c
===================================================================
--- /trunk/psModules/src/objects/pmSourceIO.c	(revision 12695)
+++ /trunk/psModules/src/objects/pmSourceIO.c	(revision 12696)
@@ -3,6 +3,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.30 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-03-27 18:52:17 $
+ *  @version $Revision: 1.31 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -18,6 +18,11 @@
 #include <string.h>
 #include <pslib.h>
+
+#include "pmConfig.h"
+#include "pmDetrendDB.h"
+
 #include "pmHDU.h"
 #include "pmFPA.h"
+#include "pmFPALevel.h"
 #include "pmFPAview.h"
 #include "pmFPAfile.h"
Index: /trunk/psModules/src/objects/pmSourceIO_CMF.c
===================================================================
--- /trunk/psModules/src/objects/pmSourceIO_CMF.c	(revision 12695)
+++ /trunk/psModules/src/objects/pmSourceIO_CMF.c	(revision 12696)
@@ -3,6 +3,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.17 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-01-26 04:40:12 $
+ *  @version $Revision: 1.18 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -20,4 +20,5 @@
 #include "pmHDU.h"
 #include "pmFPA.h"
+#include "pmFPALevel.h"
 #include "pmFPAview.h"
 #include "pmFPAfile.h"
Index: /trunk/psModules/src/objects/pmSourceIO_CMP.c
===================================================================
--- /trunk/psModules/src/objects/pmSourceIO_CMP.c	(revision 12695)
+++ /trunk/psModules/src/objects/pmSourceIO_CMP.c	(revision 12696)
@@ -3,6 +3,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.23 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-02-07 23:58:17 $
+ *  @version $Revision: 1.24 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -18,6 +18,11 @@
 #include <string.h>
 #include <pslib.h>
+
+#include "pmConfig.h"
+#include "pmDetrendDB.h"
+
 #include "pmHDU.h"
 #include "pmFPA.h"
+#include "pmFPALevel.h"
 #include "pmFPAview.h"
 #include "pmFPAfile.h"
Index: /trunk/psModules/src/objects/pmSourceIO_OBJ.c
===================================================================
--- /trunk/psModules/src/objects/pmSourceIO_OBJ.c	(revision 12695)
+++ /trunk/psModules/src/objects/pmSourceIO_OBJ.c	(revision 12696)
@@ -3,6 +3,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-11-29 02:36:38 $
+ *  @version $Revision: 1.9 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -18,6 +18,11 @@
 #include <string.h>
 #include <pslib.h>
+
+#include "pmConfig.h"
+#include "pmDetrendDB.h"
+
 #include "pmHDU.h"
 #include "pmFPA.h"
+#include "pmFPALevel.h"
 #include "pmFPAview.h"
 #include "pmFPAfile.h"
Index: /trunk/psModules/src/objects/pmSourceIO_PS1_DEV_0.c
===================================================================
--- /trunk/psModules/src/objects/pmSourceIO_PS1_DEV_0.c	(revision 12695)
+++ /trunk/psModules/src/objects/pmSourceIO_PS1_DEV_0.c	(revision 12696)
@@ -3,6 +3,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-03-28 19:17:14 $
+ *  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -18,6 +18,11 @@
 #include <string.h>
 #include <pslib.h>
+
+#include "pmConfig.h"
+#include "pmDetrendDB.h"
+
 #include "pmHDU.h"
 #include "pmFPA.h"
+#include "pmFPALevel.h"
 #include "pmFPAview.h"
 #include "pmFPAfile.h"
Index: /trunk/psModules/src/objects/pmSourceIO_RAW.c
===================================================================
--- /trunk/psModules/src/objects/pmSourceIO_RAW.c	(revision 12695)
+++ /trunk/psModules/src/objects/pmSourceIO_RAW.c	(revision 12696)
@@ -3,6 +3,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.13 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-01-19 04:39:02 $
+ *  @version $Revision: 1.14 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -18,6 +18,11 @@
 #include <string.h>
 #include <pslib.h>
+
+#include "pmConfig.h"
+#include "pmDetrendDB.h"
+
 #include "pmHDU.h"
 #include "pmFPA.h"
+#include "pmFPALevel.h"
 #include "pmFPAview.h"
 #include "pmFPAfile.h"
Index: /trunk/psModules/src/objects/pmSourceIO_SMPDATA.c
===================================================================
--- /trunk/psModules/src/objects/pmSourceIO_SMPDATA.c	(revision 12695)
+++ /trunk/psModules/src/objects/pmSourceIO_SMPDATA.c	(revision 12696)
@@ -3,6 +3,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-03-18 22:03:21 $
+ *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -18,6 +18,11 @@
 #include <string.h>
 #include <pslib.h>
+
+#include "pmConfig.h"
+#include "pmDetrendDB.h"
+
 #include "pmHDU.h"
 #include "pmFPA.h"
+#include "pmFPALevel.h"
 #include "pmFPAview.h"
 #include "pmFPAfile.h"
Index: /trunk/psModules/src/objects/pmSourceIO_SX.c
===================================================================
--- /trunk/psModules/src/objects/pmSourceIO_SX.c	(revision 12695)
+++ /trunk/psModules/src/objects/pmSourceIO_SX.c	(revision 12696)
@@ -3,6 +3,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-11-29 02:36:38 $
+ *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -18,6 +18,11 @@
 #include <string.h>
 #include <pslib.h>
+
+#include "pmConfig.h"
+#include "pmDetrendDB.h"
+
 #include "pmHDU.h"
 #include "pmFPA.h"
+#include "pmFPALevel.h"
 #include "pmFPAview.h"
 #include "pmFPAfile.h"
Index: /trunk/psModules/src/objects/pmSourcePlotMoments.c
===================================================================
--- /trunk/psModules/src/objects/pmSourcePlotMoments.c	(revision 12695)
+++ /trunk/psModules/src/objects/pmSourcePlotMoments.c	(revision 12696)
@@ -5,6 +5,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-01-25 03:11:54 $
+ *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2006 IfA, University of Hawaii
@@ -20,8 +20,12 @@
 #include <pslib.h>
 
+#include "pmConfig.h"
+#include "pmDetrendDB.h"
+
 #include "pmHDU.h"
 #include "pmFPA.h"
+#include "pmFPALevel.h"
+#include "pmFPAview.h"
 #include "pmFPAfile.h"
-#include "pmFPAview.h"
 #include "pmPeaks.h"
 #include "pmMoments.h"
Index: /trunk/psModules/src/objects/pmSourcePlotPSFModel.c
===================================================================
--- /trunk/psModules/src/objects/pmSourcePlotPSFModel.c	(revision 12695)
+++ /trunk/psModules/src/objects/pmSourcePlotPSFModel.c	(revision 12696)
@@ -5,6 +5,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-01-25 03:11:54 $
+ *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2006 IfA, University of Hawaii
@@ -20,8 +20,12 @@
 #include <pslib.h>
 
+#include "pmConfig.h"
+#include "pmDetrendDB.h"
+
 #include "pmHDU.h"
 #include "pmFPA.h"
+#include "pmFPALevel.h"
+#include "pmFPAview.h"
 #include "pmFPAfile.h"
-#include "pmFPAview.h"
 #include "pmPeaks.h"
 #include "pmMoments.h"
Index: /trunk/psModules/src/objects/pmSourcePlots.c
===================================================================
--- /trunk/psModules/src/objects/pmSourcePlots.c	(revision 12695)
+++ /trunk/psModules/src/objects/pmSourcePlots.c	(revision 12696)
@@ -5,6 +5,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-12-23 04:00:30 $
+ *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-03-30 21:12:56 $
  *
  *  Copyright 2006 IfA, University of Hawaii
@@ -20,8 +20,12 @@
 #include <pslib.h>
 
+#include "pmConfig.h"
+#include "pmDetrendDB.h"
+
 #include "pmHDU.h"
 #include "pmFPA.h"
+#include "pmFPALevel.h"
+#include "pmFPAview.h"
 #include "pmFPAfile.h"
-#include "pmFPAview.h"
 #include "pmSourcePlots.h"
 
Index: /trunk/psModules/src/psmodules.h
===================================================================
--- /trunk/psModules/src/psmodules.h	(revision 12695)
+++ /trunk/psModules/src/psmodules.h	(revision 12696)
@@ -10,6 +10,14 @@
 #include <pmKapaPlots.h>
 
+// XXX the following headers define constructs needed by the elements below
+#include <pmConfig.h> 
+#include <pmDetrendDB.h>
+#include <pmHDU.h>
+#include <pmFPA.h>
+#include <pmFPALevel.h>
+#include <pmFPAview.h>
+#include <pmFPAfile.h>
+
 // the following headers are from psModule:config
-#include <pmConfig.h>
 #include <pmConfigRecipes.h>
 #include <pmConfigCamera.h>
@@ -25,12 +33,7 @@
 
 // the following headers are from psModule:camera
-#include <pmHDU.h>
 #include <pmHDUUtils.h>
 #include <pmHDUGenerate.h>
-#include <pmFPA.h>
-#include <pmFPALevel.h>
 #include <pmFPAFlags.h>
-#include <pmFPAview.h>
-#include <pmFPAfile.h>
 #include <pmFPAfileDefine.h>
 #include <pmFPAfileFitsIO.h>
@@ -54,5 +57,4 @@
 #include <pmNonLinear.h>
 #include <pmBias.h>
-#include <pmDetrendDB.h>
 #include <pmShutterCorrection.h>
 // #include <pmSkySubtract.h>
