Index: trunk/psLib/src/imageops/psImagePixelExtract.c
===================================================================
--- trunk/psLib/src/imageops/psImagePixelExtract.c	(revision 5530)
+++ trunk/psLib/src/imageops/psImagePixelExtract.c	(revision 6294)
@@ -8,6 +8,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.10 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-11-16 23:06:14 $
+ *  @version $Revision: 1.11 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-02-02 04:41:42 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -216,5 +216,5 @@
 
 psVector* psImageSlice(psVector* out,
-                       psVector* coords,
+                       psPixels* coords,
                        const psImage* input,
                        const psImage* mask,
@@ -320,5 +320,5 @@
         psVector* maskVec = NULL;
         psMaskType* maskData = NULL;
-        psU32* outPosition = NULL;
+        psPixelCoord* outPosition = NULL;
 
         // recycle output to make a proper sized/type output structure
@@ -327,6 +327,7 @@
         out = psVectorRecycle(out, numCols, PS_TYPE_F64);
         if (coords != NULL) {
-            coords = psVectorRecycle(coords, numCols, PS_TYPE_U32);
-            outPosition = coords->data.U32;
+            coords = psPixelsRealloc(coords, numCols);
+            coords->n = numCols;
+            outPosition = coords->data;
         }
         outData = out->data.F64;
@@ -363,5 +364,6 @@
                 *outData = statVal; \
                 if (outPosition != NULL) { \
-                    *outPosition = c; \
+                    outPosition->x = c; \
+                    outPosition->y = row0; \
                     outPosition += delta; \
                 } \
@@ -401,5 +403,5 @@
         psVector* maskVec = NULL;
         psS32 elementSize = PSELEMTYPE_SIZEOF(type);
-        psU32* outPosition = NULL;
+        psPixelCoord* outPosition = NULL;
 
         // fill in psVector to fake out the statistics functions.
@@ -420,6 +422,7 @@
         out = psVectorRecycle(out, numRows, PS_TYPE_F64);
         if (coords != NULL) {
-            coords = psVectorRecycle(coords, numRows, PS_TYPE_U32);
-            outPosition = coords->data.U32;
+            coords = psPixelsRealloc(coords, numRows);
+            coords->n = numRows;
+            outPosition = coords->data;
         }
         outData = out->data.F64;
@@ -442,5 +445,6 @@
             *outData = statVal;
             if (outPosition != NULL) {
-                *outPosition = r;
+                outPosition->y = r;
+                outPosition->x = col0;
                 outPosition += delta;
 
