def gaussianWindow(signal,t,k): l = len(signal) x = numpy.arange(0,1,1./l).astype(numpy.complex64) win = 1*numpy.abs(k)/numpy.sqrt(2*numpy.pi)*numpy.e**(-(x-0.5)**2*numpy.abs(k)**2/2.) win = win/(numpy.sum(win)/l) win = gft.shift(win,-l/2) win = gft.shift(win,t) return win
def transform2D(): N = 256 image = numpy.zeros((N,N)) image1 = numpy.copy(image); image1[N/2,N/2] = 1.0 plot2D(image1,'gaussian','Transform of A 2D Delta: Gaussian Window') plot2D(image1,'box','Transform of A 2D Delta: Boxcar Window') image2 = dist(image); image2 /= numpy.max(numpy.ravel(numpy.abs(image2))); image2 = numpy.cos(2*numpy.pi*96*image2) plot2D(image2,'gaussian','Transform of A Circularly Symmetric Cosine: Gaussian Window') plot2D(image2,'box','Transform of A Circularly Symmetric Cosine: Boxcar Window') image3 = dist(image); image3 /= numpy.max(numpy.ravel(numpy.abs(image3))); image3 = numpy.cos(2*numpy.pi*48*image3)*gaussian2D(image3,8) image3 = gft.shift(image3,-N/4,-N/4) image3 += gft.shift(image2*gaussian2D(image3,8),N/4,N/4) plot2D(image3,'gaussian','Transform of A Gaussian Modulated Circularly Symmetric Cosine: Gaussian Window') plot2D(image3,'box','Transform of A Gaussian Modulated Circularly Symmetric Cosine: Boxcar Window')