'**SUMMARY**
This function allows you to apply an arbitrary filter to the DFT of an image.
This filter takes in a gray scale image, whiter values are kept and black values
are rejected. In the DFT image, the lower frequency values are in the corners
of the image, while the higher frequency components are in the center. For example,
a low pass filter has white squares in the corners and is black everywhere else.
**PARAMETERS**
* *flt* - A DFT filter
* *grayscale* - if this value is True we perfrom the operation on the DFT of the gray
version of the image and the result is gray image. If grayscale is true
we perform the operation on each channel and the recombine them to create
the result.
**RETURNS**
A SimpleCV image after applying the filter.
**EXAMPLE**
>>>  filter = DFT.createGaussianFilter()
>>>  myImage = Image("MyImage.png")
>>>  result = myImage.filter(filter)
>>>  result.show()'

def filter(self, flt, grayscale=False):

    filteredimage = flt.applyFilter(self, grayscale)
    return filteredimage
