Index: /trunk/psLib/pslib.kdevses
===================================================================
--- /trunk/psLib/pslib.kdevses	(revision 4533)
+++ /trunk/psLib/pslib.kdevses	(revision 4534)
@@ -2,20 +2,35 @@
 <!DOCTYPE KDevPrjSession>
 <KDevPrjSession>
- <DocsAndViews NumberOfDocuments="5" >
+ <DocsAndViews NumberOfDocuments="10" >
   <Doc0 NumberOfViews="1" URL="file:/home/drobbin/panstarrs/psLib/src/image/psImage.h" >
-   <View0 line="53" Type="Source" />
+   <View0 Type="Source" />
   </Doc0>
-  <Doc1 NumberOfViews="1" URL="file:/home/drobbin/panstarrs/psLib/src/image/psImage.c" >
-   <View0 line="150" Type="Source" />
+  <Doc1 NumberOfViews="1" URL="file:/home/drobbin/panstarrs/psLib/src/image/psImagePixelExtract.c" >
+   <View0 Type="Source" />
   </Doc1>
-  <Doc2 NumberOfViews="1" URL="file:/home/drobbin/panstarrs/psLib/test/image/tst_psImageStructManip.c" >
-   <View0 line="39" Type="Source" />
+  <Doc2 NumberOfViews="1" URL="file:/home/drobbin/panstarrs/psLib/src/image/psImageGeomManip.c" >
+   <View0 Type="Source" />
   </Doc2>
-  <Doc3 NumberOfViews="1" URL="file:/home/drobbin/panstarrs/psLib/src/dataIO/psDB.h" >
-   <View0 line="22" Type="Source" />
+  <Doc3 NumberOfViews="1" URL="file:/home/drobbin/panstarrs/psLib/src/image/psImageGeomManip.h" >
+   <View0 Type="Source" />
   </Doc3>
-  <Doc4 NumberOfViews="1" URL="file:/home/drobbin/panstarrs/psLib/src/dataIO/psFits.h" >
-   <View0 line="259" Type="Source" />
+  <Doc4 NumberOfViews="1" URL="file:/home/drobbin/panstarrs/psLib/src/image/psImage.c" >
+   <View0 Type="Source" />
   </Doc4>
+  <Doc5 NumberOfViews="1" URL="file:/home/drobbin/panstarrs/psLib/src/collections/psPixels.h" >
+   <View0 Type="Source" />
+  </Doc5>
+  <Doc6 NumberOfViews="1" URL="file:/home/drobbin/panstarrs/psLib/src/dataManip/psBinaryOp.h" >
+   <View0 Type="Source" />
+  </Doc6>
+  <Doc7 NumberOfViews="1" URL="file:/home/drobbin/panstarrs/psLib/src/dataManip/psBinaryOp.c" >
+   <View0 Type="Source" />
+  </Doc7>
+  <Doc8 NumberOfViews="1" URL="file:/home/drobbin/panstarrs/psLib/src/dataManip/psUnaryOp.h" >
+   <View0 Type="Source" />
+  </Doc8>
+  <Doc9 NumberOfViews="1" URL="file:/home/drobbin/panstarrs/psLib/src/dataManip/psUnaryOp.c" >
+   <View0 line="305" Type="Source" />
+  </Doc9>
  </DocsAndViews>
  <pluginList>
Index: /trunk/psLib/src/dataManip/psBinaryOp.c
===================================================================
--- /trunk/psLib/src/dataManip/psBinaryOp.c	(revision 4533)
+++ /trunk/psLib/src/dataManip/psBinaryOp.c	(revision 4534)
@@ -30,6 +30,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-06-22 02:05:41 $
+ *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-07-11 21:38:19 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -426,5 +426,5 @@
 }
 
