Index: trunk/psLib/src/imageops/psImageConvolve.c
===================================================================
--- trunk/psLib/src/imageops/psImageConvolve.c	(revision 13350)
+++ trunk/psLib/src/imageops/psImageConvolve.c	(revision 14332)
@@ -7,6 +7,6 @@
 /// @author Eugene Magnier, IfA
 ///
-/// @version $Revision: 1.52 $ $Name: not supported by cvs2svn $
-/// @date $Date: 2007-05-11 16:48:31 $
+/// @version $Revision: 1.53 $ $Name: not supported by cvs2svn $
+/// @date $Date: 2007-07-20 20:12:31 $
 ///
 /// Copyright 2004-2007 Institute for Astronomy, University of Hawaii
@@ -200,5 +200,6 @@
 }
 
-psImage *psImageConvolveDirect(const psImage *in,
+psImage *psImageConvolveDirect(psImage *out, 
+			       const psImage *in,
                                const psKernel *kernel)
 {
@@ -222,6 +223,4 @@
     int numCols = in->numCols;          // Number of columns
 
-    psImage *out;                       // Image to be returned
-
 #if 1
 
@@ -231,5 +230,5 @@
     case PS_TYPE_##TYPE: { \
         ps##TYPE **inData = in->data.TYPE; /* Dereference input data */ \
-        out = psImageAlloc(numCols, numRows, PS_TYPE_##TYPE); \
+        out = psImageRecycle(out, numCols, numRows, PS_TYPE_##TYPE); \
         for (int row = 0; row < numRows; row++) { \
             ps##TYPE *outRow = out->data.TYPE[row]; \
@@ -253,5 +252,5 @@
     case PS_TYPE_##TYPE: { \
         ps##TYPE **inData = in->data.TYPE; /* Dereference input data */ \
-        out = psImageAlloc(numCols, numRows, PS_TYPE_##TYPE); \
+        out = psImageRecycle(out, numCols, numRows, PS_TYPE_##TYPE); \
         psImageInit(out, 0.0); \
         for (int ky = yMin; ky <= yMax; ky++) { \
