Index: /trunk/psModules/test/tst_pmFlatField.c
===================================================================
--- /trunk/psModules/test/tst_pmFlatField.c	(revision 4995)
+++ /trunk/psModules/test/tst_pmFlatField.c	(revision 4996)
@@ -21,6 +21,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-08-16 01:10:36 $
+ *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-09-12 20:38:11 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -83,10 +83,23 @@
     pmReadout *inReadout = pmReadoutAlloc(NULL);
     inReadout->image = inImage;
+    inReadout->row0 = 0;
+    inReadout->col0 = 0;
     PRINT_MATRIX(inImage,F64,"Input image:");
+
+    CREATE_AND_SET_IMAGE(inMask,U8,0,3,3)
+    pmReadout *inMaskReadout = pmReadoutAlloc(NULL);
+    inMaskReadout->image = inMask;
+    inMaskReadout->row0 = 0;
+    inMaskReadout->col0 = 0;
+    PRINT_MATRIX(inMask,U8,"Input mask:");
+
     CREATE_AND_SET_IMAGE(flatImage1,F64,2.0,3,3)
     pmReadout *flatReadout = pmReadoutAlloc(NULL);
+    flatReadout->row0 = 0;
+    flatReadout->col0 = 0;
     flatReadout->image = flatImage1;
     PRINT_MATRIX(flatImage1,F64,"Flat image:");
