楊長(zhǎng)春,李正剛,陳宇超,許 駿
(1. 中國(guó)科學(xué)院云南天文臺(tái),云南 昆明 650011;2. 中國(guó)科學(xué)院大學(xué),北京 100049)
?
一米新真空太陽(yáng)望遠(yuǎn)鏡光譜掃描觀測(cè)系統(tǒng)設(shè)計(jì)*
楊長(zhǎng)春1,2,李正剛1,陳宇超1,2,許駿1
(1. 中國(guó)科學(xué)院云南天文臺(tái),云南 昆明650011;2. 中國(guó)科學(xué)院大學(xué),北京100049)
摘要:1m新真空太陽(yáng)望遠(yuǎn)鏡(New Vacuum Solar Telescope, NVST)是國(guó)內(nèi)用于對(duì)太陽(yáng)進(jìn)行觀測(cè)和研究的大型科研設(shè)備,針對(duì)太陽(yáng)活動(dòng)區(qū)光譜觀測(cè)的需求,在現(xiàn)有的大色散光譜儀及多波段光譜儀基礎(chǔ)上,設(shè)計(jì)了光譜掃描設(shè)備,并基于C#設(shè)計(jì)了一套觀測(cè)控制系統(tǒng)軟件,實(shí)現(xiàn)掃描設(shè)備的運(yùn)動(dòng)控制和觀測(cè)數(shù)據(jù)的采集。進(jìn)行光譜掃描觀測(cè)時(shí),計(jì)算機(jī)控制掃描設(shè)備步進(jìn)運(yùn)動(dòng),并利用圖像采集卡通過Camera Link總線采集CCD/CMOS相機(jī)的探測(cè)數(shù)據(jù),基于多線程技術(shù)采集觀測(cè)數(shù)據(jù),將采集的圖像數(shù)據(jù)存儲(chǔ)成FITS(Flexible Image Transport System)文件,并將光譜圖像數(shù)據(jù)處理成灰度圖像用于軟件界面監(jiān)視。此套軟件已用于1m太陽(yáng)望遠(yuǎn)鏡光譜掃描觀測(cè),測(cè)試結(jié)果滿足預(yù)期功能需求,為后續(xù)觀測(cè)系統(tǒng)功能升級(jí)提供了良好的擴(kuò)展性。
關(guān)鍵詞:1m紅外太陽(yáng)望遠(yuǎn)鏡;狹縫掃描;光譜觀測(cè);圖像采集;FITS
在太陽(yáng)大氣結(jié)構(gòu)演化和劇烈活動(dòng)中,磁場(chǎng)發(fā)揮著重要作用,通常磁場(chǎng)活動(dòng)會(huì)產(chǎn)生如太陽(yáng)黑子、耀斑、日珥及日冕物質(zhì)拋射等現(xiàn)象[1]。利用偏振成像和光譜可測(cè)量太陽(yáng)矢量磁場(chǎng)[2]。磁場(chǎng)測(cè)量也是許多太陽(yáng)望遠(yuǎn)鏡的重要科學(xué)目標(biāo)[3],如瑞典太陽(yáng)望遠(yuǎn)鏡(Swedish Solar Telescope, SST)、日本的無圓頂太陽(yáng)望遠(yuǎn)鏡(Domeless Solar Telescope, DST)、美國(guó)的新太陽(yáng)望遠(yuǎn)鏡(New Solar Telescope, NST)等太陽(yáng)望遠(yuǎn)鏡;1m新真空太陽(yáng)望遠(yuǎn)鏡(New Vacuum Solar Telescope, NVST)[4]作為撫仙湖太陽(yáng)觀測(cè)站的主要觀測(cè)設(shè)備,是國(guó)內(nèi)用于太陽(yáng)物理研究的大型科研設(shè)備,其重要科學(xué)目標(biāo)有針對(duì)太陽(yáng)活動(dòng)區(qū)磁場(chǎng)的高分辨率偏振成像觀測(cè)和光譜掃描觀測(cè)。
光譜掃描作為太陽(yáng)磁場(chǎng)測(cè)量的重要部分,利用1m太陽(yáng)望遠(yuǎn)鏡實(shí)現(xiàn)太陽(yáng)光譜掃描觀測(cè),通過光譜掃描觀測(cè)方法對(duì)太陽(yáng)進(jìn)行觀測(cè)研究,在原有的大色散光譜儀及多波段光譜儀基礎(chǔ)上,需要設(shè)計(jì)狹縫掃描機(jī)構(gòu),并基于掃描設(shè)備實(shí)現(xiàn)光譜掃描觀測(cè)。
在太陽(yáng)塔的設(shè)備結(jié)構(gòu)中,在光譜儀消旋轉(zhuǎn)臺(tái)狹縫之后正交布置有大色散光譜儀和多波段光譜儀系統(tǒng)。為了得到太陽(yáng)像的二維光譜信息,設(shè)計(jì)狹縫掃描系統(tǒng),利用一套電動(dòng)升降臺(tái)和兩對(duì)平面反射鏡組成光路平移機(jī)構(gòu)??刂粕蹬_(tái)帶動(dòng)平面鏡步進(jìn)運(yùn)動(dòng),鏡面反射作用將光路平移,使太陽(yáng)光斑像以步進(jìn)掃描方式通過狹縫,進(jìn)入狹縫后的大色散光譜儀或多波段光譜儀系統(tǒng),利用CCD相機(jī)采集光譜圖像,并將采集的光譜圖像數(shù)據(jù)存儲(chǔ)為FITS文件。
1系統(tǒng)硬件設(shè)備
圖1描述了1m太陽(yáng)望遠(yuǎn)鏡終端儀器設(shè)備的結(jié)構(gòu),光譜掃描系統(tǒng)涉及的主要硬件設(shè)備,包含光譜儀消旋轉(zhuǎn)臺(tái)上的電動(dòng)掃描設(shè)備、CCD相機(jī)探測(cè)器以及光柵分光儀等。
在消旋轉(zhuǎn)臺(tái)上設(shè)計(jì)有寬度可調(diào)節(jié)的狹縫窗口,當(dāng)太陽(yáng)光斑像逐步通過狹縫后,經(jīng)由大色散或多波段光譜儀系統(tǒng),進(jìn)入消旋轉(zhuǎn)臺(tái)上的PCO相機(jī)探測(cè)器成像。消旋轉(zhuǎn)臺(tái)上放置的計(jì)算機(jī)利用Matrox或Silicon系列圖像采集卡,通過Camera Link總線采集CCD/CMOS相機(jī)探測(cè)圖像數(shù)據(jù)。為使太陽(yáng)光斑像逐步掃過狹縫,借鑒了新太陽(yáng)望遠(yuǎn)鏡用于光譜掃描的平面鏡組平移光路的思想[5],設(shè)計(jì)了圖1所示的一套電動(dòng)升降臺(tái)和兩對(duì)平面反射鏡。電動(dòng)升降臺(tái)需要實(shí)現(xiàn)微米級(jí)的精密運(yùn)動(dòng)控制,以保證高空間分辨率的圖像數(shù)據(jù),選取卓立漢光公司生產(chǎn)的電控升降臺(tái),并特別設(shè)計(jì)了架設(shè)掃描系統(tǒng)設(shè)備及光路分光設(shè)備的上平臺(tái)儀器轉(zhuǎn)換中樞。
圖11m太陽(yáng)望遠(yuǎn)鏡終端儀器結(jié)構(gòu)示意圖
Fig.1Schematic diagram of NVST terminal
2系統(tǒng)軟件設(shè)計(jì)
光譜掃描觀測(cè)系統(tǒng)工作時(shí),計(jì)算機(jī)需要控制掃描機(jī)構(gòu)的運(yùn)動(dòng)過程,同時(shí)控制CCD相機(jī)進(jìn)行圖像數(shù)據(jù)采集,并實(shí)現(xiàn)光譜圖像數(shù)據(jù)的存儲(chǔ)。
2.1掃描設(shè)備運(yùn)動(dòng)控制
基于掃描設(shè)備實(shí)現(xiàn)光譜掃描觀測(cè),如圖2(a)為光譜掃描機(jī)構(gòu)實(shí)物及運(yùn)動(dòng)控制器。掃描機(jī)構(gòu)中涉及的電控設(shè)備主要是由步進(jìn)電機(jī)驅(qū)動(dòng)的電動(dòng)升降臺(tái),圖2(b)為描述工作原理的運(yùn)動(dòng)示意圖,圖2(c)反映了設(shè)備運(yùn)動(dòng)與光路平移的數(shù)值關(guān)系(L=2d)。
圖2光譜掃描設(shè)備結(jié)構(gòu)圖。(a) 掃描機(jī)構(gòu)及運(yùn)動(dòng)控制器; (b) 掃描設(shè)備工作原理; (c) 掃描運(yùn)動(dòng)與光路平移關(guān)系
Fig.2The structure of spectral scanning equipment
光譜掃描時(shí),控制電動(dòng)升降臺(tái)步進(jìn)運(yùn)動(dòng),光路在水平方向平移的位移量與升降臺(tái)在垂直面的移動(dòng)距離成兩倍關(guān)系。由于目前的狹縫寬度為200 μm,后續(xù)觀測(cè)中還會(huì)選擇100 μm、50 μm等窄狹縫,因此,掃描步幅作為可調(diào)節(jié)參量,預(yù)設(shè)幅值選取100 μm,并可靈活調(diào)節(jié)步幅大?。簧蹬_(tái)每步進(jìn)運(yùn)動(dòng)一步,光路平移兩倍步長(zhǎng)距離,步進(jìn)停止時(shí)圖像采集,根據(jù)采集圖像區(qū)域大小設(shè)定掃描運(yùn)動(dòng)步數(shù),掃描步數(shù)亦作為可調(diào)參量;掃描完一組圖像時(shí)需要恢復(fù)掃描設(shè)備至設(shè)定零位,并設(shè)定可調(diào)掃描組數(shù)參量,實(shí)現(xiàn)升降臺(tái)的往復(fù)掃描運(yùn)動(dòng)。
掃描系統(tǒng)中電控升降臺(tái)的基本性能指標(biāo)如表1。掃描機(jī)構(gòu)的運(yùn)動(dòng)部件由步進(jìn)電機(jī)驅(qū)動(dòng),步進(jìn)電機(jī)在脈沖電源下運(yùn)行,角位移量與輸入的脈沖數(shù)成正比關(guān)系,可與相應(yīng)驅(qū)動(dòng)電路組成開環(huán)數(shù)控系統(tǒng),具有良好的定位可靠性,也可與適當(dāng)?shù)姆答伃h(huán)節(jié)組成高性能的閉環(huán)數(shù)控系統(tǒng)。在此系統(tǒng)中,電動(dòng)升降臺(tái)配置了線光柵編碼器用于位置反饋,并選取廠商配套設(shè)計(jì)的運(yùn)動(dòng)控制驅(qū)動(dòng)器,運(yùn)動(dòng)控制器與計(jì)算機(jī)通過RS232接口實(shí)現(xiàn)通信控制。
表1 電動(dòng)升降臺(tái)性能參數(shù)
2.1.1掃描機(jī)構(gòu)電控程序設(shè)計(jì)
鑒于掃描設(shè)備由對(duì)應(yīng)的運(yùn)動(dòng)控制器直接控制,控制器已實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)運(yùn)動(dòng)的底層驅(qū)動(dòng)及控制,控制器與計(jì)算機(jī)基于串口通訊,因此,對(duì)設(shè)備的運(yùn)動(dòng)控制可從上位機(jī)程序設(shè)計(jì)方面實(shí)現(xiàn)?;趶S商自定義的上位機(jī)通信指令協(xié)議,以ASCII碼標(biāo)準(zhǔn)進(jìn)行串口通訊控制設(shè)計(jì)。當(dāng)前基于Visual C# Windows Form的觀測(cè)系統(tǒng)軟件設(shè)計(jì)中,針對(duì)掃描設(shè)備的運(yùn)動(dòng)控制,利用串口通訊基于SerialPort類開發(fā)運(yùn)動(dòng)控制程序。SerialPort類位于System.Io.Ports空間下,主要用于串行端口文件資源的控制,提供了事件驅(qū)動(dòng)I/O和同步I/O,對(duì)串行驅(qū)動(dòng)程序?qū)傩缘脑L問和對(duì)引腳及中斷狀態(tài)的訪問[6]。對(duì)計(jì)算機(jī)串口進(jìn)行操作,SerialPort類常用的屬性有PortName、BaudRate、DataBits、Open、ReadExisting、Write、Close等用于串口操作,串口通訊控制的基本實(shí)現(xiàn)流程如下表述:
(1)配置串口參數(shù)并打開串口。根據(jù)運(yùn)動(dòng)控制器的串口通信參數(shù),為計(jì)算機(jī)分配一個(gè)串口用于掃描設(shè)備通信控制,設(shè)置串口參數(shù)與其匹配。利用SerialPort類的相關(guān)屬性設(shè)置串口的端口號(hào)、波特率、數(shù)據(jù)位、奇偶校驗(yàn)、停止位等基本通訊參數(shù),并打開對(duì)應(yīng)計(jì)算機(jī)端口即可進(jìn)行通訊控制,在此使用SerialPort類的基本屬性/方法有:PortName、BaudRate、Parity、DataBits、StopBits、ReadBufferSize、IsOpen、Close、Open等。
(2)向串口發(fā)送數(shù)據(jù)。打開對(duì)應(yīng)的計(jì)算機(jī)串口后,即可將運(yùn)動(dòng)命令發(fā)送給控制器執(zhí)行,利用SerialPort類的Write()操作實(shí)現(xiàn)指令的發(fā)送。以 “設(shè)備向前運(yùn)動(dòng)50 μm” 控制命令為例,通訊控制時(shí)可表述為:ScanPort.Write("GoPosition Z, O, R, P, 50 ")。對(duì)掃描機(jī)構(gòu)中升降臺(tái)的運(yùn)動(dòng)控制,為提高串口通訊設(shè)計(jì)的便捷性,可自定義一個(gè)SendMsg(string Commands)類似的函數(shù)專用于指令發(fā)送,控制器的通訊指令皆轉(zhuǎn)換為此函數(shù)的Commands變量執(zhí)行。
(3)接收串口數(shù)據(jù)。計(jì)算機(jī)與運(yùn)動(dòng)控制器間進(jìn)行串口通信,控制器反饋電動(dòng)升降臺(tái)的運(yùn)動(dòng)狀態(tài)給計(jì)算機(jī),以便于計(jì)算機(jī)處理數(shù)據(jù)并執(zhí)行后續(xù)控制??刂破鞣答伒臄?shù)據(jù)傳遞至計(jì)算機(jī)串口分配的緩沖區(qū)中,讀取串口緩沖區(qū)數(shù)據(jù)時(shí)主要利用SerialPort類的DataReceived事件,并基于SerialPort類的ReadExisting方法即時(shí)獲取緩沖區(qū)數(shù)據(jù)。
(4)關(guān)閉串行通信端口。掃描工作結(jié)束后,控制設(shè)備運(yùn)動(dòng)復(fù)位,在控制軟件退出或其它需要關(guān)閉串口的時(shí)候,需關(guān)閉已打開的串行端口,并釋放占用的資源。串口關(guān)閉操作相對(duì)簡(jiǎn)單,可直接利用SerialPort類的Close操作,即“ScanPort.Close();”方式實(shí)現(xiàn)。
如上所述通過串口控制實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收,對(duì)于掃描設(shè)備的運(yùn)動(dòng)過程控制,從上位機(jī)軟件控制實(shí)施的角度可表示為一系列字符串指令的發(fā)送和接收,通過掃描設(shè)備運(yùn)動(dòng)參數(shù)的通信指令描述,可
實(shí)現(xiàn)設(shè)備的運(yùn)動(dòng)控制。
由如圖3的升降臺(tái)運(yùn)動(dòng)過程示意圖可知,曲線所圍面積S表示升降臺(tái)步進(jìn)距離,步進(jìn)距離參數(shù)恒定時(shí),不同的速度參量對(duì)應(yīng)不同的運(yùn)行時(shí)間,此運(yùn)動(dòng)中需求微小步進(jìn)距離,較快的運(yùn)動(dòng)過程,才能保證圖像采集時(shí)具有較高的時(shí)間分辨率。
電動(dòng)升降臺(tái)掃描時(shí),升降臺(tái)與兩對(duì)平面反射
圖3運(yùn)動(dòng)過程示意圖
Fig.3A schematic diagram of motor process
鏡面組成光路平移系統(tǒng),使太陽(yáng)像以步進(jìn)掃描的方式通過狹縫,進(jìn)入狹縫之后的光譜儀系統(tǒng)進(jìn)行光譜成像觀測(cè)。光譜掃描時(shí),首先對(duì)掃描設(shè)備進(jìn)行初始化設(shè)置,包含通信端口設(shè)置、升降臺(tái)運(yùn)行速度設(shè)置、掃描初始零位設(shè)置以及復(fù)位模式等參量的設(shè)置;制定掃描方案,即對(duì)掃描區(qū)域的具體步進(jìn)運(yùn)動(dòng)控制,包含掃描機(jī)構(gòu)的掃描方向、步進(jìn)幅值、步進(jìn)次數(shù)、步進(jìn)間隔時(shí)間以及掃描的次數(shù);掃描完成時(shí)復(fù)位設(shè)備,等待下一輪掃描或其它運(yùn)動(dòng)控制?;诖谕ㄓ崳门渲玫木€光柵編碼器檢測(cè)升降臺(tái)位置,并結(jié)合平臺(tái)上的光電開關(guān)及機(jī)械限位開關(guān)實(shí)現(xiàn)一系列運(yùn)動(dòng)過程控制。
2.2光譜圖像的采集存儲(chǔ)
掃描系統(tǒng)工作中,每當(dāng)掃描裝置步進(jìn)一步等待圖像采集時(shí),利用CCD/CMOS相機(jī)采集一幀圖像數(shù)據(jù)。系統(tǒng)選擇了德國(guó)PCO公司生產(chǎn)的PCO2000/PCO4000系列相機(jī)及對(duì)應(yīng)的相機(jī)控制器,并通過Matrox或Silicon系列采集卡采集圖像數(shù)據(jù),并將采集的圖像數(shù)據(jù)以FITS(Flexible Image Transport System)文件存儲(chǔ),以滿足天文數(shù)據(jù)處理的需求。
2.2.1圖像采集程序設(shè)計(jì)
在此系統(tǒng)中,為實(shí)現(xiàn)圖像數(shù)據(jù)的采集,計(jì)算機(jī)通過Matrox系列采集卡獲取PCO2000相機(jī)的探測(cè)圖像,并通過Camera Link[7]總線傳輸數(shù)據(jù)。圖像采集程序的設(shè)計(jì)利用了PCO公司提供的相機(jī)控制開發(fā)包*http://www.pco-tech.com/support/interface/sensitive-cameras/pco2000/,利用SDK資源能提高開發(fā)效率。
圖像采集的主要工作流程見圖4,CCD探測(cè)到模擬圖像信號(hào)后,經(jīng)過模數(shù)轉(zhuǎn)換器轉(zhuǎn)換,將模擬量轉(zhuǎn)換為數(shù)字圖像數(shù)據(jù),并存入相機(jī)內(nèi)存空間,直到相機(jī)內(nèi)存里準(zhǔn)備完全一幅圖像數(shù)據(jù)之后,觸發(fā)事件信號(hào),并將數(shù)字圖像數(shù)據(jù)傳輸至計(jì)算機(jī)內(nèi)存,計(jì)算機(jī)再作后續(xù)的FITS文件存儲(chǔ)和顯示等操作。
圖4圖像采集工作流程示意圖
Fig.4The schematic diagram of image acquisition process
圖像采集程序設(shè)計(jì)中,基于PCO公司提供的SDK,它整合了相機(jī)控制的一些API函數(shù),便于此處基于C#的觀測(cè)系統(tǒng)軟件設(shè)計(jì)??刂葡鄼C(jī)采集圖像的基本設(shè)計(jì)流程見圖5,需要先完成相機(jī)的初始化控制,調(diào)用 “PCO_OpenCamera()” 打開相機(jī)之后,再利用 “PCO_SDK_LibWrapper” SDK里面相關(guān)函數(shù)獲取并設(shè)置相機(jī)參數(shù),計(jì)算機(jī)利用采集卡通過Camera Link總線獲取相機(jī)探測(cè)數(shù)據(jù)。相機(jī)控制程序設(shè)計(jì)時(shí),主要的步驟有:聲明一些數(shù)據(jù)結(jié)構(gòu)用于相機(jī)狀態(tài)控制并初始化結(jié)構(gòu)的大小,獲取CCD當(dāng)前參數(shù)值,設(shè)置相機(jī)曝光及采集圖像面元大小等參數(shù),獲取相機(jī)采集圖像的大小并申請(qǐng)內(nèi)存空間存儲(chǔ)數(shù)據(jù),單幀或循環(huán)的采集及存儲(chǔ)圖像,停止采集及關(guān)閉相機(jī)并釋放空間。
2.2.2圖像數(shù)據(jù)采集存儲(chǔ)設(shè)計(jì)
望遠(yuǎn)鏡跟蹤太陽(yáng)運(yùn)動(dòng)時(shí),光譜儀狹縫所處平面上的太陽(yáng)像隨時(shí)間繞主光軸旋轉(zhuǎn),需要利用光譜儀消旋轉(zhuǎn)臺(tái)抵消其影響才能實(shí)現(xiàn)光譜掃描[8]。計(jì)算機(jī)采集到光譜圖像數(shù)字信號(hào)后,需要將圖像數(shù)據(jù)存儲(chǔ)為FITS文件,圖像存盤時(shí)利用NASA提供的CSharpFITS*http://fits.gsfc.nasa.gov/fits_standard.html類資料。FITS文件由文件頭信息和數(shù)據(jù)矩陣組成,文件頭用于存儲(chǔ)該文件的描述,如觀測(cè)對(duì)象、觀測(cè)時(shí)間、曝光時(shí)間等信息,以便于后期數(shù)據(jù)分析使用,文[9]與文[10]等對(duì)圖像數(shù)據(jù)存儲(chǔ)FITS文件進(jìn)行了詳細(xì)介紹。FITS圖像文件存盤時(shí),需記錄文件當(dāng)前狀態(tài)信息以便于后續(xù)數(shù)據(jù)處理,文件名可包含當(dāng)前日期及時(shí)間,圖像對(duì)應(yīng)掃描機(jī)構(gòu)的掃描位置,并將圖像文件存儲(chǔ)于自動(dòng)分類創(chuàng)建的文件夾中,存儲(chǔ)時(shí)可基于DateTime類及DirectoryInfo類靈活地創(chuàng)建文件存儲(chǔ)路徑及文件名稱。
圖5圖像采集程序設(shè)計(jì)基本流程
Fig.5The basic programming process of image acquisition
掃描系統(tǒng)實(shí)現(xiàn)圖像數(shù)據(jù)的獲取,考慮到循環(huán)采集的過程,即掃描機(jī)構(gòu)步進(jìn)運(yùn)動(dòng)一步后自動(dòng)采集并存儲(chǔ)一幀圖像。程序設(shè)計(jì)實(shí)現(xiàn)文件存儲(chǔ)時(shí),計(jì)算機(jī)獲取到相機(jī)采集傳遞的數(shù)字圖像數(shù)據(jù)后,需將二維大數(shù)組形式的數(shù)據(jù)轉(zhuǎn)存為FITS文件。圖6描述了測(cè)試的兩種設(shè)計(jì)模式的工作時(shí)序。設(shè)計(jì)之初曾在一個(gè)控制線程內(nèi)順序執(zhí)行圖像采集和存儲(chǔ)(Model-1),即掃描設(shè)備步進(jìn)一步完成時(shí)開始控制相機(jī)采集圖像,計(jì)算機(jī)獲取圖像數(shù)據(jù)后存儲(chǔ)為FITS文件,軟件界面顯示當(dāng)前采集的圖像,文件存儲(chǔ)完后進(jìn)行下一步掃描,如此循環(huán)進(jìn)行光譜掃描。經(jīng)過實(shí)測(cè)發(fā)現(xiàn)此種方案非常耗時(shí),完成一幀掃描圖像的獲取需要接近4 s,不能得到較高的時(shí)間分辨率,測(cè)試發(fā)現(xiàn)主要的耗時(shí)發(fā)生在FITS文件的存儲(chǔ)部分(3 s)。后來測(cè)試了計(jì)算機(jī)內(nèi)存暫存圖像方案(Model-2),將文件存儲(chǔ)分離出來,即掃描工作中,計(jì)算機(jī)每得到一幀圖像數(shù)據(jù),將圖像數(shù)據(jù)矩陣暫存于計(jì)算機(jī)內(nèi)存,并不立即存儲(chǔ)FITS文件,循環(huán)獲取圖像至完成一輪掃描后,再將內(nèi)存中的多幅圖像數(shù)據(jù)轉(zhuǎn)存到硬盤中。此種方案雖提高了掃描的時(shí)間分辨率(1 s),但由于一幀圖像數(shù)據(jù)是2 048 × 2 048(PCO2000相機(jī))的數(shù)據(jù)矩陣,計(jì)算機(jī)分配大數(shù)組的空間有限,測(cè)試發(fā)現(xiàn)在分配超過100幀圖像空間時(shí),程序不能穩(wěn)定運(yùn)行,數(shù)據(jù)溢出,大大限制了掃描步數(shù),并且在掃描結(jié)束時(shí),圖像逐幀轉(zhuǎn)存到硬盤中,大量的耗時(shí)造成軟件界面假死現(xiàn)象,此方案也因此舍棄。
圖6 圖像采集工作時(shí)序示意圖
當(dāng)前系統(tǒng)中設(shè)計(jì)了多線程方式實(shí)現(xiàn)光譜掃描圖像的采集存儲(chǔ)。每一個(gè)子線程主要實(shí)現(xiàn)的功能,即控制掃描機(jī)構(gòu)步進(jìn)一步,計(jì)算機(jī)控制相機(jī)采集一幀光譜圖像,采集到圖像數(shù)據(jù)后即進(jìn)行FITS文件存儲(chǔ),存儲(chǔ)完成后自動(dòng)結(jié)束子線程,圖7為多線程方式實(shí)現(xiàn)光譜掃描圖像獲取的工作時(shí)序示意圖。在第1個(gè)采集線程里,掃描機(jī)構(gòu)步進(jìn)完一步后,控制相機(jī)探測(cè)圖像,曝光完成后將圖像經(jīng)過模數(shù)轉(zhuǎn)換器轉(zhuǎn)換得到數(shù)字圖像數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)存到一個(gè)數(shù)組用于后續(xù)數(shù)據(jù)處理,經(jīng)過數(shù)據(jù)轉(zhuǎn)換處理后,開始存儲(chǔ)FITS圖像文件,此刻開啟另一個(gè)線程執(zhí)行下一步掃描并采集圖像。每一個(gè)線程執(zhí)行圖像采集的過程,如圖6中Model-1方案所述,耗時(shí)4 s完成一幀光譜圖像獲取,如圖7間隔開啟多個(gè)線程之后,前幾個(gè)線程陸續(xù)執(zhí)行完畢退出,并存儲(chǔ)了對(duì)應(yīng)的FITS圖像文件。掃描過程中,需要了解采集的圖像情況,可將采集的數(shù)字圖像數(shù)據(jù)進(jìn)行灰度處理并重繪于軟件界面中,程序設(shè)計(jì)在每掃描7步時(shí)顯示一幀當(dāng)前采集圖像,同時(shí)在掃描首尾步時(shí)亦顯示當(dāng)前圖像,以便于界面更新和查看。此方案能保證更高的掃描時(shí)間分辨率,并能實(shí)時(shí)存儲(chǔ)大量的FITS圖像文件。
圖7 圖像采集時(shí)序示意圖
2.3用戶界面設(shè)計(jì)
對(duì)此光譜掃描觀測(cè)系統(tǒng),前文分別闡述了掃描設(shè)備的運(yùn)動(dòng)控制,以及控制相機(jī)進(jìn)行圖像采集存儲(chǔ)的設(shè)計(jì)框架。針對(duì)光譜掃描觀測(cè)需求,控制掃描機(jī)構(gòu)步進(jìn)一步,之后控制相機(jī)采集一幀光譜圖像,得到數(shù)字圖像數(shù)據(jù)后進(jìn)行FITS文件存儲(chǔ)以及于軟件界面重繪。程序設(shè)計(jì)的基本流程如圖8,首先實(shí)現(xiàn)掃描設(shè)備和相機(jī)初始化控制,包含掃描設(shè)備的運(yùn)行速度、掃描零位、相機(jī)采集面元大小和曝光時(shí)間等參數(shù)設(shè)置;兩者初始化完成之后,進(jìn)行光譜掃描參數(shù)設(shè)置,包括掃描機(jī)構(gòu)步進(jìn)幅值、步進(jìn)次數(shù)、掃描次數(shù)等,即控制掃描機(jī)構(gòu)運(yùn)動(dòng)實(shí)現(xiàn)太陽(yáng)光路平移掃描過狹縫,并根據(jù)像質(zhì)情況修定相機(jī)曝光時(shí)間等設(shè)置;若不做光譜掃描,可只控制相機(jī)采集圖像而不存儲(chǔ)以作圖像監(jiān)視使用,若進(jìn)行光譜掃描觀測(cè),則可觸發(fā)掃描方案的執(zhí)行,程序自動(dòng)地控制掃描設(shè)備運(yùn)動(dòng),以及光譜圖像的采集、存儲(chǔ)和顯示。
光譜掃描的實(shí)現(xiàn),需要對(duì)掃描設(shè)備及相機(jī)兩者進(jìn)行控制,為便于用戶操作,控制邏輯實(shí)現(xiàn)上應(yīng)具有較高的自動(dòng)化程度,用戶界面設(shè)計(jì)時(shí)應(yīng)當(dāng)簡(jiǎn)潔友好,此軟件主界面設(shè)計(jì)如圖9,其UI主視圖主要分為: “Instruments” 即設(shè)備管理操作區(qū), “ScanSetting” 即掃描參數(shù)設(shè)置操作區(qū), “Observation” 即觀測(cè)操作區(qū), “Current Setting” 和 “Status” 顯示當(dāng)前設(shè)置和當(dāng)前運(yùn)行狀態(tài), “IntensityGraph” 控件顯示圖像的區(qū)域。為在界面中顯示采集的圖像效果,選擇了NI(National Instruments)公司Measurement Studio 2010產(chǎn)品中的IntensityGraph圖像顯示控件,將采集的圖像數(shù)據(jù)進(jìn)行歸一化處理轉(zhuǎn)換為灰度圖后再顯示,用此控件高效地滿足了數(shù)字圖像數(shù)據(jù)的顯示需求。
3掃描系統(tǒng)實(shí)測(cè)
此套掃描系統(tǒng)已應(yīng)用在1m太陽(yáng)望遠(yuǎn)鏡進(jìn)行光譜掃描觀測(cè)。為檢驗(yàn)掃描機(jī)構(gòu)運(yùn)動(dòng)的穩(wěn)定情況,基于激光光源和1m太陽(yáng)望遠(yuǎn)鏡原有的圖像采集通道,控制掃描設(shè)備每步進(jìn)一步拍攝一幀圖像,最后利用IDL軟件對(duì)所有圖像運(yùn)行軌跡進(jìn)行分析,驗(yàn)證了掃描設(shè)備的運(yùn)動(dòng)穩(wěn)定性,能滿足望遠(yuǎn)鏡跟蹤太陽(yáng)進(jìn)行光譜掃描觀測(cè)的需求。光譜掃描觀測(cè)時(shí),當(dāng)前使用寬狹縫(200 μm),后續(xù)會(huì)使用窄狹縫,掃描步幅選取了100 μm及更小步幅測(cè)試,掃描設(shè)備步進(jìn)工作時(shí),相機(jī)采集光譜圖像,執(zhí)行完一輪掃描后設(shè)備自動(dòng)復(fù)位并進(jìn)行下一輪掃描觀測(cè)。圖10為掃描系統(tǒng)現(xiàn)場(chǎng)實(shí)測(cè)圖,圖中描述了對(duì)太陽(yáng)黑子進(jìn)行光譜掃描觀測(cè),觀測(cè)中得到了所需的光譜圖像數(shù)據(jù),可用于光譜分析。
圖8 程序設(shè)計(jì)流程圖
圖9光譜掃描系統(tǒng)軟件主界面
Fig.9The main interface of spectral scanning software
圖10光譜掃描觀測(cè)現(xiàn)場(chǎng)測(cè)試圖
Fig.10The field test of scanning software
4結(jié)語(yǔ)
光譜掃描觀測(cè)作為1m太陽(yáng)望遠(yuǎn)鏡的重要科學(xué)觀測(cè)目標(biāo),設(shè)計(jì)了狹縫掃描設(shè)備用于光譜掃描,并在VS2010環(huán)境下基于C#開發(fā)了一套觀測(cè)軟件,已用于1m太陽(yáng)望遠(yuǎn)鏡的光譜掃描觀測(cè),滿足了觀測(cè)所需的基本功能。在原有光譜儀系統(tǒng)設(shè)備的基礎(chǔ)上,設(shè)計(jì)了掃描設(shè)備實(shí)現(xiàn)光譜的掃描觀測(cè);針對(duì)掃描機(jī)構(gòu)的運(yùn)動(dòng)控制,基于C# SerialPort類開發(fā)控制程序,具有較好的通用性;利用PCO公司提供的對(duì)CCD相機(jī)控制的SDK,提高了相機(jī)控制程序的開發(fā)效率;將圖像數(shù)據(jù)存儲(chǔ)為FITS文件時(shí),利用NASA提供的CSharpFITS類資料,提高了圖像存儲(chǔ)程序設(shè)計(jì)的效率;軟件界面顯示圖像時(shí),利用IntensityGraph圖像顯示控件,程序設(shè)計(jì)效率優(yōu)于基于GDI+Bitmap方式繪圖。由于1m太陽(yáng)望遠(yuǎn)鏡科學(xué)目標(biāo)需求中還有針對(duì)太陽(yáng)活動(dòng)區(qū)的偏振測(cè)量,結(jié)合1m太陽(yáng)望遠(yuǎn)鏡的高分辨圖像采集系統(tǒng),在后續(xù)觀測(cè)系統(tǒng)升級(jí)改造中,還需要實(shí)現(xiàn)光譜掃描系統(tǒng)與偏振測(cè)量系統(tǒng)同時(shí)工作,本文所述內(nèi)容將為后續(xù)相關(guān)工作提供參考。
參考文獻(xiàn):
[1]方成, 丁明德, 陳鵬飛. 太陽(yáng)活動(dòng)區(qū)物理[M]. 南京: 南京大學(xué)出版社, 2008.
[2]梁紅飛. 太陽(yáng)黑子矢量磁場(chǎng)的測(cè)量及視向電流密度的計(jì)算[D]. 昆明: 中國(guó)科學(xué)院云南天文臺(tái), 2006.
[3]劉忠, 鄧元勇, 季海生, 等. 中國(guó)地基大太陽(yáng)望遠(yuǎn)鏡[J]. 中國(guó)科學(xué): 物理學(xué)力學(xué)天文學(xué), 2012, 42(12): 1282-1291.
Liu Zhong, Deng Yuanyong, Ji Haisheng, et al. Ground-based giant solar telescope of China [J]. Scientia Sinica: Physica Mechanica Astronomica, 2012, 42(12): 1282-1291.
[4]Liu Zhong, Xu Jun, Gu Bozhong, et al. New vacuum solar telescope and observations with high resolution[J]. Research in Astronomy and Astrophysics, 2014, 14(6): 705-718.
[5]Chae J, Park H M, Ahn K, et al. Fast Imaging Solar Spectrograph of the 1.6 meter New Solar Telescope at Big Bear Solar Observatory[J]. Solar Physics, 2013, 288(1): 1-22.
[6]王國(guó)勝, 劉攀, 尼春雨. C#基礎(chǔ)與案例開發(fā)詳解[M]. 北京: 清華大學(xué)出版社, 2009.
[7]Camera Link: Specifications of the Camera Link interface standard for digital cameras and frame grabbers[M]. Automated Imaging Association, 2007.
[8]柳光乾, 付玉, 程向明. 1米太陽(yáng)望遠(yuǎn)鏡光譜儀像旋轉(zhuǎn)及消旋控制[J]. 天文研究與技術(shù)——國(guó)家天文臺(tái)臺(tái)刊, 2012, 9(1): 86-92.
Liu Guangqian, Fu Yu, Cheng Xiangming. Image field rotation and control of counter rotation for the spectrograph of the 1m solar telescope of the Yunnan Observatory[J]. Astronomical Research and Technology——Publications of National Astronomical Observatories of China, 2012, 9(1): 86-92.
[9]劉應(yīng)波. 太陽(yáng)望遠(yuǎn)鏡海量數(shù)據(jù)存儲(chǔ)關(guān)鍵技術(shù)研究[D]. 昆明: 中國(guó)科學(xué)院云南天文臺(tái), 2014.
[10]程祖橋, 鄧輝, 王鋒, 等. 基于Camera Link總線的CCD高速圖像采集技術(shù)[J]. 天文研究與技術(shù)——國(guó)家天文臺(tái)臺(tái)刊, 2011, 8(4): 363-368.
Cheng Zuqiao, Deng Hui, Wang Feng, et al. A sudy on Camera Link bsedhigh speed CCD image acquisition techniques[J]. Astronomical Research and Technology——Publications of National Astronomical Observatories of China, 2011, 8(4): 363-368.
The Design of a Spectrum Scanning Observation System for the New Vacuum Solar Telescope
Yang Changchun1,2, Li Zhenggang1, Chen Yuchao1,2, Xu Jun1
(1. Yunnan Observatories, Chinese Academy of Sciences, Kunming 650011, China, Email: xj@ynao.ac.cn;2. University of Chinese Academy of Sciences, Beijing 100049, China)
Abstract:The New Vacuum Solar Telescope (NVST) is for solar observation use. It is equipped with high resolution imaging instruments and spectrometers combining with polarization analyzer. Two vertical grating spectrometers, placed in the hanging bracket below the rotating platform, aim to observe the sun spectrum finely. On the base of these instruments and equipment, this article designs a slit scanning equipment placed above the rotating platform, and based on the C# this paper develops a set of observation and control system software. For spectral scanning observation, computer controls scanning equipment′s stepping movement; then image acquisition card acquires observation data through camera link bus. When the digital image data are obtained by multi-thread technology control, they will be stored in the FITS (Flexible Image Transport System) file and processed and outputted as grayscale images so as to be monitored in the software user interface. The experimental results show that this control system software is a feasible design for slit scanning observation; it provides considerable potentials for subsequent observation system upgrades.
Key words:NVST; Slit scanning; Spectroscopic observations; Image acquisition; FITS
基金項(xiàng)目:國(guó)家自然科學(xué)基金 (11273058) 資助.
收稿日期:2015-05-18;
修訂日期:2015-05-26
作者簡(jiǎn)介:楊長(zhǎng)春,男,碩士. 研究方向:天文儀器與方法. Email: ycc@ynao.ac.cn 通訊作者:許駿,男,研究員. 研究方向:天文儀器與方法,電子技術(shù)應(yīng)用. Email: xj@ynao.ac.cn
中圖分類號(hào):P111.41; TP311.1
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1672-7673(2016)02-0257-09
CN 53-1189/PISSN 1672-7673