Index: trunk/psModules/src/pmFlatField.c
===================================================================
--- trunk/psModules/src/pmFlatField.c	(revision 2299)
+++ trunk/psModules/src/pmFlatField.c	(revision 4770)
@@ -18,6 +18,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.17 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-11-06 02:42:03 $
+ *  @version $Revision: 1.18 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-08-16 01:10:34 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -38,6 +38,8 @@
 
 
-bool pmFlatField(psReadout *in, const psReadout *flat)
+bool pmFlatField(pmReadout *in, pmReadout *mask, const pmReadout *flat)
 {
+    // XXX: Not sure if this is correct.  Must consult with IfA.
+    PS_ASSERT_PTR_NON_NULL(mask, false);
     int i = 0;
     int j = 0;
@@ -71,11 +73,9 @@
                  PS_ERRORTEXT_pmFlatField_NULL_FLAT_IMAGE);
         return false;
-    } else if(in->mask == NULL) {
-        in->mask = psImageAlloc(inImage->numCols, inImage->numRows, PS_TYPE_MASK);
-        memset(in->mask->data.V[0], 0, inImage->numCols*inImage->numRows*PSELEMTYPE_SIZEOF(PS_TYPE_MASK));
     }
-    inMask = in->mask;
+    inMask = mask->image;
 
     // Check input image and its mask are not larger than flat image
+
     if(inImage->numRows>flatImage->numRows || inImage->numCols>flatImage->numCols) {
         psError( PS_ERR_BAD_PARAMETER_SIZE, true,
