# Speed up DFT by specifying ROI in frequency domain [closed]

*Note: This question is also asked at Stack Overflow a couple of days later since this post.*

I'm building an application which extensively use dft, discrete Fourier transform. I'm trying to speed up so as to run in real-time.

In that application I only use a part of dft output specified by a rectangular ROI. My current implementation follows the steps below:

- Compute dft of the input image
*f*(typically size of 512x512) and get the entire dft result*F* - Crop
*F*into a pre-specified ROI (typically size of 32x32, located arbitrary),*R*

This process basically works well, but involves useless calculation since I only need partial information of *F*. I'm looking for a way to accelerate this calculation only by computing necessary part of dft.

I found OpenCV with Intel IPP computes dft with Intel IPP functions, which results in an order of magnitude faster than naive OpenCV implementation. I'm wondering if I can even accelerate this computation by only computing necessary frequency domain of dft.

Since I'm new to OpenCV, I've lost my way here, so I hope you could provide a way to do this.

Kindly note that I don't mean to do a dft to an ROI of an image, i.e. *dft(ROI(f))*, but I want to compute *ROI(dft(f))*.

Thanks in advance.

**EDIT**: I've got a nice answer on Stack Overflow. Refer to the URL as pointed in the main text.