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