999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Delphi的“虛擬膠片打印系統”的技術實現

2014-09-26 20:12:57張穎
軟件工程 2014年9期

張穎

摘 要:利用Delphi和VS這兩種開發平臺,結合Oracle數據庫,實現膠片排版、膠片調整、虛擬打印,自助打印、系統管理等功能。重點介紹了系統開發過程中針對特殊問題采用的幾種技術。目的是完成膠片的集中打印管理,膠片存儲備份,減少開支。

關鍵詞:Delphi;PACS;C/S;膠片虛擬打印

中圖分類號:TP31 文獻標識碼:A

1 引言(Introduction)

在美國,擁有許多醫療影像診斷與Internet相結合的PACS系統(Picture Archiving and Communication Systems),隨著網絡IT技術的發展,實現了真正意義的遠程會診,并將實現無膠片化。在歐洲,PACS與醫院信息系統融合,形成日趨爆炸的醫學信息網,并產生了越來越多的應用方向。在亞洲一些發達國家,如日本、韓國、我國臺灣地區,經過十幾年的發展,特別是一些國家的政府大力扶持之下,PACS系統已經實用化。由于我國開發和引進PACS系統較晚,目前已經建立并有效運行的PACS系統并不多見。究其原因主要是標準化程度低、兼容性差、一般為封閉式的專用系統,既不經濟、價格也昂貴,配置的硬件合理,對工作量大的醫院缺乏強大的存儲子系統,無法支持數量巨大的常規放射影像,因此不能真正實現無片化管理。現有的PACS系統設計大多數沒有考慮技術發展和擴展需要的可能,難以與現有的HIS/RIS整合為一個系統[1]。

2 虛擬膠片打印系統功能(The capability of virtual

film printing system)

系統主要實現膠片排版、膠片調整、虛擬打印、自助打印、系統管理等功能。目的是完成膠片的集中打印管理,膠片存儲備份,減少開支。普通PC機上達到或者接近設備工作站的處理速度;采用大數據量壓縮算法盡量減少存儲空間需求;解決膠片打印的虛擬化技術。

3 關鍵技術(The key technologies)

實現以上功能要解決的關鍵技術有數據壓縮技術,數據傳輸技術,共享內存技術,大數據量下的數據處理技術,與三方RIS系統接口技術等等。

3.1 數據庫技術介紹(The database technology)

不一樣的數據庫有不一樣的特征,有自己的適用場合,Access用于小型系統;My SQL用于中小型系統;SQL server用于中型系統;Oracle用于大型系統;Db2用于大中小型系統。本系統采用Oracle數據庫。

Oracle數據庫產品是當前數據庫技術的典型代表,Oracle的產品除了數據庫系統外,還有應用系統和開發工具等。目前的Oracle 9是一個面向對象的數據庫系統,它既非純的面向對象的數據庫也非純的關系數據庫,而是兩者的結合,因此叫做“對象關系數據庫”[2]。

3.2 共享內存技術介紹(The shared memory technology)

內存映射文件的原理是,先保留一段虛擬內存空間,再將磁盤文件提交給這段內存空間,并且返回一個指向這段內存空間的指針,就可以訪問文件的內容了。

使用內存映射文件的好處:可以實現不同進程間共享文件或共享內存區域中的數據;可訪問映射文件的數據,并簡化對文件訪問的操作。內存映射文件的使用步驟:

Step1:創建或打開一個磁盤文件,調用FileCreate()或FileOpen()函數。

Step2:創建或打開內存映射文件對象,調用CreateFileMapping()或OpenFileMapping()函數。

Step3:將磁盤文件的視圖映射到進程的地址空間中,調用MapViewOfFile()函數。

Step4:取消文件視圖的映射,調用UnmapView

OfFile()。

Step5:關閉文件映射和文件,調用CloseHandle()和CloseFile()分別關閉文件映射和文件。

3.3 使用TIdFtp控件實現膠片的上傳和下載(Use the

IIdFtp control to achieve film upload and download)

系統在上傳和下載膠片時,采用FTP傳輸。Delphi中使用TIdFtp控件實現文件的下載:指定Put的AAppend:=True。TIdFtp的網絡操作大部分是阻塞模式的。這樣在上述操作運行的時候用戶界面被暫時凍結,必須要等待調用返回才能繼續用戶操作界面響應。所以在實際編程中,需要使用多線程的方式來保證用戶界面的響應。Windows系統可以使用CreateThread系統調用來創建線程,但是在使用的時候需要開發人員做很多額外的工作來保證線程的同步等問題。Indy中包含了實現多線程的控件TIdThreadComponent,該控件實現多線程時更加方便,也更容易控制。

3.4 通過VS編譯DCMTK(Compiled DCMTK by VS)

