3

.tiff 医療画像から Python でフーリエ係数を計算する必要があります。コードはメモリ エラーを生成します。

for filename in glob.iglob ('*.tif'):
        imgfourier = scipy.misc.imread (filename, flatten = True)
        image = numpy.array([imgfourier])#make an array 
         # Take the fourier transform of the image.
        F1 = fftpack.fft2(image)
         # Now shift so that low spatial frequencies are in the center.
        F2 = fftpack.fftshift(F1)
         # the 2D power spectrum is:
        psd2D = np.abs(F2)**2
        print psd2D

どんな助けでも本当に感謝します! ありがとう

4

1 に答える 1

2

でメモリリークを特定したこのディスカッションを見つけ、代わりにパッケージscipy.fftpackを使用することを提案しました。numpy.fftまた、中間変数を避けてメモリを節約できます。

import numpy as np
import glob
import scipy.misc
for filename in glob.iglob('*.tif'):
    imgfourier = scipy.misc.imread (filename, flatten = True)
    print np.abs(np.fft.fftshift(np.fft.fft2(np.array([imgfourier]))))**2
于 2013-06-23T18:02:39.737 に答える