杜 鵬 米清茹 周劍英 張翼飛 滑文強 鄭麗芳 黎 忠
1 (中國科學院上海應用物理研究所 上海 201800)
2 (中國科學院研究生院 北京 100049)
同步輻射光源,需測定X射線光束線位置,常用的光斑位置探測器(X-ray Beam Position Monitor,XBPM)有刀片式BPM和絲BPM等。刀片式BPM利用X射線在一對刀片上產生的光電流之比與位置的關系推導出光束中心位置及其變化,直觀性有限;絲 BPM 則測量絲掃描方向上的電流信號,得到光斑的強度分布和位置變化,其受光束寬度和形狀不穩定性影響較大,滿足不了實時性較高系統的要求[1,2]。光學式BPM可測量光束截面尺寸和位置等參數,監測其不穩定性,具有高精度、全光斑信息、抗干擾能力強、實時性等優點。本文介紹在上海同步輻射光源基于EPICS(Experimental physics and Industrial control system)的分布式控制系統,獲取熒光靶上產生的可見X光光斑圖像并進行圖像數據處理的軟件設計。
根據束線位置測量系統的控制和圖像數據處理的總體設計原則,軟件環境在EPICS平臺上進行開發,利用 MATLAB進行圖像數據處理。包括三部分:操作員的界面OPI(Operator interface)、輸入輸出的控制IOC(Input/Output controller)和底層的設備(Device)[3]。
操作員界面OPI位于系統頂層,具有訪問整個系統能力。通過在人機交換監控系統的界面上運行,實現了控制參數的設置、回讀、數據存檔等功能。操作人員通過人機交換界面實現了對位置測量系統的設備控制、數據處理及結果的實時顯示。
在位置測量系統中,控制系統的核心是在Linux系統的軟IOC上運行的,向上通過Channel Access與上層OPI進行通信,向下則通過動態數據庫實現對硬件設備的輸入/輸出。
底層設備完成束流信號的獲取,主要由 CCD探測器及其數據轉換模塊等組成。
束線位置測量系統是利用熒光靶束線測量系統和圖像采集處理技術得到X光束在熒光靶上形成的光斑圖像,通過網絡將數字圖像信號輸入計算機,用圖像分析軟件得到光斑的位置、尺寸和強度分布信息。
束線位置測量系統由熒光靶系統、光學顯微放大系統、圖像讀入系統、軟IOC和OPI組成,圖1為測量系統結構示意圖。X光束打在熒光靶上,形成相應的可見光光斑,為獲得足夠大的光斑圖像,并有較大的成像深度,系統采用長焦距顯微鏡,使光斑成像在 CCD探測器上??紤]到測量系統的工作距離(從鏡頭前端面到狹縫距離)和光學系統的景深,選用最大工作距離為100 mm的連續變倍體視顯微鏡,顯微鏡的光學放大倍率選擇×5倍,像元尺寸 6.45 μm×6.45 μm,因此測量系統在物空間的分辨率約為1.4 μm。CCD探測器輸出數字圖像信號,輸入到計算機進行圖像數據處理。EPICS IOC負責CCD探測器的控制和圖像數據的采集,Client OPI上MATLAB通過與EPICS的接口LabCA讀取IOC通道上的圖像數據,利用圖像處理函數計算出光斑的中心位置、面積、長短軸等重要參數,并顯示描述光斑的三維圖像,完成對光斑精確的定量測量。

圖1 XBPM系統結構示意圖Fig.1 Schematics of the XBPM system.
整個軟件系統在EPICS架構下開發,CCD探測器的設備驅動、控制和信號數據的交互通過EPICS IOC上areaDetector程序模塊控制,圖像在OPI上用MATLAB進行處理,軟件結構見圖2。運行人員對設備的控制通過 MEDM 控制面板對底層IOC數據記錄的操作來實現。上層應用程序如光斑的處理都在MATLAB平臺上開發,通過LabCA接口訪問底層IOC數據[4]。

