Index: trunk/psModules/src/astrom/pmAstrometry.c
===================================================================
--- trunk/psModules/src/astrom/pmAstrometry.c	(revision 5309)
+++ trunk/psModules/src/astrom/pmAstrometry.c	(revision 5435)
@@ -8,6 +8,6 @@
 *  @author GLG, MHPCC
 *
-*  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2005-09-28 20:43:52 $
+*  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2005-10-20 23:06:24 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -71,6 +71,6 @@
         }
         psFree(fpa->chips);
-        psFree(fpa->header);
-        psFree(fpa->db);
+        psFree(fpa->private);
+        psFree(fpa->phu);
     }
 }
@@ -93,7 +93,5 @@
         psFree(chip->cells);
         psFree(chip->parent);
-        psFree(chip->extname);
-        psFree(chip->pixels);
-        psFree(chip->header);
+        psFree(chip->private);
     }
 }
@@ -106,4 +104,5 @@
         psFree(cell->toSky);
         psFree(cell->concepts);
+        psFree(cell->camera);
         psFree(cell->analysis);
         //
@@ -117,7 +116,5 @@
         psFree(cell->readouts);
         psFree(cell->parent);
-        psFree(cell->extname);
-        psFree(cell->pixels);
-        psFree(cell->header);
+        psFree(cell->private);
     }
 }
@@ -128,6 +125,7 @@
         psFree(readout->image);
         psFree(readout->mask);
+        psFree(readout->weight);
+        psFree(readout->bias);
         psFree(readout->analysis);
-        psFree(readout->concepts);
         psFree(readout->parent);
     }
@@ -145,6 +143,7 @@
     tmpReadout->image = NULL;
     tmpReadout->mask = NULL;
+    tmpReadout->weight = NULL;
+    tmpReadout->bias = NULL;
     tmpReadout->analysis = psMetadataAlloc();
-    tmpReadout->concepts = psMetadataAlloc();
     tmpReadout->parent = cell;
     if (cell != NULL) {
@@ -155,5 +154,9 @@
 }
 
-pmCell *pmCellAlloc(pmChip *chip)
+pmCell *pmCellAlloc(
+    pmChip *chip,
+    psMetadata *cameradata,
+    psString name
+)
 {
     pmCell *tmpCell = (pmCell *) psAlloc(sizeof(pmCell));
@@ -164,6 +167,12 @@
     tmpCell->toFPA = NULL;
     tmpCell->toSky = NULL;
-    tmpCell->analysis = psMetadataAlloc();
     tmpCell->concepts = psMetadataAlloc();
+    psBool rc = psMetadataAddStr(tmpCell->concepts, PS_LIST_HEAD, "CELL.NAME", 0, NULL, name);
+    if (rc == false) {
+        psLogMsg(__func__, PS_LOG_WARN, "WARNING: Could not add CELL.NAME to metadata.\n");
+    }
+    tmpCell->camera = cameradata;
+    psMemIncrRefCounter((psMetadata *) cameradata);
+    tmpCell->analysis = NULL;
     tmpCell->readouts = psArrayAlloc(0);
     tmpCell->parent = chip;
@@ -172,7 +181,5 @@
     }
     tmpCell->valid = false;
-    tmpCell->extname = NULL;
-    tmpCell->pixels = NULL;
-    tmpCell->header = NULL;
+    tmpCell->private = NULL;
 
     psMemSetDeallocator(tmpCell, (psFreeFunc) cellFree);
@@ -180,5 +187,8 @@
 }
 
-pmChip *pmChipAlloc(pmFPA *fpa)
+pmChip *pmChipAlloc(
+    pmFPA *fpa,
+    psString name
+)
 {
     pmChip *tmpChip = (pmChip *) psAlloc(sizeof(pmChip));
@@ -189,5 +199,9 @@
     tmpChip->fromFPA = NULL;
     tmpChip->concepts = psMetadataAlloc();
-    tmpChip->analysis = psMetadataAlloc();
+    psBool rc = psMetadataAddStr(tmpChip->concepts, PS_LIST_HEAD, "CHIP.NAME", 0, NULL, name);
+    if (rc == false) {
+        psLogMsg(__func__, PS_LOG_WARN, "WARNING: Could not add CHIP.NAME to metadata.\n");
+    }
+    tmpChip->analysis = NULL;
     tmpChip->cells = psArrayAlloc(0);
     tmpChip->parent = fpa;
@@ -196,7 +210,5 @@
     }
     tmpChip->valid = false;
-    tmpChip->extname = NULL;
-    tmpChip->pixels = NULL;
-    tmpChip->header = NULL;
+    tmpChip->private = NULL;
 
     psMemSetDeallocator(tmpChip, (psFreeFunc) chipFree);
@@ -204,7 +216,5 @@
 }
 
