周鑫磊,王 威,王 鋒,3,鄧 輝,柳翠寅,胡 杰, 李少良,王璐璐,周士然
(1. 昆明理工大學(xué)云南省計(jì)算機(jī)技術(shù)應(yīng)用重點(diǎn)實(shí)驗(yàn)室,云南 昆明 650500;2. 中國科學(xué)院國家天文臺(tái),北京 100012;3. 中國科學(xué)院云南天文臺(tái),云南 昆明 650011)
基于QT的MUSER觀測(cè)數(shù)據(jù)多屏圖形化實(shí)時(shí)顯示的設(shè)計(jì)與實(shí)現(xiàn)*
周鑫磊1,王 威2,王 鋒1,3,鄧 輝1,柳翠寅1,胡 杰1, 李少良1,王璐璐1,周士然1
(1. 昆明理工大學(xué)云南省計(jì)算機(jī)技術(shù)應(yīng)用重點(diǎn)實(shí)驗(yàn)室,云南 昆明 650500;2. 中國科學(xué)院國家天文臺(tái),北京 100012;3. 中國科學(xué)院云南天文臺(tái),云南 昆明 650011)
對(duì)天文望遠(yuǎn)鏡的觀測(cè)數(shù)據(jù)或控制過程狀態(tài)進(jìn)行實(shí)時(shí)的圖形化顯示,是天文儀器研制過程中的一個(gè)重要環(huán)節(jié)。隨著Linux操作系統(tǒng)在天文領(lǐng)域的廣泛應(yīng)用,如何開發(fā)基于LINUX圖形界面的實(shí)時(shí)圖形化顯示系統(tǒng)成為一種迫切需求。針對(duì)我國明安圖超寬頻射電日像儀(Mingantu Ultrawide Spectral Radio Heliograph,MUSER,原名為中國射電頻譜日像儀,CSRH)實(shí)時(shí)觀測(cè)數(shù)據(jù)圖形化顯示的要求,給出了一種利用QT架構(gòu)進(jìn)行實(shí)時(shí)、多屏的圖形化展現(xiàn)方法,并以互相關(guān)與自相關(guān)數(shù)據(jù)實(shí)時(shí)展現(xiàn)為例進(jìn)行了驗(yàn)證。實(shí)驗(yàn)表明本方法完全可以滿足MUSER實(shí)時(shí)觀測(cè)監(jiān)控的要求,并且具有簡單、快捷、可移植性好等優(yōu)點(diǎn),克服了LINUX下X-WINDOW編程困難等難題,對(duì)其它望遠(yuǎn)鏡設(shè)計(jì)類似功能有一定的參考價(jià)值。
射電日像儀;QT;圖形化展現(xiàn)
為了推動(dòng)太陽射電觀測(cè)技術(shù)的發(fā)展,由我國天文學(xué)家提出明安圖超寬頻射電日像儀(MUSER, 原名為中國射電頻譜日像儀CSRH),可以在厘米-分米波段上對(duì)太陽同時(shí)進(jìn)行高空間、高時(shí)間和高頻率分辨率觀測(cè),以更好地研究太陽的動(dòng)力學(xué)性質(zhì)[1]。MUSER是國家天文臺(tái)明安圖觀測(cè)站的重要組成部分[2],分為兩個(gè)綜合孔徑陣列。第1期MUSER-I低頻陣(0.4~2 GHz)由40面4.5 m天線成,在64個(gè)頻率上成像;第2期MUSER-Ⅱ高頻陣(2~15 GHz)由60面2 m天線組成,在528個(gè)頻率上成像。
MUSER系統(tǒng)包括若干子系統(tǒng),如數(shù)據(jù)采集系統(tǒng)、數(shù)據(jù)處理系統(tǒng)、觀測(cè)狀態(tài)實(shí)時(shí)監(jiān)視系統(tǒng)和數(shù)據(jù)可視化展現(xiàn)系統(tǒng)等。數(shù)據(jù)采集系統(tǒng)對(duì)天線接收的射頻信號(hào)經(jīng)過模數(shù)轉(zhuǎn)換后得到的數(shù)據(jù)進(jìn)行采集,然后發(fā)送至數(shù)據(jù)處理系統(tǒng)。數(shù)據(jù)處理系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行預(yù)處理后,可進(jìn)一步生成臟圖,進(jìn)行潔化,也可以根據(jù)需要保存為UVFITS或FITS-IDI等文件格式[3]。
隨著MUSER硬件建設(shè)的完成,設(shè)計(jì)實(shí)現(xiàn)直觀的觀測(cè)狀態(tài)監(jiān)視與觀測(cè)數(shù)據(jù)可視化展現(xiàn)系統(tǒng)成為當(dāng)前的重要工作之一。通過快速圖形化展現(xiàn)讓觀測(cè)人員隨時(shí)直觀地、方便地監(jiān)控觀測(cè)數(shù)據(jù)和儀器狀態(tài),對(duì)保障觀測(cè)人員快速掌握望遠(yuǎn)鏡工作狀況與觀測(cè)結(jié)果有明顯的價(jià)值。
微軟公司的Windows操作系統(tǒng),以其直觀的用戶界面,友好的人機(jī)交互方式,一直是我國應(yīng)用最為廣泛的操作系統(tǒng)。我國很多望遠(yuǎn)鏡系統(tǒng),在實(shí)現(xiàn)望遠(yuǎn)鏡控制、實(shí)時(shí)儀器狀態(tài)顯示等功能時(shí),都基于Windows操作系統(tǒng)。最為典型的如云南天文臺(tái)1 m望遠(yuǎn)鏡,澄江紅外太陽望遠(yuǎn)鏡等。主要原因在于Windows開發(fā)工具完整,編程相對(duì)簡單,以Visual C++為代表的開發(fā)平臺(tái)在天文領(lǐng)域有廣泛的應(yīng)用。
相比而言,國外類似的系統(tǒng),其主要控制與顯示環(huán)境均采用LINUX操作系統(tǒng),通過X-WINDOW實(shí)現(xiàn)顯示。如法國南茜與日本野邊山的射電太陽日像儀系統(tǒng)。但是,由于X-WINDOW開發(fā)難度較大,國內(nèi)天文軟件一般都回避在X-WINDOW上進(jìn)行開發(fā)。X-WINDOW是采用面向?qū)ο蟮乃枷耄肅語言開發(fā)的一個(gè)工業(yè)標(biāo)準(zhǔn)圖形用戶界面軟件系統(tǒng),由XLIB和XToolkit工具箱組成。在開發(fā)中,需要全面掌握XLIB中的底層函數(shù)以及XToolkit工具箱,雖然XToolkit提供了封裝很好的高級(jí)函數(shù)庫和對(duì)象元集合,但整體來看,開發(fā)與調(diào)試的工作量都非常大[4]。
隨著軟件技術(shù)的發(fā)展,涌現(xiàn)了一些新的用戶界面開發(fā)手段,這為天文望遠(yuǎn)鏡前端的觀測(cè)數(shù)據(jù)進(jìn)行圖形化實(shí)現(xiàn)提供了多種可能的選擇,其中之一就是QT開發(fā)框架。QT是1991年發(fā)展起來的一個(gè)跨平臺(tái)的C++圖形用戶界面應(yīng)用程序框架。它為應(yīng)用程序開發(fā)者提供了建立圖形用戶界面所需要的函數(shù)庫。QT很容易擴(kuò)展,并且允許真正地面向組件編程?;旧希琎T同X-WINDOW上的Motif、Openwin、GTK等圖形界面庫和Windows平臺(tái)上的MFC、OWL、VCL、ATL同類型。但QT是一個(gè)跨平臺(tái)的C++ GUI應(yīng)用構(gòu)架,Linux中的KDE桌面環(huán)境就是建立在QT庫的基礎(chǔ)上。
顯然,QT框架的出現(xiàn),為天文望遠(yuǎn)鏡的實(shí)時(shí)圖形化展現(xiàn)提供了更好的支持。一方面,QT框架可以在不同的操作系統(tǒng)下運(yùn)行,這意味著在天文望遠(yuǎn)鏡軟件系統(tǒng)開發(fā)中,可以不受具體操作系統(tǒng)的制約;另一方面,采用QT技術(shù)可以避免學(xué)習(xí)較難的MFC和XLIB編程,降低了學(xué)習(xí)曲線,加快了開發(fā)進(jìn)程。
通常一臺(tái)計(jì)算機(jī)只接一個(gè)顯示器,通過平鋪窗口的方法實(shí)現(xiàn)多幅圖像同時(shí)顯示。隨著硬件成本的降低,為擴(kuò)展顯示區(qū)域,目前最常見的是多屏顯示技術(shù),即一臺(tái)計(jì)算機(jī)接多個(gè)顯示器以擴(kuò)展顯示桌面。該技術(shù)也被稱作多監(jiān)視器技術(shù)、多頭技術(shù)或雙頭顯示技術(shù)等[5]。
目前在Linux環(huán)境下的多屏幕顯示技術(shù),主流采用Linux自帶的Xinerama擴(kuò)展技術(shù)[6]。該技術(shù)能實(shí)現(xiàn)Linux環(huán)境的多屏顯示,但是需要修改多屏配置文件并重新啟動(dòng)機(jī)器實(shí)現(xiàn),極為繁瑣。相比Linux自帶的Xinerama擴(kuò)展技術(shù),Qt圖形圖像庫提供了一套用以實(shí)現(xiàn)多屏顯示的應(yīng)用程序編程接口(Application Programming Interface, API),通過調(diào)用應(yīng)用程序編程接口即可輕松實(shí)現(xiàn)Linux下的多屏顯示而不必繁瑣地像Xinerama擴(kuò)展技術(shù)那樣修改配置文件。
圖1 Qt多屏顯示原理
Qt多屏顯示原理見圖1,計(jì)算機(jī)接入多個(gè)顯示屏以后,將這些顯示屏的物理顯示空間并集起來成為一個(gè)虛擬顯示屏。其中,主顯示屏為Linux系統(tǒng)啟動(dòng)時(shí)顯示桌面的顯示器,其它顯示屏依次設(shè)置名稱為從顯示屏1、從顯示屏2和從顯示屏3在虛擬顯示屏中。虛擬顯示屏坐標(biāo)原點(diǎn)(0, 0)位于主顯屏左上角,其它從顯示屏依位置不同相對(duì)于坐標(biāo)原點(diǎn)作相應(yīng)的坐標(biāo)平移。MUSER中選用的顯示屏是三星液晶顯示屏,分辨率為1920 × 1080,因此虛擬顯示屏的分辨率為7680 × 1080,在整個(gè)虛擬屏中主顯示屏的坐標(biāo)為(0, 0),從顯示屏1的坐標(biāo)為(1920, 0),從顯示屏2和從顯示屏3的坐標(biāo)分別為(3840, 0)、(5760, 0)。
Qt多屏顯示應(yīng)用程序開發(fā)時(shí)面對(duì)的是虛擬顯示屏。程序?qū)崿F(xiàn)時(shí)利用Qt庫中QApplication對(duì)象提供的desktop()方法獲取虛擬顯示屏。顯示屏只有一個(gè)時(shí),虛擬顯示屏的大小即為所添加顯示屏的大小,有多個(gè)顯示屏?xí)r,虛擬顯示屏的大小為所有顯示屏的并集[7]。通過將MUSER需要進(jìn)行可視化圖形展現(xiàn)的多個(gè)圖像指定顯示到虛擬顯示屏中對(duì)應(yīng)各個(gè)顯示屏的坐標(biāo)位置上即可實(shí)現(xiàn)觀測(cè)數(shù)據(jù)可視化圖像多屏顯示。
MUSER觀測(cè)數(shù)據(jù)的實(shí)時(shí)展現(xiàn)是監(jiān)視系統(tǒng)的關(guān)鍵組成部分,用以實(shí)現(xiàn)對(duì)低頻陣與高頻陣觀測(cè)數(shù)據(jù)的實(shí)時(shí)展現(xiàn),總體框架見圖2。觀測(cè)數(shù)據(jù)的實(shí)時(shí)展現(xiàn)包括4部分:互相關(guān)圖、自相關(guān)圖、臟圖、設(shè)備狀態(tài)圖。
圖2 MUSER項(xiàng)目總體框架圖
為了有效地對(duì)觀測(cè)數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控,由數(shù)據(jù)處理系統(tǒng)定時(shí)處理完成的數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送到數(shù)據(jù)監(jiān)控系統(tǒng),數(shù)據(jù)監(jiān)控系統(tǒng)再通過圖形化的方式將數(shù)據(jù)進(jìn)行展現(xiàn)。根據(jù)觀測(cè)的要求,在一定的間隔時(shí)間內(nèi)(如低頻陣間隔為5 s,高頻陣為1 min)可以顯示低頻陣64個(gè)頻率的觀測(cè)數(shù)據(jù)以及高頻陣528個(gè)頻率的觀測(cè)數(shù)據(jù)。實(shí)現(xiàn)時(shí),為盡可能降低硬件開銷,采用一機(jī)多屏的顯示模式,即一臺(tái)機(jī)器同時(shí)接4個(gè)顯示器。
4.1 硬件支持
MUSER項(xiàng)目采用的顯示服務(wù)器安裝了Nvidia NVS440顯卡,Nvidia NVS440顯卡支持兩個(gè)顯示輸出口,每個(gè)輸出口可外接2個(gè)顯示屏,共可外接4個(gè)顯示屏。
4.2 多屏配置
服務(wù)器安裝的操作系統(tǒng)為CentOS Linux,版本為6.5。該操作系統(tǒng)支持圖形化界面操作,可通過圖形化界面在Nvidia X Server Setting的X Server Display Configuration選項(xiàng)中對(duì)Nvidia NVS440顯卡進(jìn)行多屏配置。外接顯示屏數(shù)量會(huì)顯示在X Server Display Configuration中的display選項(xiàng)中,默認(rèn)情況下顯示屏是關(guān)閉的,display選項(xiàng)不展現(xiàn)顯示屏的信息,通過在display選項(xiàng)中選定顯示屏選擇enable選項(xiàng)打開顯示屏,可展現(xiàn)顯示屏的分辨率和大小等信息。在display選項(xiàng)中拖動(dòng)顯示屏的位置可以設(shè)定外接顯示屏在虛擬顯示屏中的位置。
4.3 編程實(shí)現(xiàn)
QT提供的QtGui庫中QApplictaion對(duì)象提供了一個(gè)desktop()方法,通過該方法可以獲取一個(gè)虛擬顯示屏對(duì)象。該對(duì)象封裝了許多方法,其中numScreens()方法可獲取外接顯示屏的數(shù)量,primaryScreen()方法可獲取主顯示屏在虛擬顯示屏中的索引號(hào)。在虛擬顯示屏中默認(rèn)的主顯示屏的索引號(hào)為0,其余從顯示屏索引號(hào)依次在虛擬顯示屏中的相對(duì)主顯示屏索引號(hào)從左往右遞增。此外,虛擬顯示屏對(duì)象還提供了用以獲取虛擬顯示屏中指定索引號(hào)的外接顯示屏以及外接顯示屏物理信息的方法screen(screenIndex)和screenGeometry(screenIndex),其中參數(shù)screenIndex為外接顯示屏在虛擬顯示屏中的索引號(hào)。
編碼實(shí)現(xiàn)時(shí),通過QApplictaion對(duì)象提供的desktop()方法創(chuàng)建一個(gè)虛擬顯示屏對(duì)象dtop。調(diào)用dtop對(duì)象中的primaryScreen()方法獲取主顯示屏索引號(hào),調(diào)用screenGeometry(screenIndex)方法獲取虛擬顯示屏中索引號(hào)為screenIndex的外接顯示屏的物理信息,如分辨率,該顯示屏在虛擬顯示屏中的位置等,將其保存到一個(gè)列表screenList[]中。創(chuàng)建基于QtGui.QMainWindow的應(yīng)用程序,設(shè)置該應(yīng)用程序顯示窗口大小為列表screenList[screenIndex]中索引號(hào)screenIndex的顯示屏的分辨率。接著使用dtop對(duì)象的screen(screenIndex)方法獲取虛擬顯示屏中索引號(hào)為screenIndex的顯示屏,并獲取該顯示屏的窗口部件QWidget對(duì)象。將創(chuàng)建的窗口應(yīng)用程序添加到該QWidget對(duì)象中,通過show()方法顯示。以同樣的方法創(chuàng)建基于顯示屏數(shù)量的QtGui.QMainWindow的應(yīng)用程序,即可實(shí)現(xiàn)多屏顯示。實(shí)現(xiàn)多屏顯示的關(guān)鍵代碼如下:
importsysfromPyQt4importQtGui,QtCoreimportwindowaswin;#QtGui.QMainWindow應(yīng)用程序if__name__==′__main__′: app=QtGui.QApplication(sys.a(chǎn)rgv) dtop=QtGui.QApplication.desktop();#獲取虛擬顯示屏對(duì)象dtop screenList=[];#顯示屏信息列表 windowList=[];#創(chuàng)建應(yīng)用程序列表 screenCount=dtop.numScreens();#獲取外接顯示屏數(shù)量 screenPrim=dtop.primaryScreen();#獲取主顯示屏 foriinrange(screenCount): screen=screenData(); #自定義類,用以封裝顯示屏信息 screen.setScreenNum(i); screen.rect=dtop.screenGeometry(screenPrim+i);#獲取顯示屏的信息 screenList.a(chǎn)ppend(screen);#將顯示屏信息保存到列表 foriinrange(screenCount): window=win.MainWindow(imageType[i]); #創(chuàng)建QtGui.QMainWindow應(yīng)用程序 #imageType為自定義圖像類型列表 window.resize(screenList[i].rect.width(),screenList[i].rect.height()); #設(shè)置該應(yīng)用程序窗口大小 windowList.a(chǎn)ppend(window);#將應(yīng)用程序保存到列表 foriinrange(screenCount): widget=dtop.screen(i); #獲取顯示屏的QWidegt對(duì)象 layout=QtGui.QGridLayout(); layout.a(chǎn)ddWidget(windowList[i]);widget.setLayout(layout);#將應(yīng)用程序添加到QWidegt對(duì)象 windowList[i].show(); #將應(yīng)用程序顯示在顯示屏 sys.exit(app.exec_())
在MUSER中,為了直觀地判斷觀測(cè)數(shù)據(jù),參考日本野邊山射電日像儀系統(tǒng)的方法,設(shè)計(jì)實(shí)現(xiàn)了兩種圖形顯示方式,分別監(jiān)控可見度數(shù)據(jù)的互相關(guān)數(shù)據(jù)與自相關(guān)數(shù)據(jù),并通過多屏顯示方式將自相關(guān)數(shù)據(jù)和互相關(guān)數(shù)據(jù)顯示出來。通過互相關(guān)數(shù)據(jù),可以直觀地查看各基線的情況;自相關(guān)圖可以直觀地顯示各個(gè)天線數(shù)據(jù)接收的好壞。
5.1 自相關(guān)與互相關(guān)圖
互相關(guān)圖結(jié)構(gòu)設(shè)計(jì)如圖3,X軸與Y軸均表示天線,圖的左下角表示幅值,右上角表示相位值。自相關(guān)圖結(jié)構(gòu)設(shè)計(jì)如圖4,X軸表示天線,Y軸表示功率值大小。
圖3 互相關(guān)圖結(jié)構(gòu)示意圖
圖4 自相關(guān)圖結(jié)構(gòu)示意圖
根據(jù)設(shè)計(jì)的結(jié)構(gòu)以及相關(guān)計(jì)算方法通過QtGui庫繪畫類對(duì)象QImag和QPixmap繪制自相關(guān)與互相關(guān)圖如圖5、圖6。在互相關(guān)圖中一個(gè)互相關(guān)點(diǎn)的顏色從黑色到白色范圍內(nèi)變化,以表示基線的好壞(極值黑色表示正常,極值白色表示損壞)。自相關(guān)圖的功率值以柱狀形式表示,圖中每一根柱狀條長度表示一根天線的功率值,柱狀條越高功率值越大。
圖5 互相關(guān)圖
圖6 自相關(guān)圖
5.2 自相關(guān)圖與互相關(guān)圖的顯示
MUSER數(shù)據(jù)監(jiān)視系統(tǒng)通過一種消息中間件技術(shù),即ZeroMQ(http://www.zeromq.org)接收來自數(shù)據(jù)處理系統(tǒng)發(fā)送的可見度數(shù)據(jù)。可見度數(shù)據(jù)以數(shù)據(jù)幀形式發(fā)送,一幀可見度數(shù)據(jù)有16個(gè)通道,一個(gè)通道可生成一張自相關(guān)圖或者互相關(guān)圖,一幀可見度數(shù)據(jù)可生成16張自相關(guān)圖或者互相關(guān)圖。一幀可見度數(shù)據(jù)的自相關(guān)圖或者互相關(guān)圖以窗口的形式在屏幕上顯示,利用多線程同時(shí)創(chuàng)建顯示自相關(guān)和互相關(guān)圖的顯示窗口應(yīng)用程序即實(shí)現(xiàn)多屏顯示。
5.3 多屏顯示效果與性能分析
以互相關(guān)和自相關(guān)圖為例進(jìn)行實(shí)驗(yàn)得到多屏顯示效果如圖7。采用QT技術(shù)實(shí)現(xiàn)MUSER-I觀測(cè)數(shù)據(jù)多屏的圖形化顯示能在3 s內(nèi)將一幀可見度數(shù)據(jù)相關(guān)計(jì)算并通過多屏顯示,遠(yuǎn)遠(yuǎn)小于數(shù)據(jù)處理系統(tǒng)每5 s發(fā)送一幀數(shù)據(jù)的時(shí)間間隔[8]。一幀可見度數(shù)據(jù)包含16個(gè)通道,即能在3 s實(shí)現(xiàn)16張相關(guān)圖的顯示,每一張相關(guān)圖繪制并顯示的時(shí)間為0.187 5 s,滿足MUSER數(shù)據(jù)監(jiān)視系統(tǒng)實(shí)時(shí)性要求。同時(shí),每一幀數(shù)據(jù)生成的16幅自相關(guān)圖和互相關(guān)圖能實(shí)時(shí)地在多屏上顯示,方便觀測(cè)人員直觀地對(duì)數(shù)據(jù)進(jìn)行分析和判斷。
圖7 多屏顯示
本文詳細(xì)描述了基于QT技術(shù)對(duì)MUSER獲得的觀測(cè)數(shù)據(jù)進(jìn)行多屏圖形化展現(xiàn)的方法。顯然,利用QT能實(shí)時(shí)有效地繪制可見度數(shù)據(jù)的相關(guān)圖并直觀地通過多屏顯示,實(shí)驗(yàn)結(jié)果表明,QT框架效率較高,繪制一幀可見度數(shù)據(jù)16張相關(guān)圖像并在多屏上顯示只需要3 s左右,能夠滿足MUSER監(jiān)視系統(tǒng)實(shí)時(shí)性要求,系統(tǒng)原型已經(jīng)在明安圖觀測(cè)站投入運(yùn)行,取得了良好的應(yīng)用效果。
此外,QT的開發(fā)過程較為簡單,完成的代碼可以在不同的操作系統(tǒng)中執(zhí)行,并得到同樣的顯示效果,這有利于望遠(yuǎn)鏡監(jiān)控系統(tǒng)的開發(fā)。
[1] 顏毅華, 張堅(jiān), 陳志軍, 等. 關(guān)于太陽厘米-分米波段頻譜日像儀研究進(jìn)展[J]. 天文研究與技術(shù)——國家天文臺(tái)臺(tái)刊, 2006, 3(2): 91-98. Yan Yihua, Zhang Jian, Chen Zhijun, et al. Progress on Chinese radioheliograph in cm-dm wavebands[J]. Astronomical Research & Technology——Publications of National Astronomical Observatories of China, 2006, 3(2): 91-98.
[2] 高姣姣, 王鋒, 戴偉, 等. 面向射電日像儀的隨機(jī)組結(jié)構(gòu)剖析與文件設(shè)計(jì)[J]. 天文研究與技術(shù)——國家天文臺(tái)臺(tái)刊, 2013, 10(4): 365-371. Gao Jiaojiao, Wang Feng, Dai Wei, et al. An analysis of the radom-group data format and a design of the data file structure for a solar radio heligraph[J]. Astronomical Research & Technology ——Publications of National Astronomical Observatories of China, 2013, 10(4): 365-371.
[3] 梅盈, 劉東浩, 王鋒, 等. 中國頻譜射電日像儀FITS-IDI文件格式研究[J]. 天文研究與技術(shù)——國家天文臺(tái)臺(tái)刊, 2014, 11(4): 388-395. Mei Ying, Liu Donghao, Wang Feng, et al. A study of the FITS-IDI format for the Chinese Spectral Radio Heligraph[J]. Astronomical Research & Technology——Publications of National Astronomical Observatories of China, 2014, 11(4): 388-395.
[4] 邵才瑞, 張福明, 李洪奇. 用C++開發(fā)X-Window/Motif用戶界面的OOP技術(shù)[J]. 計(jì)算機(jī)工程, 2000, 26(5): 87-89. Shao Caifu, Zhang Fuming, Li Hongqi. The OOP techniques for designing X-Window/Motif user interface with C++[J]. Computer Engineering, 2000, 26(5): 87-89.
[5] 林剛, 張鋒, 張登福. 多屏顯示技術(shù)及其在圖像處理系統(tǒng)中的應(yīng)用[J]. 計(jì)算機(jī)應(yīng)用研究, 2002(4): 154-155. Lin Gang, Zhang Feng, Zhang Dengfu. The technique of multi-monitor and its application in image processing system[J]. Application Research of Computers, 2002(4): 154-155.
[6] 霍明旭,丁扣寶. Linux下進(jìn)行帶Xinerama擴(kuò)展的多屏顯示的應(yīng)用與開發(fā)[J]. 江南大學(xué)學(xué)報(bào): 自然科學(xué)版, 2006, 5(2): 166-170. Huo Mingxu, Ding Koubao. The application development of the multihead display with Xinerama under Linux[J]. Journal of Southern Yangtze University: Natural Science Edition, 2006, 5(2): 166-170.
[7] Mark S. Rapid GUI programming with Python and Qt (prentice hall open source software development) [M]. London: Prentice Hall, 2007.
[8] 馬榮庭, 劉飛, 鄧輝, 等. CSRH-I觀測(cè)數(shù)據(jù)接收子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 天文研究與技術(shù), 2015, 12(1): 63-69. Ma Rongting, Liu Fei, Deng Hui, et al. The design and implementation of a data-receiving subsystem of the CSRH-I[J]. Astronomical Research & Technology, 2015, 12(1): 63-69.
Design and Implementation of a Multi-Monitor Display System Based on the Qt for NAOC MUSER Observations
Zhou Xinlei1, Wang Wei2, Wang Feng1,3, Deng Hui1, Liu Cuiyin1, Hu Jie1, Li Shaoliang1, Wang Lulu1, Zhou Shiran1
(1. Key Laboratory of Applications of Computer Technology of the Yunnan Province, University of Science and Technology of Kunming, Kunming 650500, China; 2. National Astronomical Observatories, Chinese Academy of Sciences, Beijing 100012, China; 3. Yunnan Observatories, Chinese Academy of Sciences, Kunming 650011, China, Email: wf@cnlab.net)
To achieve real-time graphical display of observational data or control processes/statuses of an astronomical telescope is an important part in the development process of instruments for the telescope. As Linux systems are being extensively applied in astronomy, it becomes a pressing demand to develop real-time graphical-display systems based on Linux graphical interfaces for astronomical telescopes. In this paper, we present a method that uses a Qt framework to achieve real-time multi-monitor graphical display to meet the requirements for the MUSER (Mingantu Ultrawide Spectral Radio heliograph, which is originally called the Chinese Spectral Radio Heliograph, or CSRH). We have validated the method through real-time display of cross correlations and auto-correlations of signals detected by the radio antennas of the MUSER. Our experimental results show that our method can meet the requirements of real-time observational monitoring of the MUSER. It has merits such as simplicity, fast response, and excellent portability. The method also overcomes the difficulties of X-WINDOW programming under a LINUX system. Our study can serve as a reference for designs of systems of similar functions on other telescopes.
Solar radio heliograph; QT; Image display
國家自然科學(xué)基金 (U1231205) 資助.
2015-03-02;修定日期:2015-04-01
周鑫磊,男,碩士. 研究方向:計(jì)算機(jī)應(yīng)用. Email: zhouxinlei@cnlab net
王 鋒,男,教授. 研究方向:天文技術(shù)方法和計(jì)算機(jī)技術(shù)應(yīng)用. Email: wf@cnlab net
TP334.3
A
1672-7673(2015)04-0503-07
CN 53-1189/P ISSN 1672-7673