DCMTK(Digital Imaging and Communications in Medicine醫學數字成像和通信)是一個開放程序代碼的DICOMToolkit,是目前最廣為應用的處理DICOM影像的工具包[3]。要使用該工具包則需要對其進行編譯,得到我們需要的庫文件.lib,然后再和頭文件一起加入到我們的工程中進行使用。在程序中使用編譯的函數庫,主要是要把.h和.lib文件加入到工程中。對于源碼來說.h文件都相同,而.lib文件一般來說會有debug版本和release版本,不同的版本只是在對源碼進行編譯時,選擇的編譯模式不同。

第一,準備工作。下載編譯的源文件和工具及支持工具包,下載編譯工具Cmake。在任意盤,新建文件夾DCMTK,將下載文件均放到該文件夾并解壓到當前文件夾;然后新建三個文件夾分別叫bin、lib和support。把支持庫的文件夾都移到support中,而bin和lib用來放編譯結果。endprint

第二,向VS2005安裝目錄中添加支持庫文件。在support文件夾中搜索include,將搜索到的所有文件全部復制到vs2005的VC目錄中;將xinclude.移到D:/ProgramFiles/MicrosoftVisualStudio8/VC/include中。同樣搜索*_d.lib文件,將其添加到D:/ProgramFiles/MicrosoftVisualStudio8/VC/lib文件夾中,文件名中去掉_d(若編譯release版本,則搜索*_o.lib文件,復制到D:/ProgramFiles/MicrosoftVisualStudio8/VC/lib文件夾,再去除_o)。接著搜索bin,將搜索結果放到D:/ProgramFiles/MicrosoftVisualStudio8/VC/bin。

第三,CMAKE工具的使用。首先,更改編譯標志。打開C:/DCMTK/cmake-2.6.0-win32-x86/bin中的cmake-gui.exe程序,設定編譯的源代碼路徑和輸出路徑,在此選擇C:/DCMTK/dcmtk-3.5;勾選“showadvanceentries”,然后將編譯的開關設置為MT,默認的為MD,注:MT、MD是決定庫文件的引用方法,在VS2005的MFC程序中,項目->屬性—>配置屬性->常規中,“MFC的使用”項中選擇“共享的DLL中使用MFC”時才選擇MD,其他兩種情況選擇MT。在使用Cmake是一定要保證:C:/DCMTK/dcmtk-3.5.4文件夾中的CMakeLists.txt中,CMAKE程序的編譯開關,VS2005中項目程序中的MT、MD標志一致。然后,勾選全部支持庫,并且找到EXECUTABLE_OUTPUT_PATH和LIBRARY_OUTPUT_PATH分別設為C:/DCMTK/bin和C:/DCMTK/lib,這樣最后編譯出來的lib文件和exe文件就在這兩個文件夾中,勾選支持庫和設置輸出目。最后,點擊Configure,選擇當前編譯器。然后點擊Genarate,生成DCMTK的項目文件。此時會出現紅色警告。讓你在某個目錄下的Cmakelist.txt文件中的ADD_EXECUTABLE(${PROGRAM}${PROGRAM})行前添加:

if(COMMANDcmake_policy)

cmake_policy(SETCMP0003NEW)

endif(COMMANDcmake_policy)

這是由于DCMTK3.5.4是對Cmake2.4版本的使用,使用高于2.6.0的Cmake進行編譯金輝出現此警告,在其彈出的指定文件夾中的cmakelist文件中相應的位置,添加要求添加的語句即可。

第四,在VS2005中進行編譯。首先,編譯ALL_BUILD。進入C:/DCMTK/dcmtk-3.5.4目錄,雙擊dcmtk.sln文件,在打開的項目中,從主選單中選“生成”-“批生成”,在彈出的對話盒中勾選“ALL_BUILD”的DEBUG方案,并按下“生成”。然后,編譯INSTALL。主選單中選“生成”-“批生成”,在彈出的對話盒中勾選“INSTALL”的DEBUG方案,并按下“生成”。

第五,VS2005中使用DCMTK。這里主要介紹DEBUG版本的DCMTK庫在VS2005中的應用。DCMTK的支持庫已經加入VS2005的內置庫中,現在只需要添加DCMTK的庫即可。(1)頭文件的安放:如同支持庫文件的添加方法一樣,在C:/DCMTK/dcmtk-3.5.4中搜索Include然后將搜索結果放入到VS2005中VC目錄下Include中。(2)庫文件的安放:新建一個MFC工程,再將C:/DCMTK/lib文件夾中.lib文件放入工程文件夾中,然后在stdafx.h中添加如下代碼:

#pragmacomment(lib,"netapi32.lib")

#pragmacomment(lib,"wsock32.lib")

#pragmacomment(lib,"ofstd.lib")

#pragmacomment(lib,"dcmdata.lib")

#pragmacomment(lib,"dcmimgle.lib")

#pragmacomment(lib,"dcmimage.lib")

#pragmacomment(lib,"ijg8.lib")

#pragmacomment(lib,"ijg12.lib")

#pragmacomment(lib,"ijg16.lib")

