Index: trunk/psLib/src/image/psImageErrors.dat
===================================================================
--- trunk/psLib/src/image/psImageErrors.dat	(revision 2088)
+++ trunk/psLib/src/image/psImageErrors.dat	(revision 2093)
@@ -30,5 +30,5 @@
 psImage_LINE_NOT_IN_IMAGE              Specified line, (%f,%f)->(%f,%f), does not entirely lie in psImage's boundaries, [0:%d,0:%d].
 psImage_RADII_VECTOR_NULL              Specified radii vector can not be NULL.
-psImage_CENTER_NOT_IN_IMAGE            Specified center, (%d,%d), is outside of the psImage boundaries, [0:%d,0:%d].
+psImage_CENTER_NOT_IN_IMAGE            Specified center, (%g,%g), is outside of the psImage boundaries, [0:%d,0:%d].
 psImage_RADII_VECTOR_TOOSMALL          Input radii vector size, %d, can not be less than 2.
 #
Index: trunk/psLib/src/image/psImageErrors.h
===================================================================
--- trunk/psLib/src/image/psImageErrors.h	(revision 2088)
+++ trunk/psLib/src/image/psImageErrors.h	(revision 2093)
@@ -7,6 +7,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.9 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-10-06 21:31:30 $
+ *  @version $Revision: 1.10 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-10-13 23:34:57 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -52,5 +52,5 @@
 #define PS_ERRORTEXT_psImage_LINE_NOT_IN_IMAGE "Specified line, (%f,%f)->(%f,%f), does not entirely lie in psImage's boundaries, [0:%d,0:%d]."
 #define PS_ERRORTEXT_psImage_RADII_VECTOR_NULL "Specified radii vector can not be NULL."
-#define PS_ERRORTEXT_psImage_CENTER_NOT_IN_IMAGE "Specified center, (%d,%d), is outside of the psImage boundaries, [0:%d,0:%d]."
+#define PS_ERRORTEXT_psImage_CENTER_NOT_IN_IMAGE "Specified center, (%g,%g), is outside of the psImage boundaries, [0:%d,0:%d]."
 #define PS_ERRORTEXT_psImage_RADII_VECTOR_TOOSMALL "Input radii vector size, %d, can not be less than 2."
 #define PS_ERRORTEXT_psImageFFT_IMAGE_TYPE_UNSUPPORTED "Input psImage type (%s) is not supported. Valid image types are psF32 and psC32."
Index: trunk/psLib/src/image/psImageExtraction.c
===================================================================
--- trunk/psLib/src/image/psImageExtraction.c	(revision 2088)
+++ trunk/psLib/src/image/psImageExtraction.c	(revision 2093)
@@ -9,6 +9,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.24 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2004-10-13 22:05:03 $
+ *  @version $Revision: 1.25 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2004-10-13 23:34:57 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -656,9 +656,10 @@
         if (numRows != mask->numRows || numCols != mask->numCols) {
             psErrorMsg(PS_ERRORNAME_DOMAIN "psImageRadialCut",
-                       PS_ERR_BAD_PARAMETER_VALUE, true,
+                       PS_ERR_BAD_PARAMETER_SIZE, true,
                        PS_ERRORTEXT_psImage_IMAGE_MASK_SIZE,
                        mask->numCols,mask->numRows,
                        numCols, numRows);
             psFree(out);
+            return NULL;
         }
         if (mask->type.type != PS_TYPE_MASK) {
@@ -670,4 +671,5 @@
                        typeStr, PS_TYPE_MASK_NAME);
             psFree(out);
+            return NULL;
         }
     }
@@ -679,6 +681,7 @@
                    PS_ERRORTEXT_psImage_CENTER_NOT_IN_IMAGE,
                    centerCol, centerRow,
-                   numCols, numRows);
-        psFree(out);
+                   numCols-1, numRows-1);
+        psFree(out);
+        return NULL;
     }
 
@@ -693,5 +696,5 @@
     if (radii->n < 2) {
         psErrorMsg(PS_ERRORNAME_DOMAIN "psImageRadialCut",
-                   PS_ERR_BAD_PARAMETER_VALUE, true,
+                   PS_ERR_BAD_PARAMETER_SIZE, true,
                    PS_ERRORTEXT_psImage_RADII_VECTOR_TOOSMALL,
                    radii->n);
@@ -713,5 +716,6 @@
         psErrorMsg(PS_ERRORNAME_DOMAIN "psImageRadialCut",
                    PS_ERR_BAD_PARAMETER_VALUE, false,
-                   PS_ERRORTEXT_psImage_BAD_STAT);
+                   PS_ERRORTEXT_psImage_BAD_STAT,
+                   stats->options);
         psFree(out);
         return NULL;
@@ -725,7 +729,5 @@
     psF64* outData = out->data.F64;
 
-    // sort the radii by value
     psVector* rSqVec = psVectorCopy(NULL, radii, PS_TYPE_F32);
-    psVectorSort(rSqVec,rSqVec);
     psF32* rSq = rSqVec->data.F32;
 
@@ -751,5 +753,5 @@
     }
 
-    // Square the data
+    // Square the radii data
     for (int d = 0; d <= numOut; d++) {
         rSq[d] *= rSq[d];
@@ -787,6 +789,6 @@
             dY = centerRow - (float)row - 0.5f;
             dist = dX*dX+dY*dY;
-            for (int r = 0; r < numOut;) {
-                if (rSq[r] < dist && dist < rSq[++r]) {
+            for (int r = 0; r < numOut; r++) {
+                if (rSq[r] < dist && dist < rSq[r+1]) {
                     int n = buffer[r]->n;
                     if (n == buffer[r]->nalloc) { // in case buffers already full, expand
@@ -828,5 +830,5 @@
     psFree(buffer);
     psFree(bufferMask);
-
+    psFree(rSqVec);
     return out;
 }
