Index: trunk/psModules/src/camera/pmFPAfile.c
===================================================================
--- trunk/psModules/src/camera/pmFPAfile.c	(revision 15622)
+++ trunk/psModules/src/camera/pmFPAfile.c	(revision 15629)
@@ -75,4 +75,5 @@
     file->compression = NULL;
     file->bitpix = 0;
+    file->floatType = PS_FITS_FLOAT_NONE;
     file->names = psMetadataAlloc();
 
Index: trunk/psModules/src/camera/pmFPAfile.h
===================================================================
--- trunk/psModules/src/camera/pmFPAfile.h	(revision 15622)
+++ trunk/psModules/src/camera/pmFPAfile.h	(revision 15629)
@@ -4,6 +4,6 @@
  * @author EAM, IfA
  *
- * @version $Revision: 1.23 $ $Name: not supported by cvs2svn $
- * @date $Date: 2007-11-10 01:09:20 $
+ * @version $Revision: 1.24 $ $Name: not supported by cvs2svn $
+ * @date $Date: 2007-11-16 01:00:13 $
  * Copyright 2004-2005 Institute for Astronomy, University of Hawaii
  */
@@ -66,4 +66,5 @@
     psFitsCompression *compression;     // Compression for FITS images
     int bitpix;                         // Bits per pixel for output
+    psFitsFloat floatType;              // Custom floating-point
 
     bool wrote_phu;                     // have we written a PHU for this file?
Index: trunk/psModules/src/camera/pmFPAfileDefine.c
===================================================================
--- trunk/psModules/src/camera/pmFPAfileDefine.c	(revision 15622)
+++ trunk/psModules/src/camera/pmFPAfileDefine.c	(revision 15629)
@@ -219,7 +219,7 @@
             goto COMPRESSION_DONE;
         }
-        const char *typeString = psMetadataLookupStr(NULL, scheme, "COMPRESSION"); // Compression type
+        const char *typeString = psMetadataLookupStr(NULL, scheme, "COMP"); // Compression type
         if (!typeString || strlen(typeString) == 0) {
-            psWarning("Can't find COMPRESSION in FITS scheme %s --- compression disabled.", fitsType);
+            psWarning("Can't find COMP in FITS scheme %s --- compression disabled.", fitsType);
             goto COMPRESSION_DONE;
         }
@@ -228,6 +228,16 @@
         psString source = NULL;         // Source of options
         psStringAppend(&source, "%s in FITS in camera %s", fitsType, cameraName);
+        file->bitpix = parseOptionInt(scheme, "BITPIX", source, 0); // Bits per pixel
+
+        // Custom floating-point
+        const char *floatName = psMetadataLookupStr(NULL, scheme, "FLOAT"); // Name of custom floating-point
+        if (floatName) {
+            psString fullName = NULL;   // Full name of custom floating-point
+            psStringAppend(&fullName, "FLOAT_%s", floatName);
+            file->floatType = psFitsFloatTypeFromString(fullName);
+            psFree(fullName);
+        }
+
         psVector *tile = psVectorAlloc(3, PS_TYPE_S32); // Tile sizes
-        file->bitpix = parseOptionInt(scheme, "BITPIX", source, 0); // Bits per pixel
         tile->data.S32[0] = parseOptionInt(scheme, "TILE.X", source, 0); // Tiling in x
         tile->data.S32[1] = parseOptionInt(scheme, "TILE.Y", source, 1); // Tiling in y
@@ -438,5 +448,5 @@
                 return NULL;
             }
-	    // EXTWORD (fits->extword) is not relevant to the PHU
+            // EXTWORD (fits->extword) is not relevant to the PHU
             fits = psFitsOpen (realName, "r");
             if (!fits) {
@@ -557,5 +567,5 @@
             return NULL;
         }
-	// EXTWORD (fits->extword) is not relevant to the PHU
+        // EXTWORD (fits->extword) is not relevant to the PHU
         fits = psFitsOpen (realName, "r");
         if (!fits) {
Index: trunk/psModules/src/camera/pmFPAfileIO.c
===================================================================
--- trunk/psModules/src/camera/pmFPAfileIO.c	(revision 15622)
+++ trunk/psModules/src/camera/pmFPAfileIO.c	(revision 15629)
@@ -762,4 +762,6 @@
         }
 
+        file->fits->floatType = file->floatType;
+
         // In some cases, we need to read the PHU after we've opened the file.  This happens for the images
         // supplied by the detrend database, which are only identified here (pmConfigConvertFilename).
