文獻標識碼: 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]的設計,并進行了擴展?;贖ealpix球面分割的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)