title: FFT-based 2D convolution and correlation in Python
body: <p>Is there a FFT-based 2D cross-correlation or convolution function built into scipy (or another popular library)?</p>
  
  <p>There are functions like these:</p>
  
  <ul>
  <li><code>scipy.signal.correlate2d</code> - "the direct method implemented by <code>convolveND</code> will be
  slow for large data"</li>
  <li><code>scipy.ndimage.correlate</code> - "The array is correlated with the given kernel using
  exact calculation (i.e. not FFT)."</li>
  <li><code>scipy.fftpack.convolve.convolve</code>, which I don't really understand, but seems wrong</li>
  </ul>
  
  <p>numarray had a <a href="http://structure.usc.edu/numarray/node61.html" rel="noreferrer"><code>correlate2d()</code> function with an <code>fft=True</code> switch</a>, but I guess numarray was folded
  into numpy, and I can't find if this function was included.</p>