-pmFPA *pmFPAAlloc(
-    const psMetadata *camera,
-    psDB *db)
+pmFPA *pmFPAAlloc(const psMetadata *camera)
 {
     pmFPA *tmpFPA = (pmFPA *) psAlloc(sizeof(pmFPA));
@@ -214,11 +224,10 @@
     tmpFPA->projection = NULL;
     tmpFPA->concepts = psMetadataAlloc();
-    tmpFPA->analysis = psMetadataAlloc();
+    tmpFPA->analysis = NULL;
     tmpFPA->camera = camera;
     psMemIncrRefCounter((psPtr) camera);
     tmpFPA->chips = psArrayAlloc(0);
-    tmpFPA->header = NULL;
-    tmpFPA->db = db;
-    psMemIncrRefCounter((psPtr) db);
+    tmpFPA->private = NULL;
+    tmpFPA->phu = NULL;
 
     psMemSetDeallocator(tmpFPA, (psFreeFunc) FPAFree);
@@ -739,5 +748,6 @@
 psMetadataItem *pmReadoutGetConcept(pmReadout *readout, const char *concept)
 {
-    return(psMetadataLookup(readout->concepts, concept));
+    //    return(psMetadataLookup(readout->concepts, concept));
+    return(NULL);
 }
 
Index: trunk/psModules/src/astrom/pmAstrometry.h
===================================================================
--- trunk/psModules/src/astrom/pmAstrometry.h	(revision 5309)
+++ trunk/psModules/src/astrom/pmAstrometry.h	(revision 5435)
@@ -8,6 +8,6 @@
 *  @author GLG, MHPCC
 *
-*  @version $Revision: 1.1 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2005-09-28 20:43:52 $
+*  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2005-10-20 23:06:24 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -24,4 +24,11 @@
 /// @addtogroup AstroImage
 /// @{
+
+// XXXX: This is incorrect.  Must determine what p_pmHDU is.
+typedef struct
+{
+    int what;
+}
+p_pmHDU;
 
 /** Focal plane data structure
@@ -52,7 +59,6 @@
     const psMetadata *camera;           ///< Camera configuration
     psArray *chips;                     ///< The chips
-    // FITS data
-    psMetadata *header;                 ///< The FITS header, if it corresponds to this level
-    psDB *db;                           ///< Database handle
+    p_pmHDU *private;                   ///< FITS data
+    psMetadata *phu;                    ///< Primary Header
 }
 pmFPA;
@@ -86,8 +92,5 @@
     pmFPA *parent;                      ///< Parent FPA
     bool valid;                         ///< Do we bother about reading and working with this chip?
-    // FITS data
-    const char *extname;                ///< Extension name, if it corresponds to this level
-    psArray *pixels;                    ///< The pixel data, if it corresponds to this level
-    psMetadata *header;                 ///< The FITS header, if it corresponds to this level
+    p_pmHDU *private;                   ///< FITS data
 }
 pmChip;
@@ -113,12 +116,10 @@
     // Information
     psMetadata *concepts;               ///< Cache for PS concepts
+    psMetadata *camera;                 ///< Camera Info
     psMetadata *analysis;               ///< Cell-level analysis metadata
     psArray *readouts;                  ///< The readouts (referred to by number)
     pmChip *parent;                     ///< Parent chip
     bool valid;                         ///< Do we bother about reading and working with this cell?
-    // FITS data
-    const char *extname;                ///< Extension name, if it corresponds to this level
-    psArray *pixels;                    ///< The pixel data, if it corresponds to this level
-    psMetadata *header;                 ///< The FITS header, if it corresponds to this level
+    p_pmHDU *private;                   ///< FITS data
 }
 pmCell;
@@ -143,10 +144,8 @@
     // Information
     psImage *image;                     ///< Imaging area of readout
-    // XXX: The following mask was removed from the pmReadout struct in recent SDRS
-    // versions.  However, I'm keeping it here since al ot of modules still require
-    // it.
     psImage *mask;                      ///< Mask of input image
+    psImage *weight;                    ///< Weight of input image
+    psList *bias;                       ///< List of bias section (sub-)images
     psMetadata *analysis;               ///< Readout-level analysis metadata
-    psMetadata *concepts;               ///< Cache for PS Concepts
     pmCell *parent;                     ///< Parent cell
 }
@@ -178,5 +177,7 @@
  */
 pmCell *pmCellAlloc(
-    pmChip *chip                        ///< Parent chip
+    pmChip *chip,                        ///< Parent chip
+    psMetadata *cameradata,
+    psString name
 );
 
@@ -191,5 +192,9 @@
  *  @return pmChip*    newly allocated pmChip
  */
-pmChip *pmChipAlloc(pmFPA *fpa);
+pmChip *pmChipAlloc(
+    pmFPA *fpa,
+    psString name
+
+);
 
 /** Allocates a pmFPA
@@ -202,6 +207,5 @@
  */
 pmFPA *pmFPAAlloc(
-    const psMetadata *camera,           ///< Camera configuration
-    psDB *db                            ///< Database handle
+    const psMetadata *camera            ///< Camera configuration
 );
 
