Index: /trunk/psModules/src/pmNonLinear.c
===================================================================
--- /trunk/psModules/src/pmNonLinear.c	(revision 2915)
+++ /trunk/psModules/src/pmNonLinear.c	(revision 2916)
@@ -5,6 +5,6 @@
  *  @author GLG, MHPCC
  *
- *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-01-05 23:25:24 $
+ *  @version $Revision: 1.9 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-01-05 23:43:58 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -35,4 +35,5 @@
     PS_PTR_CHECK_NULL(inputReadout, NULL);
     PS_PTR_CHECK_NULL(inputReadout->image, NULL);
+    PS_IMAGE_CHECK_TYPE(inputReadout->image, PS_TYPE_F32, NULL);
     PS_PTR_CHECK_NULL(input1DPoly, NULL);
 
@@ -62,4 +63,5 @@
     PS_PTR_CHECK_NULL(inputReadout,NULL);
     PS_PTR_CHECK_NULL(inputReadout->image,NULL);
+    PS_IMAGE_CHECK_TYPE(inputReadout->image, PS_TYPE_F32, NULL);
     PS_PTR_CHECK_NULL(inFlux,NULL);
     psS32 tableSize = inFlux->n;
@@ -74,4 +76,6 @@
                  "WARNING: pmNonLinear.c: pmNonLinearityLookup(): input vectors have different sizes (%d, %d)\n", inFlux->n, outFlux->n);
     }
+    PS_VECTOR_CHECK_TYPE(inFlux, PS_TYPE_F32, NULL);
+    PS_VECTOR_CHECK_TYPE(outFlux, PS_TYPE_F32, NULL);
 
     psS32 i;
Index: /trunk/psModules/src/pmReadoutCombine.c
===================================================================
--- /trunk/psModules/src/pmReadoutCombine.c	(revision 2915)
+++ /trunk/psModules/src/pmReadoutCombine.c	(revision 2916)
@@ -5,6 +5,6 @@
  *  @author GLG, MHPCC
  *
- *  @version $Revision: 1.19 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-01-05 23:25:24 $
+ *  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-01-05 23:43:58 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -160,4 +160,5 @@
         *(psS32 *) &(output->row0) = minInputRows;
     } else {
+        PS_IMAGE_CHECK_TYPE(output, PS_TYPE_F32, NULL);
         if (((output->col0 + output->numCols) < maxInputCols) ||
                 ((output->row0 + output->numRows) < maxInputRows)) {
Index: /trunk/psModules/src/pmSubtractBias.c
===================================================================
--- /trunk/psModules/src/pmSubtractBias.c	(revision 2915)
+++ /trunk/psModules/src/pmSubtractBias.c	(revision 2916)
@@ -6,6 +6,6 @@
  *  @author George Gusciora, MHPCC
  *
- *  @version $Revision: 1.28 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-12-30 22:22:00 $
+ *  @version $Revision: 1.29 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-01-05 23:43:58 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -252,4 +252,17 @@
     PS_READOUT_CHECK_EMPTY(in, NULL);
     PS_READOUT_CHECK_TYPE(in, PS_TYPE_F32, NULL);
+
+    //
+    // If the overscans != NULL, then check the type of each image.
+    //
+    if (overscans != NULL) {
+        psListElem *tmpOverscan = (psListElem *) overscans->head;
+        while (NULL != tmpOverscan) {
+            psImage *myOverscanImage = (psImage *) tmpOverscan->data;
+            PS_IMAGE_CHECK_TYPE(myOverscanImage, PS_TYPE_F32, NULL);
+            tmpOverscan = tmpOverscan->next;
+        }
+    }
+
     if ((overscans == NULL) && (overScanAxis != PM_OVERSCAN_NONE)) {
         psError(PS_ERR_UNKNOWN,true, "(overscans == NULL) && (overScanAxis != PM_OVERSCAN_NONE).  Returning in image\n");
@@ -301,4 +314,7 @@
     }
 
+
+
+
     if (overScanAxis == PM_OVERSCAN_NONE) {
         if (fit != PM_FIT_NONE) {
@@ -322,9 +338,13 @@
     //
     // We subtract each overscan region from the image data.
+    // If we get here we know that overscans != NULL.
     //
+
     if (overScanAxis == PM_OVERSCAN_ALL) {
         tmpOverscan = (psListElem *) overscans->head;
         while (NULL != tmpOverscan) {
             myOverscanImage = (psImage *) tmpOverscan->data;
+
+            PS_IMAGE_CHECK_TYPE(myOverscanImage, PS_TYPE_F32, NULL);
             psStats *rc = psImageStats(myStats, myOverscanImage, NULL, 0xffffffff);
             if (rc == NULL) {
Index: /trunk/psModules/src/pmSubtractSky.c
===================================================================
--- /trunk/psModules/src/pmSubtractSky.c	(revision 2915)
+++ /trunk/psModules/src/pmSubtractSky.c	(revision 2916)
@@ -6,6 +6,6 @@
  *  @author GLG, MHPCC
  *
- *  @version $Revision: 1.16 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-12-30 22:22:00 $
+ *  @version $Revision: 1.17 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-01-05 23:43:58 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -414,4 +414,6 @@
  
 XXX: use static vectors for myStats, and the binned image
+ 
+XXX: The SDR is silent about types.  PS_TYPE_F32 is implemented here.
  *****************************************************************************/
 psReadout *pmSubtractSky(psReadout *in,