圖2 軟件系統結構圖Fig.2 Architecture of software.
在EPICS平臺上把從CCD探測器中獲取的圖像數據轉換成標準 EPICS數據格式,然后用MATLAB讀取圖像數據進行處理。讀取的是 255級的灰度級圖像,每幅圖像有2050×2448個像素,光斑上每一點的強度用該點的灰度值表示。整幅圖像以*.BMP格式的文件儲存在計算機中。通過處理圖像數據,可計算出束線截面強度中心的位置、束線截面長短軸等。
根據測量系統的要求,束線位置測量系統軟件設計實現了如下功能,功能的實現主要依賴于圖像處理的效果。
(1) 實時、動態地顯示束線截面圖像(理想情況下為橢圓亮斑),刷新頻率為15幀/s。
(2) 能隨時捕獲欲處理的圖像,以*.BMP文件格式存儲。
(3) 由于圖像數據信息過大,為實現實時性,只處理圖像感興趣的部分。
(4) 擬合出光斑在X和Y方向上的強度分布曲線,理想情況下為高斯分布。
(5) 計算出光斑強度中心點的位置及光斑長短軸等。
(6) 根據EPICS分布式系統的特性,實現網絡測量功能,即一臺服務器負責 CCD相機的控制和圖像采集,把中控室中的計算機作為客戶機,通過以太網連接到服務器,這樣可以在中控室的任何一臺終端上實現束線位置的測量。
2.2.1 噪聲處理
圖像本身會帶有很多噪聲,如背景噪聲、電子學系統噪聲等,所以需對采集到的圖像進行本底噪聲扣除。因此,在無信號時,采集一幀熒光靶上的圖像作為本底,從獲得的光斑圖像中減去本底中相對應各點的灰度值,即可得到去除本底噪聲的圖像數據。
另外,為減小圖像噪聲的影響,對圖像進行平滑處理。如圖3所示,選擇5×5的區域,包含點(i,j)的五邊形、六邊形各4個(圖3a和b),3×3的區域一個(圖3c)。計算這9個區域的標準差和灰度平均值,取標準差最小區域的灰度平均值作為(i,j)灰度。以此為模板對整幅圖像進行處理,得到濾波后的輸出圖像[5]。

圖3 圖像平滑處理算法示意圖Fig.3 Schematics for image smooth processing.
2.2.2 光斑中心定位算法
為提高測量系統的精度,可以從硬件入手,如選用高分辨率CCD。在已知硬件精度情況下,利用目標的成像特性,采用亞像素定位技術提高測量定位的精度。這里采用基于灰度重心法的曲線擬合亞像素定位算法。
先利用灰度重心法找到圖像重心位置:

式中,f(x,y)為圖像的灰度值,x和y分別表示列坐標和行坐標。找到圖像重心位置后,以該像素點為中心點對水平方向和垂直方向進行曲線擬合。以水平方向為例,設二次曲線為:

其中,g(x,y)表示此方向的光強分布,由CCD方形孔采樣定理[6],每個像素的輸出灰度值為:

通過重心法求出坐標(x0,y0)。令該像素點灰度值為f0x,以該點為中心點,前后各取一個像素點,記為f?1x和f1x。根據f?1x、f0x和f1x的值,代入式(4),得到關于二次曲線參數A、B、C的三元一次方程組:

對公式(5)(6)(7)聯合求解,計算出二次曲線的參數A、B、C值:

因此,得到水平方向相對于重心點的亞像素中心為:

則水平方向中心點的絕對位置坐標為:

同理,按照上述方法求出垂直方向的亞像素中心為:

2.2.3 光斑的長短軸
由于光斑圖形是類橢圓圖像,需對光斑圖像進行慣量橢圓計算[7]。把光斑圖像的每一個像素視為一個質點,各質點質量均為 1,首先計算光斑圖像的重心,以其為圖像坐標系的原點O。按照線性代數中求特征值方法,確定橢圓二主軸的斜率分別為k和l,可得:

進一步解得慣量橢圓的2個半主軸長p和q分別為:

式中,A=∑yi2、B=∑xi2分別為圖像繞x’、y’軸線的轉動慣量,H=∑xiyi,稱作慣性積。
在上海同步輻射光源基于EPICS的分布式控制系統總原則下,光斑位置測量系統探測器的控制和圖像采集也用 EPICS來實現。EPICS系統包括軟IOC、OPI以及在兩者間提供通道訪問的數據交換模塊。EPICS采用分層結構,每一層相對獨立,訪問數據庫記錄不需要知道具體的記錄類型和設備名,只需知道通道名即可訪問。因此,數字圖像信號由以太網傳輸到軟IOC中,由areaDetector應用程序模塊轉換成 EPICS數據格式,通過 Channel Access與上層OPI層通信,表1是測量系統用到的記錄。

