0

我试图通过创建一个立方体(尺寸大于图像;60x3000x4000)来对齐 60 个图像,该立方体存储有关每个图像的信息以及它被移动了多少。然后,我通过查找任何 0 值的掩蔽立方体来组合它,然后找到沿 0 轴投影的掩蔽中位数。

但是,出于某种原因,无论我是针对 2 张图像还是 30 张图像,都需要很长时间才能找到蒙面中位数(约 30-40 分钟)。当我运行 60 张图像时,它只会说我的应用程序内存用完了。我曾尝试在 Mac OSx 和 Debian 系统上运行它,但存在同样的问题。

不知道如何解决这个问题。

我的代码的相关部分

#for loop beginning:
#    more code
     cube[k, 200-yShift[k]:200-yShift[k]+data.shape[0], 200-xShift[k]:200-xShift[k]+data.shape[1]] = data
#for loop ending:

masked_cube = ma.MaskedArray(cube, mask=cube==0)
del cube
median_mask = ma.median(masked_cube, axis = 0).filled(0)
hdu = fits.PrimaryHDU(median_mask)
hdulist = fits.HDUList([hdu])
hdulist.writeto(output_file)
4

0 回答 0