- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我真的很接近完成一个大代码,但它的最后一段似乎失败了,我不知道为什么。我在这里想做的是获取一个图像数组,将其与另一个图像数组进行比较,并且无论初始图像数组等于 1,我都想在第二个图像数组中屏蔽该部分。但是,我遇到了一个奇怪的错误:
代码:
maskimg='omask'+str(inimgs)[5:16]+'.fits'
newmaskimg=pf.getdata(maskimg)
oimg=pf.getdata(inimgs)
for i in range (newmaskimg.shape[0]):
for j in range (newmaskimg.shape[1]):
if newmaskimg[i,j]==1:
oimg[i,j]=0
pf.writeto('newestmask'+str(inimgs)[5:16]+'.fits',newmaskimg)
错误:
/home/vidur/se_files/fetch_swarp10.py in objmask(inimgs, inwhts, thresh1, thresh2, tfdel, xceng, yceng, outdir, tmpdir)
122 if newmaskimg[i,j]==1:
123 oimg[i,j]=0
--> 124 pf.writeto('newestmask'+str(inimgs)[5:16]+'.fits',newmaskimg)
125
126
/usr/local/lib/python2.7/dist-packages/pyfits/convenience.pyc in writeto(filename, data, header, output_verify, clobber, checksum)
396 hdu = PrimaryHDU(data, header=header)
397 hdu.writeto(filename, clobber=clobber, output_verify=output_verify,
--> 398 checksum=checksum)
399
400
/usr/local/lib/python2.7/dist-packages/pyfits/hdu/base.pyc in writeto(self, name, output_verify, clobber, checksum)
348 hdulist = HDUList([self])
349 hdulist.writeto(name, output_verify, clobber=clobber,
--> 350 checksum=checksum)
351
352 def _get_raw_data(self, shape, code, offset):
/usr/local/lib/python2.7/dist-packages/pyfits/hdu/hdulist.pyc in writeto(self, fileobj, output_verify, clobber, checksum)
651 os.remove(filename)
652 else:
--> 653 raise IOError("File '%s' already exists." % filename)
654 elif (hasattr(fileobj, 'len') and fileobj.len > 0):
655 if clobber:
IOError: File 'newestmaskPHOTOf105w0.fits' already exists.
最佳答案
如果您不关心覆盖现有文件,pyfits.writeto
接受 clobber
参数来自动覆盖现有文件(它仍会输出警告):
pyfits.writeto(..., clobber=True)
顺便说一句,我要强调的是,您上面发布的代码不是使用 Numpy 的正确方法。代码中的循环可以写成一行,并且速度会快几个数量级。例如,多种可能性之一是这样写:
oimg[newmaskimg == 1] = 0
关于python - PyFITS:文件已存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17712913/
我真的很接近完成一个大代码,但它的最后一段似乎失败了,我不知道为什么。我在这里想做的是获取一个图像数组,将其与另一个图像数组进行比较,并且无论初始图像数组等于 1,我都想在第二个图像数组中屏蔽该部分。
我在用 Python 打开 FITS 文件时遇到问题。我收到以下错误消息: File "G:\Anaconda\lib\site-packages\pyfits\file.py", line 416,
我有一个 Fits 文件,其中包含有关图像的 12 个不同的信息数组。我可以使用该行找到我想要查看的数组的最大值 MAG_AUTO。 a=pyfits.getdata(data1).MAG_AUTO
我有一些 .fit 文件,其中包含来自 CCD 相机的图像,但我似乎无法使用 PyFITS 打开它们。我是 PyFITS 的新手,所以我不知道我有什么(如果有的话)选项。这是我正在尝试的: impor
假设我有一个只有一个扩展名的 fits 文件,数据由一个包含两列的表格组成,每列有 100 个元素 data = pyfits.open('path2myfile')[1].data head = p
我正在尝试连接 pyfits 中的文件。因为它们没有正确完成,所以我的输入文件之间的列名称之一和列格式之一不相同,因此我无法使用 np.concatenate 连接 ndarray ... 我想更改列
我一直在寻找这个问题的解决方案,但一无所获。 我正在通过 matplotlib 生成矩形 FITS 图像,然后使用 AstroPy(或 PyFITS)将 WCS 坐标应用于它们。我的图像采用银河经纬度
我使用带有 numpy 和 pyfits 的 Python 2.7.3 来处理科学 FITS 文件。为了速度,我想以一半或四分之一的分辨率处理图像,并使用以下代码: # Read red image
我是一名优秀的程序员,十分优秀!