Index: trunk/psModules/src/pmAstrometry.c
===================================================================
--- trunk/psModules/src/pmAstrometry.c	(revision 4770)
+++ trunk/psModules/src/pmAstrometry.c	(revision 4779)
@@ -1,16 +1,16 @@
 /** @file  psAstrometry.c
- *
- *  @brief This file defines the basic types for astronomical coordinate
- *  transformation
- *
- *  @ingroup AstroImage
- *
- *  @author GLG, MHPCC
- *
- *  @version $Revision: 1.2 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-08-16 01:10:34 $
- *
- *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
- */
+*
+*  @brief This file defines the basic types for astronomical coordinate
+*  transformation
+*
+*  @ingroup AstroImage
+*
+*  @author GLG, MHPCC
+*
+*  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2005-08-16 02:29:29 $
+*
+*  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
+*/
 
 /******************************************************************************/
@@ -700,4 +700,167 @@
 }
 
-
-
+/*
+psMetadataItem* psMetadataLookup(
+    const psMetadata * md,             ///< Metadata collection to lookup meta!
+    const char * key                   ///< Name of metadata key.
+);
+*/
+
+psMetadataItem *pmReadoutGetConcept(pmReadout *readout, const char *concept)
+{
+    return(psMetadataLookup(readout->concepts, concept));
+}
+
+psMetadataItem *pmCellGetConcept(pmCell *cell, const char *concept)
+{
+    return(psMetadataLookup(cell->concepts, concept));
+}
+
+psMetadataItem *pmChipGetConcept(pmChip *chip, const char *concept)
+{
+    return(psMetadataLookup(chip->concepts, concept));
+}
+
+psMetadataItem *pmFPAGetConcept(pmFPA *fpa, const char *concept)
+{
+    return(psMetadataLookup(fpa->concepts, concept));
+}
+
+
+float pmFPAGetAirmass(pmFPA *fpa) // FPA.AIRMASS
+{
+    psMetadataItem *tmp = pmFPAGetConcept(fpa, "FPA.AIRMASS");
+    return((float) tmp->data.F32);
+}
+
+psString pmFPAGetFilter(pmFPA *fpa) // FPA.FILTER
+{
+    psMetadataItem *tmp = pmFPAGetConcept(fpa, "FPA.FILTER");
+    return((psString) tmp->data.V);
+}
+
+float pmFPAGetPosAngle(pmFPA *fpa) // FPA.POSANGLE
+{
+    psMetadataItem *tmp = pmFPAGetConcept(fpa, "FPA.POSANGLE");
+    return((float) tmp->data.F32);
+}
+
+double pmFPAGetRA(pmFPA *fpa) // FPA.RA
+{
+    psMetadataItem *tmp = pmFPAGetConcept(fpa, "FPA.RA");
+    return((float) tmp->data.F32);
+}
+
+double pmFPAGetDec(pmFPA *fpa) // FPA.DEC
+{
+    psMetadataItem *tmp = pmFPAGetConcept(fpa, "FPA.DEC");
+    return((float) tmp->data.F32);
+}
+
+psString pmFPAGetRADecSys(pmFPA *fpa) // FPA.RADECSYS
+{
+    psMetadataItem *tmp = pmFPAGetConcept(fpa, "FPA.RADECSYS");
+    return((psString) tmp->data.V);
+}
+
+psString pmFPAGetName(pmFPA *fpa) // FPA.NAME
+{
+    psMetadataItem *tmp = pmFPAGetConcept(fpa, "FPA.NAME");
+    return((psString) tmp->data.V);
+}
+
+psString pmChipGetName(pmChip *chip) // CHIP.NAME
+{
+    psMetadataItem *tmp = pmChipGetConcept(chip, "CHIP.NAME");
+    return((psString) tmp->data.V);
+}
+
+psString pmCellGetName(pmCell *cell) // CELL.NAME
+{
+    psMetadataItem *tmp = pmCellGetConcept(cell, "CELL.NAME");
+    return((psString) tmp->data.V);
+}
+
+psTime *pmCellGetTime(pmCell *cell) // CELL.TIME
+{
+    psMetadataItem *tmp = pmCellGetConcept(cell, "CELL.TIME");
+    return((psTime *) tmp->data.V);
+}
+
+psList *pmCellGetBiasSec(pmCell *cell) // CELL.BIASSEC
+{
+    psMetadataItem *tmp = pmCellGetConcept(cell, "CELL.BIASSEC");
+    return((psList *) tmp->data.list);
+}
+
+psRegion *pmCellGetTrimSec(pmCell *cell) // CELL.TRIMSEC
+{
+    psMetadataItem *tmp = pmCellGetConcept(cell, "CELL.TRIMSEC");
+    return((psRegion *) tmp->data.V);
+}
+
+float pmCellGetGain(pmCell *cell) // CELL.GAIN
+{
+    psMetadataItem *tmp = pmCellGetConcept(cell, "CELL.GAIN");
+    return((float) tmp->data.F32);
+}
+
+float pmCellGetReadNoise(pmCell *cell) // CELL.READNOISE
+{
+    psMetadataItem *tmp = pmCellGetConcept(cell, "CELL.READNOISE");
+    return((float) tmp->data.F32);
+}
+
+float pmCellGetSaturation(pmCell *cell) // CELL.SATURATION
+{
+    psMetadataItem *tmp = pmCellGetConcept(cell, "CELL.SATURATION");
+    return((float) tmp->data.F32);
+}
+
+float pmCellGetBad(pmCell *cell) // CELL.BAD
+{
+    psMetadataItem *tmp = pmCellGetConcept(cell, "CELL.BAD");
+    return((float) tmp->data.F32);
+}
+
+psPixelCoord *pmCellGetBin(pmCell *cell) // CELL.BIN
+{
+    psMetadataItem *tmp = pmCellGetConcept(cell, "CELL.BIN");
+    return((psPixelCoord *) tmp->data.V);
+}
+
+psPixelCoord *pmCellGetParity(pmCell *cell) // CELL.PARITY
+{
+    psMetadataItem *tmp = pmCellGetConcept(cell, "CELL.PARITY");
+    return((psPixelCoord *) tmp->data.V);
+}
+
+float pmReadoutGetExposure(pmReadout *readout) // READOUT.EXPOSURE
+{
+    psMetadataItem *tmp = pmReadoutGetConcept(readout, "READOUT.EXPOSURE");
+    return((float) tmp->data.F32);
+}
+
+float pmReadoutGetDarkTime(pmReadout *readout) // READOUT.DARKTIME
+{
+    psMetadataItem *tmp = pmReadoutGetConcept(readout, "READOUT.DARKTIME");
+    return((float) tmp->data.F32);
+}
+
+
+
+
+/*
+typedef struct
+{
+    float x0;
+}
+psJunk;
+ 
+psJunk *pmCellTmp(pmCell *cell) // CELL.TRIMSEC
+{
+    psMetadataItem *tmp;
+    return((psJunk *) tmp->data.V);
+}
+ 
+*/
