Index: trunk/psModules/src/camera/pmFPAfileDefine.c
===================================================================
--- trunk/psModules/src/camera/pmFPAfileDefine.c	(revision 15562)
+++ 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) {