#pragmacomment(lib,"dcmjpeg.lib")

#pragmacomment(lib,"dcmnet.lib")

#pragmacomment(lib,"dcmdsig.lib")

#pragmacomment(lib,"dcmsr.lib")

#pragmacomment(lib,"dcmtls.lib")

#pragmacomment(lib,"dcmpstat.lib")

#pragmacomment(lib,"dcmwlm.lib")

#pragmacomment(lib,"dcmqrdb.lib")

#pragmacomment(lib,"dcmtkeay.lib")

#pragmacomment(lib,"dcmtkssl.lib")

#pragmacomment(lib,"iconv.lib")

#pragmacomment(lib,"libtiff.lib")

#pragmacomment(lib,"libpng.lib")

#pragmacomment(lib,"libxml2.lib")

#pragmacomment(lib,"zlib.lib")

這樣就可以在工程中使用DCMTK了。如果要改為release版本,則需要將DCMTK的支持庫、庫文件的.lib文件更換掉。

第六,涉及的外部接口。硬件接口:(1)條碼掃描槍掃描一維條形碼將識別的號碼錄入系統。(2)讀卡器通過刷IC卡將病人卡號等基本信息錄入系統。軟件接口:(1)膠片打印通過共享內存的方式調用FilmSend.exe程序進行膠片打印。(2)報告打印通過socket套接字的方式調用AutoPrintReport.exe程序進行報告打印。

4 結論(Conclusion)

在經過模塊的測試后,膠片排版可按指定布局進行排列,已經能夠證實該軟件排版功能已基本達到要求,調試功能能夠實現,但是穩定性還有待加強;系統設置功能也得以實現。需進一步加強該系統的傳輸速度及穩定性。

參考文獻(References)

[1] 李國強.PACS系統及構建醫院PACS中存在的問題[J].實用醫

技雜志,2006,13(16):2853-2854.

[2] 張曉林,吳斌,晁陽.Oracle數據庫開發基礎教程[M].北京:清華

大學出版社,2009.

[3] 王偉蔚,等.基于DICOM文本與內容的醫學圖像檢索系統研

究[J].計算機工程與設計.2011,32(3):1014-1018.

作者簡介:

張 穎(1981-),女,碩士,助理實驗師.研究領域:計算機應

用,軟件工程.endprint

主站蜘蛛池模板: 国产91九色在线播放| 国产99视频精品免费观看9e| 精品久久国产综合精麻豆| 久久国产免费观看| 国产激情无码一区二区三区免费| 99re精彩视频| 精品国产91爱| 国产chinese男男gay视频网| 最新无码专区超级碰碰碰| 无码免费的亚洲视频| 国国产a国产片免费麻豆| 9丨情侣偷在线精品国产| 成人在线天堂| 熟妇丰满人妻av无码区| 无码免费的亚洲视频| 亚洲欧美精品在线| 国产欧美日韩综合在线第一| 亚洲视频欧美不卡| 综合天天色| 久久九九热视频| 久久一本日韩精品中文字幕屁孩| 国产精品网址你懂的| 国产主播一区二区三区| 日韩精品亚洲人旧成在线| 亚州AV秘 一区二区三区| 日本在线欧美在线| 91久草视频| 国产成人a毛片在线| 久久99蜜桃精品久久久久小说| 色哟哟国产精品一区二区| 毛片手机在线看| 国产区网址| 国产福利拍拍拍| 亚洲品质国产精品无码| 青青国产视频| 韩国v欧美v亚洲v日本v| 成人在线观看不卡| 国产另类视频| 中文字幕天无码久久精品视频免费 | 99re视频在线| 久草中文网| 国产成人麻豆精品| 成年看免费观看视频拍拍| 最新无码专区超级碰碰碰| 欧美国产日韩在线| 最新精品久久精品| 一本色道久久88| 久草青青在线视频| 亚洲国产综合精品一区| 国产又爽又黄无遮挡免费观看| 国产剧情一区二区| 国产视频大全| 国产大片喷水在线在线视频| 青青草91视频| 精品久久综合1区2区3区激情| 欧美成在线视频| 亚洲中文字幕在线一区播放| 福利姬国产精品一区在线| 97亚洲色综久久精品| 女人天堂av免费| 亚洲成a人片| 日日拍夜夜操| 国产女人18水真多毛片18精品| 乱色熟女综合一区二区| 中国一级特黄大片在线观看| 最新日韩AV网址在线观看| 婷婷六月综合网| 欧美精品影院| 久久综合亚洲鲁鲁九月天| 日韩无码黄色网站| 一级毛片在线免费视频| 日韩欧美国产综合| 国产a v无码专区亚洲av| 亚洲国产一区在线观看| 欧美视频二区| 国产欧美视频在线| 国产成人福利在线| 国产一区二区视频在线| 亚洲欧洲一区二区三区| 欧美国产综合视频| 国产av一码二码三码无码| 亚洲天堂日韩在线|