以前也碰到过读二进制表的情况。研究过几次,发现
IDL> a=mrdfits('xxx.fits')
读出来的是一个结构体,不是简单的数组,a只有一个元素,就是一对花括号,里面是所有数据。以前碰到的问题相对简单,可以用shell脚本暴力处理,把文件中的信息强制过滤出来。
今天又碰到一个含有二进制表的FITS文件,似乎用shell脚本不太好处理了。于是认真考虑了一下如何用IDL把数据读出来。结构体其实是一个复合的数据结构。今天碰到的情况就是几个数组合到一块儿形成一个结构体,问题在于不知道怎么表示这些数组。上网查了一下,可以通过
IDL> help,a,/str
查询a的信息。看到这个结构体中有两个数组
PARAMS FLOAT Array[11]
ARRAY FLOAT Array[2, 3, 8193]
于是我就明白怎么弄了。
IDL> b=a.params
就得到了第一个数组。
IDL> c=a.array
就得到了第二个数组。得到了数组,下面的操作就比较标准了。
https://blog.sciencenet.cn/blog-117333-441128.html
上一篇:
“杰出青年”有多杰出?下一篇:
射电望远镜的灵敏度