Index: trunk/psLib/src/fft/psImageFFT.h
===================================================================
--- trunk/psLib/src/fft/psImageFFT.h	(revision 21183)
+++ trunk/psLib/src/fft/psImageFFT.h	(revision 28998)
@@ -15,4 +15,14 @@
 #include "psImage.h"
 #include "psImageConvolve.h"
+
+typedef struct {
+    void *fft;
+    int xMin;                          ///< Most negative x index
+    int yMin;                          ///< Most negative y index
+    int xMax;                          ///< Most positive x index
+    int yMax;                          ///< Most positive y index
+    int paddedCols;
+    int paddedRows;
+} psKernelFFT;
 
 /// @addtogroup MathOps Mathematical Operations
@@ -71,6 +81,26 @@
     const psImage *mask,                ///< Corresponding mask
     psImageMaskType maskVal,		///< Value to mask
-    const psKernel *kernel              ///< kernel to colvolve with
+    const psKernel *kernel              ///< kernel to convolve with
+    );
+
+/// Allocate an the psKernelFFT structure
+psKernelFFT *psKernelFFTAlloc(
+    const psKernel *input		///< kernel to convolve with
 );
+
+/// Generate an FFT'ed kernel suitable for convolution with the given image
+psKernelFFT *psImageConvolveKernelInit(
+    const psImage *in,			///< representative image to convolve
+    const psKernel *kernel		///< kernel to convolve with
+    );
+
+/// Convolve the given image with the pre-FFT'ed kernel
+psImage *psImageConvolveKernel(
+    psImage *out,			///< Output image, or NULL
+    const psImage *in,			///< Image to convolve
+    const psImage *mask,		///< Corresponding mask
+    psImageMaskType maskVal,		///< Value to mask
+    const psKernelFFT *kernel		///< kernel to convolve with
+    );
 
 /// @}
