本發(fā)明涉及打印技術領域,特別是指一種實現dicom打印服務系統(tǒng)。
背景技術:
當成像設備完成醫(yī)學影像文件的采集之后,需要將其發(fā)送至pacs系統(tǒng)并進行存儲,并可供reviewstation進行閱覽并下單診斷。然而除了供reviewstation閱覽之外,還需要將醫(yī)學影像進行膠片打印,交給患者自行保存。在dicom網絡中,從成像設備到打印機之間需要采用符合dicom3.0標準的print服務,從而完成打印任務的協(xié)商與打印文件的傳輸。
技術實現要素:
針對背景技術中存在的問題,本發(fā)明的目的是提供一種實現dicom打印服務系統(tǒng),使得scu能夠與scp建立連接并傳輸打印文件,從而解決不同設備之間的連接規(guī)范與傳輸規(guī)范問題。
本發(fā)明的技術方案是這樣實現的:一種實現dicom打印服務系統(tǒng),包括連接協(xié)商單元和數據傳輸單元,其中,所述連接協(xié)商單元用于建立scu與scp之間的連接,要實現dicom網絡中的打印服務,首先需要建立scu與scp之間的連接,scu接受到打印指令之后調用acse服務,使用a-associate服務原語構建連接請求消息,從而建立dicom底層協(xié)議的連接,連接請求消息經過編碼,分解為pdu之后經由tcp網絡傳輸到scp;所述數據傳輸單元用于數據的傳輸,在開始數據傳輸之前,首先需要生成圖像文件,隨后對圖像文件中的數據進行變換,完成數據轉換后,開始進行數據傳輸的交互進行打印到具體的硬拷貝介質上。
在上述技術方案中,所述連接請求消息需要包括連接雙方的aetitle,包括callingaetitle與calledaetitle,分別指代scu與scp在dicom網絡中的位置,還包括多條用于描述scu希望scp實現的服務,用來存儲連接雙方進行協(xié)商信息的描述上下文。
在上述技術方案中,所述每條描述上下文分為三個部分,分別為描述上下文的id、抽象語義及傳輸語義。
本發(fā)明實現dicom打印服務系統(tǒng),包括連接協(xié)商單元和數據傳輸單元,通過連接協(xié)商單元和數據傳輸單元在打印服務scu與scp之間建立連接的協(xié)商方式,以及scu與scp之間實現打印文件傳輸的交互方式,scu構建連接請求消息,在描述上下文中描述請求的打印服務,scp進行判斷之后返回響應消息并建立連接,連接建立之后,scu采用n-create和n-set服務原語,從而實現打印文件的傳輸。
附圖說明
圖1為本發(fā)明print服務過程中的數據流示意圖;
圖2為本發(fā)明dicomprint服務中的各個對象的包含關系圖;
圖3為本發(fā)明信息交互的流程圖;
圖4為本發(fā)明信息交互前轉換示意圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
在dicom網絡中,print服務的scu常為成像設備,而scp常為dicom打印服務器,可接收dicom數字工作站傳來的膠片信息,從而進行膠片的打印。本發(fā)明所述的一種實現dicom打印服務系統(tǒng),包括連接協(xié)商單元、數據傳輸單元,以下是對上述兩個單元的具體執(zhí)行進行的詳細說明。
(1)連接協(xié)商單元:
要實現dicom網絡中的打印服務,首先需要建立scu與scp之間的連接。scu接受到打印指令之后,首先需要調用acse服務,使用a-associate服務原語構建連接請求消息,從而建立dicom底層協(xié)議的連接。
連接請求消息需要包括連接雙方的aetitle,包括callingaetitle與calledaetitle,分別指代scu與scp在dicom網絡中的位置。除了連接雙方的aetitle之外,還需要包括多條描述上下文。
描述上下文用于描述scu希望scp實現的服務,用來存儲連接雙方進行協(xié)商的信息。每條描述上下文分為三個部分:
a.presentationcontextid。每個描述上下文的id都是獨一無二的,用來區(qū)分不同的描述上下文。
b.abstractsyntax,即抽象語義,為scu希望scp實現的服務的抽象名稱。
c.transfersyntax,即傳輸語義,表示連接雙方進行數據傳輸的編碼方式。
在print服務進行連接協(xié)商時,需要包含三條描述上下文,三條描述上下文所包含的abstractsyntax分別為verificationsopclass、basicgrayscaleprintmanagementmetasopclass和basiccolorprintmanagementmetasopclass,其中basicgrayscaleprintmanagementmetasopclass和basiccolorprintmanagementmetasopclass同屬于metasopclass,是許多sopclass的集合,前者為灰階打印,后者為彩色打印,其包含的sopclass如下表所示:
包含三條描述上下文的連接請求消息經過編碼,分解為pdu之后經由tcp網絡傳輸到scp。scp還原連接消息之后,對三條描述上下文進行判斷,是否能夠完成。其中,basicgrayscaleprintmanagementmetasopclass和basiccolorprintmanagementmetasopclass兩種metasopclass至少要能實現一種,如果兩種都無法實現,則連接無法建立。判斷完成后,構建連接響應消息,對應不同的描述上下文寫入狀態(tài)消息(是否能執(zhí)行),響應消息經過編碼后,分解為pdu之后經由tcp網絡傳輸到scu。如果兩種metasopclass至少能實現一種,則連接建立。
(2)數據傳輸單元:
在dicom網絡中,film用來統(tǒng)稱不同的硬拷貝,包括膠片與紙張。print服務過程中的數據流從整體上如圖1所示。
具體服務流程如下所述:
在開始數據傳輸之前,首先需要生成圖像文件。隨后,需要對圖像文件中的數據進行變換,這一步統(tǒng)稱為modalityuserspecifictransformations,包含下面三個變換:
完成數據轉換后,開始進行數據傳輸的交互:
a.scu調用n-get服務原語以獲取打印機的各項參數,構建dimse消息后傳輸到scp,scp構建響應消息后將打印機的各項參數返回到scu。
b.根據兩種metasopclass其中一種的basicfilmsessionsopclass,scu調用n-create服務原語,構建dimse消息后傳輸到scp,scp接收到dimse消息后創(chuàng)建basicfilmsessionsopinstance實例對象。
c.創(chuàng)建basicfilmsessionsopinstance后,根據basicfilmboxsopclass再次調用n-create服務原語,構建dimse消息后傳輸到scp,scp接收到dimse消息后創(chuàng)建basicfilmboxsopinstance。
d.scp完成創(chuàng)建basicfilmboxsopinstance后,將其關聯(lián)到父類basicfilmsessionsopinstance,同時根據c步驟中的n-create服務原語中的imagedisplayformat參數為每一個圖像文件創(chuàng)建imageboxsopinstance。
e.scu調用n-set服務原語以設置各個imageboxsopinstance對象。
f.scp接收到圖像數據后,需要對數據進行變換,主要包括兩個變換,分別為polarity變換與presentationlut變換,前者用于設置最小像素值對應于黑或白(0或255),后者用于將像素數據轉換為人眼可見的設備特定的顯示數據。
g.scp判斷是否有collation排序算法,如果有則調用n-action服務原語通過n-action中規(guī)定的操作對basicfilmsessionsopinstance創(chuàng)建出printjobsopinstance實例對象,從而觸發(fā)打印操作;如果沒有collation排序算法,則調用。n-action服務原語通過n-action中規(guī)定的操作對basicfilmboxsopinstance創(chuàng)建出printjobsopinstance實例對象,從而觸發(fā)打印操作。
h.scp使用打印機接口,將printjobsopinstance實例對象中的數據傳輸到打印機上,從而完成打印。
i.打印任務完成或失敗后,scp調用n-delete指令,刪除basicfilmsessionsopinstance與其中的basicfilmboxsopinstance。
j.scp調用n-event-report服務原語,向scu端反饋具體打印狀態(tài)。
k.調用a-release服務原語,構建acse消息,釋放連接。
dicomprint服務中的各個對象的包含關系如圖2所示。
根據圖2所示的關系圖,filmsession可以理解為一個圖像集,其中包含多張圖像。每一張圖像就是一張film,可以進行打印到具體的硬拷貝介質上。而每一張film上會有多個image,由imagebox承載,打印在同一張film上。而在film上還會有注釋,即為annotation。其中,信息交互的流程如圖3所示。而在信息交互的前后,在scu和scp端都需要進行數據的轉換,轉換流程如圖4所示。
以下是結合一具體實例進行進一步的輔助說明:
現有一份ct圖像需要打印。成像設備先構建一條連接請求消息,其中包含信息如下表所示:
經過編碼后,傳輸到scp。scp接受到信息后,對描述上下文進行判斷,
是否能夠執(zhí)行,返回的響應消息如下:
三條描述上下文都被接受,連接建立。
首先scu向scp獲取打印機的各項參數,隨后調用n-create服務原語發(fā)送dimse消息在scp創(chuàng)建filmsession,隨后調用n-create服務原語發(fā)送dimse消息在scp創(chuàng)建filmbox,隨后調用n-set服務原語發(fā)送dimse消息在scp設置imagebox。
scp具有collation排序算法,因此對filmsession使用n-action指令創(chuàng)建printjob,并傳輸到打印機上打印。打印完成后,scp調用n-delete指令,刪除掉filmsession及以下的filmbox。完成后,調用n-event-report服務原語,向scu端反饋具體打印狀態(tài)。最后構建acse消息,調用a-release服務原語,釋放連接。
本發(fā)明實現dicom打印服務系統(tǒng),具有以下有益效果:
1.在dicom網絡中,醫(yī)學影像文件都是以dicom文件格式進行傳輸,對于從影像設備傳輸過來的dicom文件,scp(打印服務器)需要根據相應的參數進行文件的接收以及printjob的創(chuàng)建,從而將圖像打印在硬拷貝介質上。通過傳輸與打印方式的統(tǒng)一,使得dicom文件格式的圖像能夠正確地完成打印,避免出現讀取錯誤無法打印需要多次調試的情況。
2.在數據傳輸的過程中調用的是metasopclass而不是sopclass,metasopclass是對多個sopclass的整合,其中包含多個打印相關的sopclass,分為灰階打印與彩色打印兩種模式,使得創(chuàng)建連接請求消息時描述上下文簡練,易于scp進行判斷。如果采用普通的sopclass,會有多條描述上下文需要判斷,且無法清晰地對打印的模式進行區(qū)分。
3.當scu與scp創(chuàng)立連接之后,scu先向scp獲取打印機的各項參數,從而根據這些參數調整filmsession與filmbox的創(chuàng)建,使得創(chuàng)建的打印任務對打印機完成適配。同時,傳輸的數據經過轉換,采用極性轉換與lut轉換,能夠圖像中感興趣的區(qū)域打印出來,相當于進行窗寬窗位的調整,使得打印效果更佳。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。