-psPtr psBinaryOp(psPtr out, const psPtr in1, const char *op, const psPtr in2)
+psMathType* psBinaryOp(psPtr out, const psPtr in1, const char *op, const psPtr in2)
 {
 
Index: /trunk/psLib/src/dataManip/psBinaryOp.h
===================================================================
--- /trunk/psLib/src/dataManip/psBinaryOp.h	(revision 4533)
+++ /trunk/psLib/src/dataManip/psBinaryOp.h	(revision 4534)
@@ -30,6 +30,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-06-22 02:05:41 $
+ *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-07-11 21:38:19 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -55,5 +55,5 @@
  *  @return  psType* : Pointer to either psImage or psVector.
  */
-psType* psBinaryOp(
+psMathType* psBinaryOp(
     psPtr out,                         ///< Output type, either psImage or psVector.
     const psPtr in1,                   ///< First input, either psImage or psVector.
Index: /trunk/psLib/src/dataManip/psUnaryOp.c
===================================================================
--- /trunk/psLib/src/dataManip/psUnaryOp.c	(revision 4533)
+++ /trunk/psLib/src/dataManip/psUnaryOp.c	(revision 4534)
@@ -30,6 +30,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-06-28 20:17:52 $
+ *  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-07-11 21:38:19 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -304,5 +304,5 @@
 }
 
-psPtr psUnaryOp(psPtr out, const psPtr in, const char *op)
+psMathType* psUnaryOp(psPtr out, const psPtr in, const char *op)
 {
     #define psUnaryOp_EXIT { \
Index: /trunk/psLib/src/dataManip/psUnaryOp.h
===================================================================
--- /trunk/psLib/src/dataManip/psUnaryOp.h	(revision 4533)
+++ /trunk/psLib/src/dataManip/psUnaryOp.h	(revision 4534)
@@ -30,6 +30,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.3 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-06-28 20:17:52 $
+ *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-07-11 21:38:19 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -59,5 +59,5 @@
  *  @return  psType* : Pointer to either psImage or psVector.
  */
-psType* psUnaryOp(
+psMathType* psUnaryOp(
     psPtr out,                         ///< Output type, either psImage or psVector.
     const psPtr in,                    ///< Input, either psImage or psVector.
Index: /trunk/psLib/src/image/psImage.c
===================================================================
--- /trunk/psLib/src/image/psImage.c	(revision 4533)
+++ /trunk/psLib/src/image/psImage.c	(revision 4534)
@@ -9,6 +9,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.74 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-07-09 01:24:30 $
+ *  @version $Revision: 1.75 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-07-11 21:38:19 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -369,11 +369,11 @@
 }
 
-psC64 psImagePixelInterpolate(const psImage* input,
-                              float x,
-                              float y,
-                              const psImage* mask,
-                              psU32 maskVal,
-                              psC64 unexposedValue,
-                              psImageInterpolateMode mode)
+complex psImagePixelInterpolate(const psImage* input,
+                                float x,
+                                float y,
+                                const psImage* mask,
+                                psMaskType maskVal,
+                                complex unexposedValue,
+                                psImageInterpolateMode mode)
 {
 
Index: /trunk/psLib/src/image/psImage.h
===================================================================
--- /trunk/psLib/src/image/psImage.h	(revision 4533)
+++ /trunk/psLib/src/image/psImage.h	(revision 4534)
@@ -11,6 +11,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.61 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-07-09 01:24:30 $
+ *  @version $Revision: 1.62 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-07-11 21:38:19 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -40,5 +40,5 @@
     PS_INTERPOLATE_LANCZOS3_VARIANCE,  ///< Variance version of PS_INTERPOLATE_LANCZOS3
     PS_INTERPOLATE_LANCZOS4_VARIANCE,  ///< Variance version of PS_INTERPOLATE_LANCZOS4
-    PS_INTERPOLATE_NUM_MODES           ///< enum end-marker; does not coorespond to a interpolation mode
+    //    PS_INTERPOLATE_NUM_MODES           ///< enum end-marker; does not coorespond to a interpolation mode
 } psImageInterpolateMode;
 
@@ -197,11 +197,11 @@
  *                   given x,y doesn't coorespond to a valid image location
  */
-psC64 psImagePixelInterpolate(
+complex psImagePixelInterpolate(
     const psImage* input,              ///< input image for interpolation
     float x,                           ///< column location to derive value of
     float y,                           ///< row location ot derive value of
     const psImage* mask,               ///< if not NULL, the mask of the input image
-    psU32 maskVal,              ///< the mask value
-    psC64 unexposedValue,              ///< return value if x,y location is not in image.
+    psMaskType maskVal,                ///< the mask value
+    complex unexposedValue,            ///< return value if x,y location is not in image.
     psImageInterpolateMode mode        ///< interpolation mode
 );
Index: /trunk/psLib/src/image/psImageConvolve.c
===================================================================
--- /trunk/psLib/src/image/psImageConvolve.c	(revision 4533)
+++ /trunk/psLib/src/image/psImageConvolve.c	(revision 4534)
@@ -5,6 +5,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.20 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-06-25 02:02:05 $
+ *  @version $Revision: 1.21 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-07-11 21:38:19 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -65,8 +65,8 @@
     result->image = psImageAlloc(numCols,numRows,PS_TYPE_KERNEL);
     memset(result->image->rawDataBuffer,0,numCols*numRows*PSELEMTYPE_SIZEOF(PS_TYPE_KERNEL));
-    result->p_kernelRows = psAlloc(sizeof(psKernelType*)*numRows);
-
-    psKernelType** kernelRows = result->p_kernelRows;
-    psKernelType** imageRows = result->image->data.PS_TYPE_KERNEL_DATA;
+    result->p_kernelRows = psAlloc(sizeof(float*)*numRows);
+
+    float** kernelRows = result->p_kernelRows;
+    float** imageRows = result->image->data.PS_TYPE_KERNEL_DATA;
     for (psS32 i = 0; i < numRows; i++) {
         kernelRows[i] = imageRows[i] - xMin;
@@ -103,7 +103,7 @@
     psS32 yMax = 0;
     psS32 length = 0;
-    psKernelType normalizeTime = 1.0;  // fraction of total time for each shift clock
+    float normalizeTime = 1.0;  // fraction of total time for each shift clock
     psKernel* result = NULL;
-    psKernelType** kernel = NULL;
+    float** kernel = NULL;
 
     // got non-NULL vectors?
@@ -170,5 +170,5 @@
         } \
         \
-        normalizeTime = 1.0 / (psKernelType)(tShiftData[length-1]); \
+        normalizeTime = 1.0 / (float)(tShiftData[length-1]); \
         result = psKernelAlloc(xMin,xMax,yMin,yMax); \
         kernel = result->kernel; \
@@ -180,5 +180,5 @@
             y = lastY - yShiftData[i]; \
             \
-            kernel[y][x] += (psKernelType)t / (psKernelType)lastT; \
+            kernel[y][x] += (float)t / (float)lastT; \
             prevT = tShiftData[i]; \
         } \
@@ -216,9 +216,9 @@
         kernel = result->kernel; \
         \
-        normalizeTime = 1.0 / (psKernelType)t; \
+        normalizeTime = 1.0 / (float)t; \
         x = 0; \
         y = 0; \
         for (psS32 i = length-1; i >= 0; i--) { \
-            kernel[y][x] += (psKernelType)(tShiftData[i]) * normalizeTime; \
+            kernel[y][x] += (float)(tShiftData[i]) * normalizeTime; \
             x -= xShiftData[i]; \
             y -= yShiftData[i]; \
@@ -296,5 +296,5 @@
     psS32 yMin = kernel->yMin;
     psS32 yMax = kernel->yMax;
-    psKernelType** kData = kernel->kernel;
+    float** kData = kernel->kernel;
 
     // make the output image to the proper size and type
@@ -399,5 +399,5 @@
         // pad the kernel to the same size of paddedImage
         psImage* paddedKernel = psImageAlloc(paddedCols,paddedRows,PS_TYPE_KERNEL);
-        memset(paddedKernel->data.U8[0],0,sizeof(psKernelType)*numCols*numRows); // zero-out image
+        memset(paddedKernel->data.U8[0],0,sizeof(float)*numCols*numRows); // zero-out image
         psS32 yMax = kernel->yMax;
         psS32 xMax = kernel->xMax;
@@ -407,6 +407,6 @@
                 padRow += paddedRows;
             }
-            psKernelType* padData = paddedKernel->data.PS_TYPE_KERNEL_DATA[padRow];
-            psKernelType* kernelRow = kernel->kernel[row];
+            float* padData = paddedKernel->data.PS_TYPE_KERNEL_DATA[padRow];
+            float* kernelRow = kernel->kernel[row];
             for (psS32 col = kernel->xMin; col <= xMax; col++) {
                 if (col < 0) {
Index: /trunk/psLib/src/image/psImageConvolve.h
===================================================================
--- /trunk/psLib/src/image/psImageConvolve.h	(revision 4533)
+++ /trunk/psLib/src/image/psImageConvolve.h	(revision 4534)
@@ -7,6 +7,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.8 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-06-18 03:13:02 $
+ *  @version $Revision: 1.9 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-07-11 21:38:19 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -25,9 +25,9 @@
 
 /** Kernel Type
- *  
+ *
  *  A floating-point data type used for storing kernel data.
- *  
+ *
  */
-typedef psF32 psKernelType;
+//typedef float psKernelType;
 
 /** A convolution kernel */
@@ -35,10 +35,10 @@
 {
     psImage* image;                    ///< Kernel data, in the form of an image
-    psS32 xMin;                          ///< Most negative x index
-    psS32 yMin;                          ///< Most negative y index
-    psS32 xMax;                          ///< Most positive x index
-    psS32 yMax;                          ///< Most positive y index
-    psKernelType** kernel;             ///< Pointer to the kernel data
-    psKernelType** p_kernelRows;       ///< Pointer to the rows of the kernel data; not intended for user use.
+    int xMin;                          ///< Most negative x index
+    int yMin;                          ///< Most negative y index
+    int xMax;                          ///< Most positive x index
+    int yMax;                          ///< Most positive y index
+    float** kernel;                    ///< Pointer to the kernel data
+    float** p_kernelRows;              ///< Pointer to the rows of the kernel data; not intended for user use.
 }
 psKernel;
Index: /trunk/psLib/src/image/psImageFFT.h
===================================================================
--- /trunk/psLib/src/image/psImageFFT.h	(revision 4533)
+++ /trunk/psLib/src/image/psImageFFT.h	(revision 4534)
@@ -7,6 +7,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-06-18 03:13:02 $
+ *  @version $Revision: 1.6 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-07-11 21:38:19 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -33,5 +33,5 @@
 psImage* psImageFFT(
     psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
-    const psImage* image,                 ///< the psImage to apply transform to
+    const psImage* image,              ///< the psImage to apply transform to
     psFFTFlags direction               ///< the direction of the transform
 );
@@ -79,6 +79,6 @@
  */
 psImage* psImagePowerSpectrum(
-    psImage* out,                       ///< a psImage to recycle.  If NULL, a new psImage is made.
-    const psImage* in                   ///< the psImage to power spectrum of
+    psImage* out,                      ///< a psImage to recycle.  If NULL, a new psImage is made.
+    const psImage* in                  ///< the psImage to power spectrum of
 );
 
Index: /trunk/psLib/src/image/psImageGeomManip.c
===================================================================
--- /trunk/psLib/src/image/psImageGeomManip.c	(revision 4533)
+++ /trunk/psLib/src/image/psImageGeomManip.c	(revision 4534)
@@ -10,6 +10,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.11 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-06-25 00:51:28 $
+ *  @version $Revision: 1.12 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-07-11 21:38:19 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -196,5 +196,5 @@
     }
 
-    if (mode < PS_INTERPOLATE_FLAT || mode >= PS_INTERPOLATE_NUM_MODES) {
+    if (mode > PS_INTERPOLATE_LANCZOS4_VARIANCE ) {
         psError(PS_ERR_BAD_PARAMETER_VALUE, true,
                 PS_ERRORTEXT_psImageManip_INTERPOLATION_MODE_UNSUPPORTED,
Index: /trunk/psLib/src/image/psImagePixelExtract.c
===================================================================
--- /trunk/psLib/src/image/psImagePixelExtract.c	(revision 4533)
+++ /trunk/psLib/src/image/psImagePixelExtract.c	(revision 4534)
@@ -8,6 +8,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-06-25 00:51:28 $
+ *  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-07-11 21:38:19 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -312,5 +312,5 @@
     }
 
-    if (mode < PS_INTERPOLATE_FLAT || mode >= PS_INTERPOLATE_NUM_MODES) {
+    if (mode < PS_INTERPOLATE_FLAT ) {
         psError(PS_ERR_BAD_PARAMETER_VALUE, true,
                 PS_ERRORTEXT_psImageManip_INTERPOLATION_MODE_UNSUPPORTED,
Index: /trunk/psLib/src/image/psImagePixelManip.c
===================================================================
--- /trunk/psLib/src/image/psImagePixelManip.c	(revision 4533)
+++ /trunk/psLib/src/image/psImagePixelManip.c	(revision 4534)
@@ -10,6 +10,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-06-25 00:51:28 $
+ *  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-07-11 21:38:19 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -185,9 +185,9 @@
 }
 
-psS32 psImageOverlaySection(psImage* image,
-                            const psImage* overlay,
-                            psS32 col0,
-                            psS32 row0,
-                            const char *op)
+int psImageOverlaySection(psImage* image,
+                          const psImage* overlay,
+                          int col0,
+                          int row0,
+                          const char *op)
 {
     psU32 imageNumRows;
Index: /trunk/psLib/src/image/psImagePixelManip.h
===================================================================
--- /trunk/psLib/src/image/psImagePixelManip.h	(revision 4533)
+++ /trunk/psLib/src/image/psImagePixelManip.h	(revision 4534)
@@ -8,6 +8,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.6 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-06-25 00:51:28 $
+ *  @version $Revision: 1.7 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-07-11 21:38:19 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -78,11 +78,11 @@
  *  function is defined for psU8, psS8, psS16, psF32, psF64, psC32, and psC64.
  *
- *  @return psS32         0 if success, non-zero if failed.
+ *  @return int         0 if success, non-zero if failed.
  */
-psS32 psImageOverlaySection(
+int psImageOverlaySection(
     psImage* image,                    ///< target image
     const psImage* overlay,            ///< the overlay image
-    psS32 col0,                        ///< the column to start overlay
-    psS32 row0,                        ///< the row to start overlay
+    int col0,                          ///< the column to start overlay
+    int row0,                          ///< the row to start overlay
     const char *op                     ///< the operation to perform for overlay
 );
Index: /trunk/psLib/test/image/tst_psImageConvolve.c
===================================================================
--- /trunk/psLib/test/image/tst_psImageConvolve.c	(revision 4533)
+++ /trunk/psLib/test/image/tst_psImageConvolve.c	(revision 4534)
@@ -5,6 +5,6 @@
  *  @author Robert DeSonia, MHPCC
  *
- *  @version $Revision: 1.10 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2005-04-15 00:12:09 $
+ *  @version $Revision: 1.11 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2005-07-11 21:38:19 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -121,5 +121,5 @@
     psS32 x[] = { 0, 1, 0, -1, 0 };
     psS32 y[] = { 2, 1, -1, -2, 0 };
-    psKernelType sum;
+    float sum;
 
     psVector* xVec = psVectorAlloc(size,PS_TYPE_U32);
