文献标识码: A
DOI:10.16157/j.issn.0258-7998.170294
中文引用格式: 梁青青,李晖,周彧,等. FastSky:巡天数据的天图系统[J].电子技术应用,2017,43(11):116-119,123.
英文引用格式: Liang Qingqing,Li Hui,Zhou Yu,et al. FastSky:sky map system based on survey data[J].Application of Electronic Technique,2017,43(11):116-119,123.
0 引言
随着科学技术的进步和大批巡天观测项目的实施,当前的天文数据正呈现爆炸式的增长,天文学正进入一个数据富庶的时代[1]。各大虚拟天文台均致力于将整理完善的天文数据公开,提供给全球的用户进行访问,促进了全球天文数据资源的共享。
天文爱好者和天文学家均可通过对公开的巡天数据的研究分析,从而挖掘出数据中的有用信息,因此越来越多的天文分析辅助工具应运而生。
目前,国外已有很多优秀的可视化工具,如具有星表和图片服务器访问功能的ESO图像显示工具Skycat[2],它结合了图像可视化和天文数据归档功能;法国斯特拉斯堡数据中心开发的数据整合工具Aladin[3],在天体多波段交叉证认方面具有优越性;具有高互动性的天文图像分析工具GAIA[4]提供图像分析扩展功能[5]。这些工具的数据处理功能各具特色,但对用户及安装环境要求较高,且彼此之间无法协同工作,不利于科学家研究工作的开展。为了解决这一问题,本文研究并实现的FastSky系统,只需在网页中加载所需数据,即可进行各种操作,大大降低了使用者的计算机技术要求和软件的运行环境要求,并且数据分析功能丰富,可满足大部分的工作需求。
FastSky系统部分借鉴了Aladin Lite[6]的设计,并进行了扩展。基于Healpix球面分割的HiPS[7]技术,实现对天文数据的层级式展示、星表数据的表格展示和排序、求距、提取等高线等功能;其他核心功能还包括坐标线的绘制、天球坐标系统转换、窗口缩放等。FastSky目前已被FAST工程科学部列为巡天数据科学研究的支撑软件,在FAST巡天数据科学研究规划中应用。
1 FastSky的设计
FastSky系统采用B/S模式,通过AJAX访问各个巡天数据库并获取数据;利用HiPS技术划分天区,构建层级式巡天窗口;实现了多种天文计算算法,用户可完成基本的数据处理。
目前,FastSky系统可访问的数据库包括Simbad[8]、NED[9]、VizieR[10]和Aladin HiPS服务器,操作的数据主要有3种类型:星图、星表和图形元素,这些数据都展示在视图窗口中。
系统架构如图1所示,FastSky天图系统主要包含6个子系统,其核心服务主要是巡天数据的可视化和数据处理。其中,视图层主要负责构建视图窗口、展示天文数据处理结果以及监听窗口中的事件;天区索引构建器负责对Healpix天区索引初始化,并维护窗口的可见天区索引列表;URL构建器负责构建所需下载的天文数据的URL地址,包括天区索引式构建和用户参数式构建两种类型;对象生成器用于解析所下载的天文数据文件格式,并生成数据对象,包括星图对象HpxImage、星表对象Catalog和图形对象Overlay;函数库是系统中最基础的计算模块,它实现了一些天文数学计算方法,供其他模块调用。
2 FastSky的关键技术
本节将对支撑FastSky系统的天图数据可视化和巡天数据处理的关键技术Healpix和HiPS进行详细介绍。
2.1 Healpix
多级等面积同纬度划分法Healpix[11](Hierarchical Equal Area isoLatitude Pixelisation),它是一种天文中常见的球面索引方法。Healpix的分割方式是对天区进行递归的多层次四边形划分,按照四叉树进行层次迭代。
图2为Healpix方法划分天球0级~3级的划分情况。首先将全天区进行8等分,再将每个四边形继续4等分,依此进行层级递归,经过n级划分后,天区被划分为12×4n个块。编码时,通过递归,子块将继承上一级父块的编码并作为前缀。
2.2 HiPS
在传统的数据访问中,系统常因为天文数据过大而不堪重负,而其中的大部分数据并不需要。所以将数据分割成块,按需加载显得尤为重要。
HiPS是基于Healpix索引的数据分层存储技术,它将数据按照Healpix天区级别分割成块,存储在对应级别的目录中,当用户浏览某些天区时,只需计算该天区的存储位置,即可访问数据。
HiPS的存储结构中的几个重要的结构含义如下:
Norder:是指划分的天区级别,从0级开始用8个等面积的菱形划分天球,一个四边形代表一个天区,划分下一级时,每个天区被细分为4个等面积天区,以此递归。
Npix:是指天区的编码,Heapix中有nested和ring两种编码方式,本文采用的是nested编码方式。
Dir:是一个中间级存储结构,随着天区级别的逐渐增加,天区块的数会呈指数上升,为避免目录中的数据量过多,建立了一层中间级存储结构,即将10 000个天区存储在一个dir目录中。
3 FastSky的功能实现
下面重点介绍FastSky系统的天图可视化和数据处理的关键流程。
3.1 可视化流程
FastSky系统的可视化是一种特殊的数据处理,主要是针对星图星表数据,将数据进行一系列处理后无缝拼接展示到视图窗口中,易于浏览观测。
FastSky系统的可视化处理流程如算法1所示。
算法1 可视化流程
Algorithm:Visualization(target,fov,view)
Input:target为天体目标,位于视图窗口的中心;fov为视场角大小。
Output:view为绘制好数据的视图窗口对象。
Body:
(1)view()//创建一个具有三层画布的视图窗口,然后添加窗口的监听事件
(2)list=getVisibleCells(target,fov)//计算窗口中的可见天区的索引号列表list
(3)data=URLBuilderByIndex(list)//采用索引方式构建数据块的URL地址,并下载数据
(4)Draw(data)//解析下载的数据data,建立相应的数据对象数组存储数据,并将数据绘制到窗口中
3.2 数据处理
FastSky的数据处理模块功能包括坐标转换、求距计算、提取等高线、目标名解析等。下面将重点介绍前述四个功能的实现。
3.2.1 坐标转换
在本系统中,主要涉及到了两个重要的坐标系,一个是天球坐标系,即用赤经赤纬来表示天体在天球上的位置;另一个是窗口坐标系,用于定义元素所要绘制的位置。其转换过程如下:
(1)将极坐标转为直角坐标。
(3)使用正弦投影将三维直角坐标投影到SH空间中。
(4)根据窗口计算绘制位置vx、vy。
3.2.2 目标名解析
目标名解析是指输入天体目标名称,即可获取该天体在J2000坐标系下的赤经赤纬位置。它是其他系统功能的基础。本系统对目标名的解析采用的是访问CDS的Sesame天体目标名解析器,获取结果。通过AJAX访问Sesame服务器,访问成功,则返回天体的赤经赤纬位置。
3.2.3 测距
测距是指根据用户点击的两个点的位置,计算它们之间的天体距离。设两个点的位置分别为p1(x1,y1),p2(x2,y2),则距离公式为:
3.2.4 提取等高线
提取等高线是一种常见的图像处理方法,首先获取图像灰度值,进行平滑处理和降噪处理,然后根据不同级别的灰度阈值分别计算对应的轮廓线,并绘制。求解轮廓线采用的是SNYDER W V的Contour plotting[12]经典算法。提取等高线的流程伪代码如算法2所示。
算法2 提取等高线流程
Algorithm:getContour(pimg,levels,useSmoothing,smoothingLevel,reduceNoise,view)
Input:pimg为图像的灰度值,levels为灰度阈值,useSmoothing为是否平滑处理,smoothingLevel为平滑处理级别,reduceNoise为是否进行降噪处理。
Output:view为已绘制好等高线的视图窗口对象。
Body:
(1) get pimg,levels
(2) if useSmoothing
(3) makeSmoothing( )//进行平滑处理
(4) adjustLevels( )//调整灰度阈值
(5) else if reduceNoise
(6) reduceNoise( )//进行降噪处理
(7) for each level
(8) for each pimg
(9) line=computeLine( )//计算等高线
(10) drawLine(line )//绘制线段
(11) return view
4 FastSky系统实例
本节将主要介绍FastSky系统在天文可视化领域的实例应用。
图3是系统界面的布局设计图,主要包括菜单栏、视图窗口、工具箱、功能标签页、星表表格五大部分。
(1)Healpix Grid:HealpixGrid网格线的绘制效果如图4所示,当缩放窗口时,窗口中的网格线会根据缩放层次实时绘制,其中每个网格中的文字格式为“天区级别/天区编号”。
(2)测距:测距功能是指用户通过鼠标点击窗口输入两个点的位置,系统则根据测距公式计算两点间的天体距离,并将结果展示到窗口中。测距公式在系统实现部分已给出,实现效果如图5所示。
(3)等高线:等高线功能是对视图窗口中的图像进行等高线的提取。实现效果如图6所示。
(4)星表可视化:所谓星表可视化,是指加载当前窗口中的星体数据,并使用符号把星体绘制到窗口中。绘制效果如图7所示。
5 结束语
随着虚拟天文台的相关服务发展日益完善,使得天文数据和相关资源的获取也更加方便。在基于巡天数据驱动的天文科学研究中,研究人员要从大量的数据中提取有用的信息,了解数据之间的相互关系[13],将数据进行可视化并进行探索式数据处理是最为有效的途径之一。本文研发的FastSky天图系统操作直观,使用简便,支持访问各个公开的巡天数据库,并提供了常用的天图数据可视化展现和天文数据分析功能,具有较强的实用性。FastSky目前已被FAST工程科学部列为巡天数据科学研究的支撑软件,在FAST巡天数据科学研究规划中应用。
参考文献
[1] 桑健,赵永恒,崔辰州.中国虚拟天文台数据访问服务[J].天文研究与技术:国家天文台台刊,2004,1(3):216-228.
[2] ALBRECHT M A,BRIGHTON A,HERLIN T,et al.Access to data sources and the eso skycat tool[C].Astronomical Data Analysis Software and Systems VI.1997,125:333.
[3] BONNAREL F,ZIAEEPOUR H,BARTLETT J G,et al.The Aladin interactive sky atlas[M].New Horizons from Multi-Wavelength Sky Surveys.Springer Netherlands,1997:469-470.
[4] DRAPER P W,GRAY N,BERRY D S,et al.GAIA-Graphical astronomy and image analysis tool[Z].Astrophysics Source Code Library,2014,1:03024.
[5] 高丹,张彦霞,赵永恒.中国虚拟天文台交叉证认工具的开发和应用[J].天文学报,2008,49(3):348-358.
[6] BOCH T,FERNIQUE P.Aladin Lite:Embed your sky in the browser[C].Astronomical Data Analysis Software and Systems XXIII.2014,485:277.
[7] FERNIQUE P.HiPS-Hierarchical progressive survey[Z].2015.
[8] WENGER M,OCHSENBEIN F,EGRET D,et al.The SIMBAD astronomical database-the CDS reference database for astronomical objects[J].Astronomy and Astrophysics Supplement Series,2000,143(1):9-22.
[9] FADDA D,MAZZARELLA J M,OGLE P M,et al.NED in the era of very large extragalactic surveys[C].American Astronomical Society Meeting Abstracts # 223,2014.
[10] OCHSENBEIN F,FERNIQUE P,ORTIZ P,et al.The VizieR system, a unified interface to astronomical catalogs[J].Future Generation Computer Systems,1999,16(1):39-48.
[11] HIVON E,HANSEN F K,BANDAY A J.The healpix primer[Z].arXiv preprint astro-ph/9905275,1999.
[12] SNYDER W V.Algorithm 531:contour plotting[J6][J].ACM Transactions on Mathematical Software(TOMS),1978,4(3):290-294.
[13] 邵惠娟,赵永恒.中国虚拟天文台可视化服务[J].天文研究与技术:国家天文台台刊,2004,1(2):152-159.
作者信息:
梁青青1,2,李 晖1,2,周 彧1,2,陈 梅1,2,朱 明3
(1.贵州大学 贵州省先进计算与医疗信息服务工程实验室,贵州 贵阳550025;
2.贵州大学 计算机科学与技术学院,贵州 贵阳550025;3.国家天文台 中国科学院,北京100016)