Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中打开和显示fits图像_Python_Image_Show_Dimension_Fits - Fatal编程技术网

在python中打开和显示fits图像

在python中打开和显示fits图像,python,image,show,dimension,fits,Python,Image,Show,Dimension,Fits,我使用这段代码打开并显示我从() 当我尝试使用相同的代码打开NGC2392_CXO()时 我在一行中得到错误:“plt.imshow(image\u data,cmap='gray')” 我认为问题在于图像文件的尺寸。 行“hdu_list.info()”给出了图像fits文件的属性。对于HorseHead,它给出了 plt.imshow(image_data, cmap='gray') File "C:\Users\kapla_000\Anaconda3\lib\site-packages

我使用这段代码打开并显示我从()

当我尝试使用相同的代码打开NGC2392_CXO()时

我在一行中得到错误:“plt.imshow(image\u data,cmap='gray')”

我认为问题在于图像文件的尺寸。 行“hdu_list.info()”给出了图像fits文件的属性。对于HorseHead,它给出了

plt.imshow(image_data, cmap='gray')
  File "C:\Users\kapla_000\Anaconda3\lib\site-packages\matplotlib\pyplot.py", line 3022, in imshow
**kwargs)
  File "C:\Users\kapla_000\Anaconda3\lib\site-packages\matplotlib\__init__.py", line 1811, in inner
return func(ax, *args, **kwargs)
  File "C:\Users\kapla_000\Anaconda3\lib\site-packages\matplotlib\axes\_axes.py", line 4947, in imshow
im.set_data(X)
  File "C:\Users\kapla_000\Anaconda3\lib\site-packages\matplotlib\image.py", line 449, in set_data
raise TypeError("Image data can not convert to float")
TypeError: Image data can not convert to float
对于NGC2392_CXO,同样的行给出

Filename:                
C:\Users\kapla_000\Desktop\barkin\bilgisayar\goruntu\HorseHead.fits
No.    Name         Type      Cards   Dimensions   Format
0    PRIMARY     PrimaryHDU     161   (891, 893)   int16   
1    er.mask     TableHDU        25   1600R x 4C   [F6.2, F6.2, F6.2, F6.2] 

在HorseHead列表的第0个索引中,它有整数维度,而NGC2392\U CXO没有维度。我似乎无法确定如何查看NGC2392_CXO

就FITS格式而言,从技术上讲,您试图打开的文件不包含图像。主HDU没有数据,其他两个HDU是表,而不是图像。某些约定可以将图像存储在表中,但在本例中,列结构与此不同,尽管查看列名可以提供一些细节


但是一般来说,如果你想用Python显示FITS图像,你通常会得到最直接、最轻松的结果,如果你至少从一开始就这样做的话。但是对于这个特殊的文件,我不确定你期望的是什么

根据ImageMagick,NGC2392_CXO图像大小为64x238647像素。我认为问题出在尺寸上。很抱歉这么简短的评论,但是如果你使用aplpy,你可能会省下很多麻烦。
plt.imshow(image_data, cmap='gray')
  File "C:\Users\kapla_000\Anaconda3\lib\site-packages\matplotlib\pyplot.py", line 3022, in imshow
**kwargs)
  File "C:\Users\kapla_000\Anaconda3\lib\site-packages\matplotlib\__init__.py", line 1811, in inner
return func(ax, *args, **kwargs)
  File "C:\Users\kapla_000\Anaconda3\lib\site-packages\matplotlib\axes\_axes.py", line 4947, in imshow
im.set_data(X)
  File "C:\Users\kapla_000\Anaconda3\lib\site-packages\matplotlib\image.py", line 449, in set_data
raise TypeError("Image data can not convert to float")
TypeError: Image data can not convert to float
Filename:                
C:\Users\kapla_000\Desktop\barkin\bilgisayar\goruntu\HorseHead.fits
No.    Name         Type      Cards   Dimensions   Format
0    PRIMARY     PrimaryHDU     161   (891, 893)   int16   
1    er.mask     TableHDU        25   1600R x 4C   [F6.2, F6.2, F6.2, F6.2] 
Filename:   
C:\Users\kapla_000\Desktop\barkin\bilgisayar\goruntu\NGC2392_CXO.fits
No.    Name         Type      Cards   Dimensions   Format
0    PRIMARY     PrimaryHDU      32   ()              
1    EVENTS      BinTableHDU    884   238647R x 19C   [1D, 1I, 1I, 1J, 1I,     
1I, 1I, 1I, 1E, 1E, 1E, 1E, 1J, 1J, 1E, 1J, 1I, 1I, 32X]   
2    GTI         BinTableHDU     28   1R x 2C      [1D, 1D]