关于starlink软件中的CUPID前面已经提到过,并且进行了部分代码的分析(
blog.sciencenet.cn/blog-117333-378055.html)。不过当时对于算法没有太深入的了解,这段时间回国头去看,似乎有一种顿悟的感觉,所以记上一篇,给我自己,也或许可以给组里面相关的同学们。
starlink软件是JCMT开发的一套数据处理软件,功能非常强大(至少对我要达到的目标来说)。starlink中有一套不错的三维(两维空间一维速度)云核拟合程序CUPID(
http://starlink.jach.hawaii.edu/starlink/CUPID),
其中进行云核拟合的命令是FINDCLUMPS。目前这套程序中有四种算法,作为FINDCLUMPS命令的参数,其中最常用的是CLUMPFIND和
GAUSSCLUMPS。对于CLUMPFIND来说,可能还会用到EXTRACTCLUMPS命令和CLUMPINFO命令。而GAUSSCLUMPS
基于不同的原理,所以EXTRACTCLUMPS命令和CLUMPINFO命令并不适用。
除了算法,云核拟合中的另外两个个重要参数是BOX和RMS,前者是平滑尺度,单位是像素数,后者就是数据的噪声水平。参数的值需要视实际数据而定。
使用CUPID进行云核拟合的基本步骤就是,首先,用FINDBACK命令找到数据块的“背景”,然后用FINDCLUMPS命令找出去掉背景后的数据中的云核。
找数据的“背景”是云核拟合的一个关键,基本原理就是把大尺度的弥散辐射去掉,让云核更突出,便于进行下一步拟合。所以可以理解,平滑尺度的选取是非常关
键的,这也是云核拟合的一个重点。这可能需要在实际的数据处理中去实践。FINDBACK计算数据“背景”的基本原理是这样的(这段主要是对
starlink网站相关内容的翻译(以一维数据为例)):
首先,对每一个像素,寻找以这个像素为中心,平滑尺度BOX大小的一个“盒子”中所有像素值的极小值,于是就得到了一个初步的“过滤器”;
然后,对上一步得到的这个“过滤器”的每一个像素,寻找以这个像素为中心,平滑尺度BOX大小的一个“盒子”中所有像素值的极大值,得到一个“二级过滤器”;
随后,对上一步得到的“二级过滤器”的每一个像素,寻找以这个像素为中心,平滑尺度BOX大小的一个“盒子”中所有像素值的平均值,得到一个“三级过滤器”;
之后,用真实数据减去三级过滤器,将结果中大于三倍噪声水平的点标为坏点,坏点的值通过周围好点的值插值得到。这样就得到一个“改正数据”,加到“三级过滤器”中得到“背景”。
有了“背景”之后,用真实数据减去“背景”,得到的结果就可以用FINDCLUMPS寻找其中的云核了。关于FINDCLUMPS中的一些具体问题,且听下回分解。
https://blog.sciencenet.cn/blog-117333-617116.html
上一篇:
天文测距的一般思考下一篇:
天文中的对照