表1 測量系統記錄Table 1 Measurement system records.
采用MATLAB R2007編寫束線位置測量系統圖像處理程序,它是一種功能強大的數值計算、分析和系統建模工具,具有高效的數值計算和符號計算功能、完備的圖形處理功能以及功能豐富的應用工具箱等特點。由 MATLAB與 EPICS數據接口LabCA,使 MATLAB實現圖像的讀取、處理、顯示和數據的存檔。程序功能模塊分別用于設備驅動和控制、圖像獲取和保存、圖像分析處理和顯示,前兩個模塊于IOC中運行,第三個模塊在OPI中運行,這便于程序的維護和更新,同時,程序具有友好的用戶界面,顯示信息直觀、明了。
圖4、5為上海光源BL16B1光束線站測試的光束線位置測量結果,結果顯示光斑面積為 882.29 μm2,中心點位置0.204、0.353 mm。圖6是每隔一秒采樣結果統計的光斑位置波動圖,由圖6可見光斑抖動范圍≤±10 μm可供調束參考。
光斑中心定位采用亞像素曲線擬合方法,通過MATLAB程序隨機產生一組大小約400×400像素,具有不同形狀、灰度值和中心位置的光斑模擬實際應用中遇到的各種采集結果,然后用曲線擬合法求取光斑的中心坐標,可得曲線擬合定位精度0.2像素,即0.2×1.4 μm=0.28 μm,軟件功能達到設計要求,可直觀、可靠和實時地獲取全光斑信息,用于監測光束的位置和分布變化。

圖4 圖像處理軟件主要界面Fig.4 The main interface for image processing.

圖5 光斑強度空間分布界面Fig.5 The interface of flare intensity spatial distribution.

圖6 光斑中心位置波動圖Fig.6 Center position movement.
本文介紹了基于EPICS環境下建立的光學式同步輻射光束線位置測量系統的圖像處理方法和軟件系統功能及設計。目前,已在上海光源光束線站上安裝調試,并實時測量束線光斑的變化,對光束線的位置進行實時監測。為線站基于 EPICS光學式
BPM的開發積累了經驗,該系統可實現BPM的控制、數據采集、數據處理、顯示和存檔。
1 李 明, 石 泓, 董淑強, 等. 雙絲型同步輻射光束位置監測器的參數設計[J]. 核技術, 2009, 32(6): 401–404 LI Ming, SHI Hong, DONG Shuqiang,et al. Parametric design of a double-wire type PBPM for a synchrotron radiation facility[J]. Nucl Tech, 2009, 32(6): 401–404
2 黎 忠. X 射線位置測量系統[C]. 中國科學院上海應用物理研究所, 2007 LI Zhong. X-Ray beam position monitor system[C].Shanghai Institute of Applied Physics, Chinese Academy of Sciences, 2007
3 秦香云, 劉 平, 胡 純, 等. 同步輻射區光束線位置測量系統的控制和數據獲取[J]. 核電子學與探測技術,2010, 30(2): 236–238 QIN Xiangyun, LIU Ping, HU Chun,et al. The control and data acquirement for X-ray beam position monitor system at Shanghai Synchrotron Radiation Facility[J].Nuclear Electronics & Detection Technology, 2010, 30(2):236–238
4 冷用斌, 周偉民, 袁任賢, 等. 上海光源儲存環束流位置監測系統[J]. 核技術, 2010, 33(6): 402–404 LENG Yongbin, ZHOU Weimin, YUAN Renxian,et al.Beam position monitor system for SSRF storage ring[J].Nucl Tech, 2010, 33(6): 402–404
5 戴 興. 同步光數據采集與處理[D]. 中國科學院上海應用物理研究所, 2008 DAI Xing. Data acquisition and process of synchrotron radiation[D]. Shanghai Institute of Applied Physics,Chinese Academy of Sciences, 2008
6 張麗群. 基于相關法的多重成像亞像素定位算法的研究與實現[D]. 哈爾濱: 哈爾濱工程大學, 2005 ZHANG Liqun. Study on multiple-camera sub-pixel locating algorithm based on correlation[D]. Harbin:Harbin Engineering University, 2005
7 章毓晉. 橢圓匹配法及其在序列細胞圖像 3-D配準中的應用[J]. 中國圖像圖形學報, 1997, 2(8): 574–577 ZHANG Yujin. Ellipse matching and its application to 3D registration of serial cell images[J]. Journal of Image and Graphics, 1997, 2(8): 574–577