馬艷歌+馮娟
摘 要:簡要介紹了一種多適應可復用X射線產品的算法庫架構設計,以期為日后的相關工作提供參考。基本這種設計方法、算法庫內的功能和代碼,可以在不同產品之間或者同一產品的不同版本間反復使用,這對算法庫的日常維護是非常重要的。針對算法庫的管理對象,闡述了對象池模式的使用方法,進而提高對象的可復用性,降低系統內存的使用率。
關鍵詞:架構設計;對象池;X射線;可復用性
中圖分類號:TP311.52 文獻標識碼:A DOI:10.15913/j.cnki.kjycx.2016.05.099
在數字化醫用X射線攝影系統中,獲取到原始圖像后,必須采用圖像處理算法得到適用于臨床診斷的圖像。在設計相關軟件時,將一系列圖像處理算法的集合稱為算法庫。雖然攝影產品的種類繁多,但是,圖像處理算法卻有很多共同之處,它們差異不大。這就為不同產品之間圖像處理算法的復用提供了有利的條件。在同一個產品的生命周期中,會遇到需要同時維護多個有差異的算法版本的情況,而在這些差異版本之間,也有大量的代碼是可以復用的。
本文提出的多適應可復用的算法庫架構設計適用于不同產品之間或者同一個產品的不同版本之間,它能最大限度地復用算法代碼。另外,針對算法庫實例對象管理提出了對象池模式。它不僅能夠保證每幅圖像都有獨立的算法庫實例對象,還能夠提高對象的可復用性,降低系統內存的使用率。
1 算法庫總體架構設計
圖1展示了算法庫總體架構的設計原理。其中,IPMain具有算法庫實例對象管理功能;XXImplement具有算法完整的功能,能夠實現不同產品之間或者同一產品不同版本之間的算法功能對接;AlgorithmBasis則具有基礎算法的功能,它為所有產品和同一產品所有版本的實現提供算法調用服務;ArithemeticBasis則具有基礎運算功能,比如加、減、乘、除,求直方圖等。
2 算法庫詳細架構設計
圖2展示了算法庫的基礎架構和2種擴展變化。其中,圖2(a)為基礎架構,A1是算法庫提供的2個差異較大的對外使用接口。它可能是2個產品的接口,也可能是屬于同一個產品的不同版本的接口。A1_A1是接口的實現類,它們不是用于實現某個算法的代碼,而是用于算法流程設立和參數配置等操作的。圖2(b)適用于接口沒有變化的產品,但是,它們的功能實現不同。A1_B1的功能與A1_A1完全獨立。這種情形多出現在不同產品之間,它們的功能相同,算法不同。圖2(c)適用于在原有產品的所有功能上新增了獨立功能的新產品,比如乳腺篩查機。這種架構設計的第一代產品只有2D圖像功能,第二代產品既包含2D功能,又新增了斷層重建功能。
3 算法庫對象管理
圖像處理流程要求支持多線程的應用場景,即每一幅圖像能夠獨立處理,而且多幅圖像的處理能夠同時進行。因為算法實現對象內部有不同的模板、數據等圖像獨享信息,所以,每幅圖像都需要一個算法實現對象與其對應,即在圖像開始處理時創建該對象,在圖像處理結束后銷毀該對象,整個操作由應用層執行。
本文提出了一種使用對象池模式的算法庫對象管理方法,其主要有以下3個特點:①將對象的創建、銷毀、復制、賦值等操作以接口的方式提供給應用層使用。②為每一個創建的對象增加引用計數,表示該對象正在使用。當引用計數被清除時,表示該對象已經閑置。③當接收到創建對象的申請時,要先查找當前有無閑置對象,如果有,則返回該對象供使用,不然就要創建新對象。為了有效控制對象占用的內存,就要控制對象的總數量。當對象的數量達到上限,全部在使用,并且又收到創建對象的申請時,則需等待對方閑置下來后再返回。
4 結論
由本文提出的設計方法可知,與傳統方法相比,從架構角度來說,文中提到的方法有較強的復用性和可維護性;從對象管理的角度來說,對象池模式的方法在面向接口編程時,在對象復用性、運行穩定性和最大內存可控性方面有明顯的優勢。
參考文獻
[1]Linlan Liu.Study of Multiple Instances Schedule Based on Object Pool[G]//International Symposium on Information Processing(ISIP).Qingdao:Institute of Electrical and Electronics Engineers ,2010:46-49.
[2]Sun Ruizhi,Shi Meilin.Schedule of activity instance in workflow management system[J].Journal of Softerware,2005(03):400-406.
[3]Prayasee P.Impact of Design Patterns on Quantitative Assessment of Quality Parameters[G]//Advances in Computing and Comm -unication Engineering(ICACCE).Dehradun:Insitute of Electrical and Electronics Engineers,2015: 577-582.