这是我的相关代码块:
import numpy as np
import matplotlib.pyplot as plt
from astropy.io import fits
from photutils.isophote import EllipseGeometry, Ellipse
from photutils.isophote import build_ellipse_model
from astropy.modeling.models import Sersic1D
import numpy.ma as ma
hdu = fits.open("j9en2e010_drz.fits")
data = hdu[0].data
hdu.close()
geometry = EllipseGeometry(x0=1188, y0=1240, sma=20, eps=0.1, pa=50. * np.pi / 180.)
ellipse = Ellipse(data, geometry)
isolist = ellipse.fit_image()
model_image = build_ellipse_model(data.shape, isolist)
residual = data - model_image
当我运行它时,我收到错误消息:
AttributeError: 'NoneType' object has no attribute 'shape'
这个错误是指我的变量model_image。有谁知道有什么方法可以解决这个问题?我不知所措。
编辑: 我接受了 zr0gravity7 的建议并打印出来检查:
print(hdu[0])
我得到了结果:
<astropy.io.fits.hdu.image.PrimaryHDU object at 0x7fb3c1e29eb8>
我对编码很陌生,我真的不知道这告诉我什么。
编辑 2: 我发现了我的问题 - 我在同一个文件中有多个图像。我解决了它,现在我的代码似乎可以工作了。