-    if ( !pmFlatField(inReadout, NULL, flatReadout) ) {
+
+    if ( !pmFlatField(inReadout, inMaskReadout, flatReadout) ) {
         psError(PS_ERR_UNKNOWN,true,"Test A - Returned false should be true");
         return 1;
@@ -103,9 +116,9 @@
     PRINT_MATRIX(flatImage2, F64, "Flat image:");
     flatReadout->image = flatImage2;
-    if ( !pmFlatField(inReadout, NULL, flatReadout) ) {
+    if ( !pmFlatField(inReadout, inMaskReadout, flatReadout) ) {
         psError(PS_ERR_UNKNOWN,true,"Test B - Returned false should be true");
         return 2;
     }
-    PRINT_MATRIX(inReadout->mask, PS_TYPE_MASK_DATA, "Resulting mask:");
+    PRINT_MATRIX(inMaskReadout->image, PS_TYPE_MASK_DATA, "Resulting mask:");
     PRINT_MATRIX(inImage,F64,"Resulting image:");
     printFooter(stdout, "pmFlatField", "Test B - Mask flat image data", true);
@@ -122,5 +135,5 @@
     psFree(inReadout->mask);
     inReadout->mask = mask1;
-    if ( !pmFlatField(inReadout, NULL, flatReadout) ) {
+    if ( !pmFlatField(inReadout, inMaskReadout, flatReadout) ) {
         psError(PS_ERR_UNKNOWN,true,"Test C - Returned false should be true");
         return 3;
@@ -136,5 +149,5 @@
     printNegativeTestHeader(stdout,"pmFlatField", "Test D - Attempt to use null flat readout",
                             "Null not allowed for flat readout", 0);
-    if( pmFlatField(inReadout, NULL, NULL) ) {
+    if( pmFlatField(inReadout, inMaskReadout, NULL) ) {
         psError(PS_ERR_UNKNOWN,true,"Test D - Returned true should be false");
         return 4;
@@ -149,5 +162,5 @@
     psImage *temp = inReadout->image;
     inReadout->image = NULL;
-    if ( pmFlatField(inReadout, NULL, flatReadout) ) {
+    if ( pmFlatField(inReadout, inMaskReadout, flatReadout) ) {
         psError(PS_ERR_UNKNOWN,true,"Test E - Returned true should be false" );
         return 5;
@@ -163,5 +176,5 @@
     temp = flatReadout->image;
     flatReadout->image = NULL;
-    if ( pmFlatField(inReadout, NULL, flatReadout) ) {
+    if ( pmFlatField(inReadout, inMaskReadout, flatReadout) ) {
         psError(PS_ERR_UNKNOWN,true,"Test F - Returned true should be false" );
         return 6;
@@ -178,5 +191,5 @@
     temp = flatReadout->image;
     flatReadout->image = smallFlat;
-    if ( pmFlatField(inReadout, NULL, flatReadout) ) {
+    if ( pmFlatField(inReadout, inMaskReadout, flatReadout) ) {
         psError(PS_ERR_UNKNOWN,true,"Test G - Returned true should be false");
         return 7;
@@ -190,8 +203,8 @@
     printNegativeTestHeader(stdout,"pmFlatField", "Test H - Attempt to use input image mask bigger than flat image",
                             "Input image mask size exceeds that of flat image", 0);
-    CREATE_AND_SET_IMAGE(largeMask,F64,0.0,4,4);
+    CREATE_AND_SET_IMAGE(largeMask,F64,0.0,5,5);
     temp = inReadout->mask;
-    inReadout->mask = largeMask;
-    if ( pmFlatField(inReadout, NULL, flatReadout) ) {
+    inMaskReadout->image = largeMask;
+    if ( pmFlatField(inReadout, inMaskReadout, flatReadout) ) {
         psError(PS_ERR_UNKNOWN,true,"Test H - Returned true should be false");
         return 8;
@@ -207,5 +220,5 @@
     *(int*)&inReadout->col0 = 50;
     *(int*)&inReadout->row0 = 50;
-    if ( pmFlatField(inReadout, NULL, flatReadout) ) {
+    if ( pmFlatField(inReadout, inMaskReadout, flatReadout) ) {
         psError(PS_ERR_UNKNOWN,true,"Test I - Returned true should be false");
         return 9;
@@ -221,5 +234,5 @@
                             "Complex types not allowed for input image", 0);
     *(psElemType* ) & inReadout->image->type.type = PS_TYPE_C64;
-    if ( pmFlatField(inReadout, NULL, flatReadout) ) {
+    if ( pmFlatField(inReadout, inMaskReadout, flatReadout) ) {
         psError(PS_ERR_UNKNOWN,true,"Test J - Returned true should be false");
         return 10;
@@ -234,5 +247,5 @@
                             "Complex types not allowed for flat image", 0);
     *(psElemType* ) & flatReadout->image->type.type = PS_TYPE_C64;
-    if ( pmFlatField(inReadout, NULL, flatReadout) ) {
+    if ( pmFlatField(inReadout, inMaskReadout, flatReadout) ) {
         psError(PS_ERR_UNKNOWN,true,"Test K - Returned ture should be false");
         return 11;
@@ -247,5 +260,5 @@
                             "Input and flat image types differ", 0);
     *(psElemType* ) & flatReadout->image->type.type = PS_TYPE_F32;
-    if ( pmFlatField(inReadout, NULL, flatReadout) ) {
+    if ( pmFlatField(inReadout, inMaskReadout, flatReadout) ) {
         psError(PS_ERR_UNKNOWN,true,"Test L - Returned true should be false");
         return 12;
@@ -260,5 +273,5 @@
                             "Mask must be PS_TYPE_MASK type", 0);
     *(psElemType* ) & inReadout->mask->type.type = PS_TYPE_F32;
-    if ( pmFlatField(inReadout, NULL, flatReadout) ) {
+    if ( pmFlatField(inReadout, inMaskReadout, flatReadout) ) {
         psError(PS_ERR_UNKNOWN,true,"Test M - Returned true should be false");
         return 13;
@@ -270,4 +283,8 @@
 
     // Free memory
+    psFree(inMask);
+    psFree(largeMask);
+    inMaskReadout->image = NULL;
+    psFree(inMaskReadout);
     psFree(inReadout);
     psFree(flatReadout);
@@ -276,5 +293,4 @@
     //psFree(flatImage1);
     psFree(smallFlat);
-    psFree(largeMask);
 
     return 0;
