Index: trunk/psLib/src/imageops/psImageGeomManip.c
===================================================================
--- trunk/psLib/src/imageops/psImageGeomManip.c	(revision 9730)
+++ trunk/psLib/src/imageops/psImageGeomManip.c	(revision 9863)
@@ -10,6 +10,6 @@
  *  @author Ross Harman, MHPCC
  *
- *  @version $Revision: 1.29 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2006-10-24 22:52:55 $
+ *  @version $Revision: 1.30 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2006-11-06 01:58:09 $
  *
  *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -636,10 +636,12 @@
         break; \
     } \
+    /* XXX output(i,j) = input(i+0.5-dx,j+0.5-dy) */ \
     for (psS32 row=0;row<outRows;row++) { \
         ps##TYPE* outRow = out->data.TYPE[row]; \
-        float y = dy+(float)row; \
+        float y = row + 0.5 - dy; \
         for (psS32 col=0;col<outCols;col++) { \
+            float x = col + 0.5 - dx; \
             outRow[col] = p_psImagePixelInterpolate##MODE##_##TYPE( \
-                          input,dx+(float)col,y,NULL,0,exposed); \
+                          input,x,y,NULL,0,exposed); \
         } \
     } \
@@ -678,4 +680,5 @@
         PSIMAGE_SHIFT_ARBITRARY_CASE(BILINEAR);
         PSIMAGE_SHIFT_ARBITRARY_CASE(BILINEAR_VARIANCE);
+        PSIMAGE_SHIFT_ARBITRARY_CASE(BICUBE);
     default:
         psError(PS_ERR_BAD_PARAMETER_VALUE, true,
