文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.170294
中文引用格式: 梁青青,,李暉,,周彧,等. FastSky:巡天數(shù)據(jù)的天圖系統(tǒng)[J].電子技術(shù)應(yīng)用,,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 引言
隨著科學(xué)技術(shù)的進(jìn)步和大批巡天觀測項目的實施,,當(dāng)前的天文數(shù)據(jù)正呈現(xiàn)爆炸式的增長,,天文學(xué)正進(jìn)入一個數(shù)據(jù)富庶的時代[1]。各大虛擬天文臺均致力于將整理完善的天文數(shù)據(jù)公開,,提供給全球的用戶進(jìn)行訪問,,促進(jìn)了全球天文數(shù)據(jù)資源的共享。
天文愛好者和天文學(xué)家均可通過對公開的巡天數(shù)據(jù)的研究分析,,從而挖掘出數(shù)據(jù)中的有用信息,,因此越來越多的天文分析輔助工具應(yīng)運而生。
目前,,國外已有很多優(yōu)秀的可視化工具,,如具有星表和圖片服務(wù)器訪問功能的ESO圖像顯示工具Skycat[2],它結(jié)合了圖像可視化和天文數(shù)據(jù)歸檔功能,;法國斯特拉斯堡數(shù)據(jù)中心開發(fā)的數(shù)據(jù)整合工具Aladin[3],,在天體多波段交叉證認(rèn)方面具有優(yōu)越性;具有高互動性的天文圖像分析工具GAIA[4]提供圖像分析擴展功能[5],。這些工具的數(shù)據(jù)處理功能各具特色,,但對用戶及安裝環(huán)境要求較高,且彼此之間無法協(xié)同工作,,不利于科學(xué)家研究工作的開展,。為了解決這一問題,本文研究并實現(xiàn)的FastSky系統(tǒng),,只需在網(wǎng)頁中加載所需數(shù)據(jù),,即可進(jìn)行各種操作,大大降低了使用者的計算機技術(shù)要求和軟件的運行環(huán)境要求,,并且數(shù)據(jù)分析功能豐富,,可滿足大部分的工作需求。
FastSky系統(tǒng)部分借鑒了Aladin Lite[6]的設(shè)計,,并進(jìn)行了擴展,。基于Healpix球面分割的HiPS[7]技術(shù),,實現(xiàn)對天文數(shù)據(jù)的層級式展示,、星表數(shù)據(jù)的表格展示和排序、求距、提取等高線等功能,;其他核心功能還包括坐標(biāo)線的繪制,、天球坐標(biāo)系統(tǒng)轉(zhuǎn)換、窗口縮放等,。FastSky目前已被FAST工程科學(xué)部列為巡天數(shù)據(jù)科學(xué)研究的支撐軟件,,在FAST巡天數(shù)據(jù)科學(xué)研究規(guī)劃中應(yīng)用。
1 FastSky的設(shè)計
FastSky系統(tǒng)采用B/S模式,,通過AJAX訪問各個巡天數(shù)據(jù)庫并獲取數(shù)據(jù),;利用HiPS技術(shù)劃分天區(qū),構(gòu)建層級式巡天窗口,;實現(xiàn)了多種天文計算算法,,用戶可完成基本的數(shù)據(jù)處理。
目前,,F(xiàn)astSky系統(tǒng)可訪問的數(shù)據(jù)庫包括Simbad[8],、NED[9]、VizieR[10]和Aladin HiPS服務(wù)器,,操作的數(shù)據(jù)主要有3種類型:星圖,、星表和圖形元素,這些數(shù)據(jù)都展示在視圖窗口中,。
系統(tǒng)架構(gòu)如圖1所示,,F(xiàn)astSky天圖系統(tǒng)主要包含6個子系統(tǒng),其核心服務(wù)主要是巡天數(shù)據(jù)的可視化和數(shù)據(jù)處理,。其中,視圖層主要負(fù)責(zé)構(gòu)建視圖窗口,、展示天文數(shù)據(jù)處理結(jié)果以及監(jiān)聽窗口中的事件,;天區(qū)索引構(gòu)建器負(fù)責(zé)對Healpix天區(qū)索引初始化,并維護窗口的可見天區(qū)索引列表,;URL構(gòu)建器負(fù)責(zé)構(gòu)建所需下載的天文數(shù)據(jù)的URL地址,,包括天區(qū)索引式構(gòu)建和用戶參數(shù)式構(gòu)建兩種類型;對象生成器用于解析所下載的天文數(shù)據(jù)文件格式,,并生成數(shù)據(jù)對象,,包括星圖對象HpxImage、星表對象Catalog和圖形對象Overlay,;函數(shù)庫是系統(tǒng)中最基礎(chǔ)的計算模塊,,它實現(xiàn)了一些天文數(shù)學(xué)計算方法,供其他模塊調(diào)用,。
2 FastSky的關(guān)鍵技術(shù)
本節(jié)將對支撐FastSky系統(tǒng)的天圖數(shù)據(jù)可視化和巡天數(shù)據(jù)處理的關(guān)鍵技術(shù)Healpix和HiPS進(jìn)行詳細(xì)介紹,。
2.1 Healpix
多級等面積同緯度劃分法Healpix[11](Hierarchical Equal Area isoLatitude Pixelisation),它是一種天文中常見的球面索引方法,。Healpix的分割方式是對天區(qū)進(jìn)行遞歸的多層次四邊形劃分,,按照四叉樹進(jìn)行層次迭代,。
圖2為Healpix方法劃分天球0級~3級的劃分情況。首先將全天區(qū)進(jìn)行8等分,,再將每個四邊形繼續(xù)4等分,,依此進(jìn)行層級遞歸,經(jīng)過n級劃分后,,天區(qū)被劃分為12×4n個塊,。編碼時,通過遞歸,,子塊將繼承上一級父塊的編碼并作為前綴,。
2.2 HiPS
在傳統(tǒng)的數(shù)據(jù)訪問中,系統(tǒng)常因為天文數(shù)據(jù)過大而不堪重負(fù),,而其中的大部分?jǐn)?shù)據(jù)并不需要,。所以將數(shù)據(jù)分割成塊,按需加載顯得尤為重要,。
HiPS是基于Healpix索引的數(shù)據(jù)分層存儲技術(shù),,它將數(shù)據(jù)按照Healpix天區(qū)級別分割成塊,存儲在對應(yīng)級別的目錄中,,當(dāng)用戶瀏覽某些天區(qū)時,,只需計算該天區(qū)的存儲位置,即可訪問數(shù)據(jù),。
HiPS的存儲結(jié)構(gòu)中的幾個重要的結(jié)構(gòu)含義如下:
Norder:是指劃分的天區(qū)級別,,從0級開始用8個等面積的菱形劃分天球,一個四邊形代表一個天區(qū),,劃分下一級時,,每個天區(qū)被細(xì)分為4個等面積天區(qū),以此遞歸,。
Npix:是指天區(qū)的編碼,,Heapix中有nested和ring兩種編碼方式,本文采用的是nested編碼方式,。
Dir:是一個中間級存儲結(jié)構(gòu),,隨著天區(qū)級別的逐漸增加,天區(qū)塊的數(shù)會呈指數(shù)上升,,為避免目錄中的數(shù)據(jù)量過多,,建立了一層中間級存儲結(jié)構(gòu),即將10 000個天區(qū)存儲在一個dir目錄中,。
3 FastSky的功能實現(xiàn)
下面重點介紹FastSky系統(tǒng)的天圖可視化和數(shù)據(jù)處理的關(guān)鍵流程,。
3.1 可視化流程
FastSky系統(tǒng)的可視化是一種特殊的數(shù)據(jù)處理,主要是針對星圖星表數(shù)據(jù),將數(shù)據(jù)進(jìn)行一系列處理后無縫拼接展示到視圖窗口中,,易于瀏覽觀測,。
FastSky系統(tǒng)的可視化處理流程如算法1所示。
算法1 可視化流程
Algorithm:Visualization(target,,fov,,view)
Input:target為天體目標(biāo),位于視圖窗口的中心,;fov為視場角大小,。
Output:view為繪制好數(shù)據(jù)的視圖窗口對象。
Body:
(1)view()//創(chuàng)建一個具有三層畫布的視圖窗口,,然后添加窗口的監(jiān)聽事件
(2)list=getVisibleCells(target,,fov)//計算窗口中的可見天區(qū)的索引號列表list
(3)data=URLBuilderByIndex(list)//采用索引方式構(gòu)建數(shù)據(jù)塊的URL地址,并下載數(shù)據(jù)
(4)Draw(data)//解析下載的數(shù)據(jù)data,,建立相應(yīng)的數(shù)據(jù)對象數(shù)組存儲數(shù)據(jù),,并將數(shù)據(jù)繪制到窗口中
3.2 數(shù)據(jù)處理
FastSky的數(shù)據(jù)處理模塊功能包括坐標(biāo)轉(zhuǎn)換、求距計算,、提取等高線,、目標(biāo)名解析等。下面將重點介紹前述四個功能的實現(xiàn),。
3.2.1 坐標(biāo)轉(zhuǎn)換
在本系統(tǒng)中,,主要涉及到了兩個重要的坐標(biāo)系,一個是天球坐標(biāo)系,,即用赤經(jīng)赤緯來表示天體在天球上的位置,;另一個是窗口坐標(biāo)系,用于定義元素所要繪制的位置,。其轉(zhuǎn)換過程如下:
(1)將極坐標(biāo)轉(zhuǎn)為直角坐標(biāo),。
(3)使用正弦投影將三維直角坐標(biāo)投影到SH空間中。
(4)根據(jù)窗口計算繪制位置vx,、vy。
3.2.2 目標(biāo)名解析
目標(biāo)名解析是指輸入天體目標(biāo)名稱,,即可獲取該天體在J2000坐標(biāo)系下的赤經(jīng)赤緯位置,。它是其他系統(tǒng)功能的基礎(chǔ)。本系統(tǒng)對目標(biāo)名的解析采用的是訪問CDS的Sesame天體目標(biāo)名解析器,,獲取結(jié)果,。通過AJAX訪問Sesame服務(wù)器,訪問成功,,則返回天體的赤經(jīng)赤緯位置,。
3.2.3 測距
測距是指根據(jù)用戶點擊的兩個點的位置,計算它們之間的天體距離。設(shè)兩個點的位置分別為p1(x1,,y1),,p2(x2,y2),,則距離公式為:
3.2.4 提取等高線
提取等高線是一種常見的圖像處理方法,,首先獲取圖像灰度值,進(jìn)行平滑處理和降噪處理,,然后根據(jù)不同級別的灰度閾值分別計算對應(yīng)的輪廓線,,并繪制。求解輪廓線采用的是SNYDER W V的Contour plotting[12]經(jīng)典算法,。提取等高線的流程偽代碼如算法2所示,。
算法2 提取等高線流程
Algorithm:getContour(pimg,levels,,useSmoothing,,smoothingLevel,reduceNoise,,view)
Input:pimg為圖像的灰度值,,levels為灰度閾值,useSmoothing為是否平滑處理,,smoothingLevel為平滑處理級別,,reduceNoise為是否進(jìn)行降噪處理。
Output:view為已繪制好等高線的視圖窗口對象,。
Body:
(1) get pimg,levels
(2) if useSmoothing
(3) makeSmoothing( )//進(jìn)行平滑處理
(4) adjustLevels( )//調(diào)整灰度閾值
(5) else if reduceNoise
(6) reduceNoise( )//進(jìn)行降噪處理
(7) for each level
(8) for each pimg
(9) line=computeLine( )//計算等高線
(10) drawLine(line )//繪制線段
(11) return view
4 FastSky系統(tǒng)實例
本節(jié)將主要介紹FastSky系統(tǒng)在天文可視化領(lǐng)域的實例應(yīng)用,。
圖3是系統(tǒng)界面的布局設(shè)計圖,主要包括菜單欄,、視圖窗口,、工具箱、功能標(biāo)簽頁,、星表表格五大部分,。
(1)Healpix Grid:HealpixGrid網(wǎng)格線的繪制效果如圖4所示,當(dāng)縮放窗口時,,窗口中的網(wǎng)格線會根據(jù)縮放層次實時繪制,,其中每個網(wǎng)格中的文字格式為“天區(qū)級別/天區(qū)編號”。
(2)測距:測距功能是指用戶通過鼠標(biāo)點擊窗口輸入兩個點的位置,,系統(tǒng)則根據(jù)測距公式計算兩點間的天體距離,,并將結(jié)果展示到窗口中。測距公式在系統(tǒng)實現(xiàn)部分已給出,,實現(xiàn)效果如圖5所示,。
(3)等高線:等高線功能是對視圖窗口中的圖像進(jìn)行等高線的提取,。實現(xiàn)效果如圖6所示。
(4)星表可視化:所謂星表可視化,,是指加載當(dāng)前窗口中的星體數(shù)據(jù),,并使用符號把星體繪制到窗口中。繪制效果如圖7所示,。
5 結(jié)束語
隨著虛擬天文臺的相關(guān)服務(wù)發(fā)展日益完善,,使得天文數(shù)據(jù)和相關(guān)資源的獲取也更加方便。在基于巡天數(shù)據(jù)驅(qū)動的天文科學(xué)研究中,,研究人員要從大量的數(shù)據(jù)中提取有用的信息,,了解數(shù)據(jù)之間的相互關(guān)系[13],將數(shù)據(jù)進(jìn)行可視化并進(jìn)行探索式數(shù)據(jù)處理是最為有效的途徑之一,。本文研發(fā)的FastSky天圖系統(tǒng)操作直觀,,使用簡便,支持訪問各個公開的巡天數(shù)據(jù)庫,,并提供了常用的天圖數(shù)據(jù)可視化展現(xiàn)和天文數(shù)據(jù)分析功能,,具有較強的實用性。FastSky目前已被FAST工程科學(xué)部列為巡天數(shù)據(jù)科學(xué)研究的支撐軟件,,在FAST巡天數(shù)據(jù)科學(xué)研究規(guī)劃中應(yīng)用,。
參考文獻(xiàn)
[1] 桑健,趙永恒,,崔辰州.中國虛擬天文臺數(shù)據(jù)訪問服務(wù)[J].天文研究與技術(shù):國家天文臺臺刊,,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] 高丹,張彥霞,,趙永恒.中國虛擬天文臺交叉證認(rèn)工具的開發(fā)和應(yīng)用[J].天文學(xué)報,,2008,,49(3):348-358.
[6] BOCH T,F(xiàn)ERNIQUE 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,,F(xiàn)ERNIQUE 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] 邵惠娟,趙永恒.中國虛擬天文臺可視化服務(wù)[J].天文研究與技術(shù):國家天文臺臺刊,,2004,,1(2):152-159.
作者信息:
梁青青1,2,,李 暉1,,2,周 彧1,,2,,陳 梅1,2,,朱 明3
(1.貴州大學(xué) 貴州省先進(jìn)計算與醫(yī)療信息服務(wù)工程實驗室,,貴州 貴陽550025;
2.貴州大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,,貴州 貴陽550025,;3.國家天文臺 中國科學(xué)院,北京100016)