Python读取和显示Fits文件
来源:互联网 发布:python contain 编辑:程序博客网 时间:2024/06/15 16:55
FITS (Flexible Image Transport System)是天文学界常用的数据格式,由文件头和数据组成。
我需要分别处理来自EIT和AIA的fits文件,但因为Fits文件的标准并不统一,做实验的时候,对于EIT的fits文件在IDL中进行处理,AIA的fits文件在matlab中处理。很长一段时间都没有找到能同时处理这两种fits文件的方法(如果有,烦请不吝赐教),到现在也没有明白,为什么我用IDL中的fisread不能读取AIA的fits文件;matlab中的fitsread不能读取EIT的fits文件(在此也向大家请教)。
IDL中读取和显示Fits文件:
mreadfits,'D:\EIT_Dat\efz19970512.155012',index1,data1,header=headerdata1=mrdfits('D:\test_data\AIA20130120_1428_0211.fits',1,header)index2map,index1,data1,map1plot_map,map1,/log
运行结果:
Matlab中读取和显示Fits文件:
data = fitsread('D:\Learning\Master\Project\AIAData\20100705\Test\AIA20100705_0252_0171.fits', 'image');data = flipud(data);fitsShow(data);%%显示函数,将灰度值转换到[0,255]进行显示 function [ output_args ] = fitsShow( data ) data_max=max(max(data)); data_min=min(min(data)); data_grey=255*(data-data_min)/(data_max-data_min); data_grey_r=uint8(data_grey); figure(10), imshow(data_grey_r);end
运行结果:
到现在也没有明白,为什么我用上述方法,在IDL中不能读取AIA的fits文件;matlab中不能读取EIT的fits文件(在此也向大家请教)
今天又在纠结这个问题,寻找解决方法,看到一篇博文在Python中FITS格式文件数据的读取,于是就开始尝试用Python按照文中的方法对两种fits文件进行读取和显示。最后竟然成功了!期间也有一些bug,但最终问题还是解决了,激动~~
import matplotlib.pyplot as pltimport numpy as npfrom astropy.io import fits### 读取AIA fits hdu = fits.open('D:/Learning/Master/Project/AIAData/20100705/Test/AIA20100705_0252_0171.fits'); #hdu.info(); hdu.verify('fix'); #hdu[1].data; img_data_aia = np.flipud(hdu[1].data);### 读取EIT fitshdu = fits.open('D:/Learning/Master/Project/EITData/1997_May_12/efz19970512.001205');#hdu.info()img_data_eit = hdu[0].data;### 显示fits图像plt.imshow(img_data_eit, cmap= 'gray');plt.colorbar();plt.show();
在读入AIA的fits文件后,如果直接执行hdu[1].data获取imgdata,编译器会报错:
astropy.io.fits.verify.VerifyError: Unparsable card (OSCNMEAN), fix it first with .verify('fix').
这是因为AIA的fits文件不符合fits文件的标准,需要进行fix,所以执行代码:
hdu.verify('fix');
在这之后,就可以对imgdata进行操作。
Python中显示来自AIA的fits文件
显示的效果不是很好,还需继续学习改进。
阅读全文
1 0
- Python读取和显示Fits文件
- 读取Fits数据及画图显示JAVA版
- python读取和显示txt文件
- 一个下午,找了一条小虫,JAVA读取fits文件出错异常
- TIFF 文件显示和读取
- python读写文件——创建文件+文件读取和显示
- Python读取YUV文件,并显示
- 用python读取和显示图像
- 文件读取和显示(readTextFile.py)
- 使用Python读取和写入CSV文件
- python读取文件,readline和readlines区别
- 保存输入和读取文件【python】
- 使用Python读取和写入CSV文件
- Python读取和写入Excel文件[整]
- python读取和生成excel文件
- python读取子目录和子文件
- python 读取txt,json和hdf5文件
- [python]文件访问读取和改写
- Javascript 引用
- js笔记 选择指定的td给他加各种css
- 通过指针引用数组元素
- LInux学习笔记 --网桥&IPV6
- 【Android学习】进度条ProgressBar
- Python读取和显示Fits文件
- UGUI CanvasGroup
- 深入JVM锁机制1-synchronized
- cmd操作mysql的常用命令
- 属性动画(上)
- QTableWidget 应用总结
- 【Java学习】Timer用法
- JMeter学习笔记--使用HTTP信息头管理器
- 构建jsp运行环境