以前用IDL读FITS文件,简单地用
IDL>a=mrdfits('filename.fits')
就可以把FITS文件filename.fits中的数据读入到数组a中。昨天还用次方法读一个FITS文件的时候就出问题了,读出来都是整数,而且大得吓人。开始还以为是数据类型搞错了,但是根据经验,数据类型搞错读出来都是莫名其妙的数据,但是这些整数画出分布来还有模有样。所以觉得可能是这个FITS文件有什么特殊的定义。
在网上查到有时候读FITS文件用
IDL>a=mrdfits('filename.fits', /fscale)
意思是说,数据读出来以后做一个变换,得到真实的物理数据。我本着尝试的态度试了一下,读出来的数据就对了。查了一下文件头,里面有BSCALE和BZERO两个参数,网上说
Physical Value = BZERO + BSCALE * Array Value
Array Value就处理为一些整数。这样处理的目的不知道是不是为了使数据便于存储。
https://blog.sciencenet.cn/blog-117333-375080.html
上一篇:
小记IDL画全天中性氢分布图下一篇:
查看光谱的IDL程序