涂鐵
(安徽商貿職業技術學院,安徽蕪湖,241002)
混合現實(MR)技術作為一種新興技術,能夠將數字對象和現實世界進行有效融合,從而使用戶可以構建成虛擬與現實交互反饋回路,達到虛擬與現實的有效互動。混合現實技術憑借其實時交互和精準匹配的特點在醫療場景中有著廣闊的發展情景。其在外科手術、醫學研究、康復醫學、遠程會診等方面都能夠發揮重要的作用。基于混合現實手術規劃系統(圖1)是借助三維建模技術、混合現實技術、人機交互技術等將患者身體三維化呈現在相關設備中,使手術醫生可以借助相關數字模擬工具在患者的三維數據基礎上進行手術模擬,從而制定手術方案,降低手術風險。同時相關手術醫生在手術過程中還可以通過混合現實眼鏡方便的查閱相關圖像資料并可以將病人的3d模型投影在患者身體上,從而可以幫助醫生進行精確定位。

圖1 系統基本流程圖
對于數據中心來說來說其主要用來存儲相關病例資料和大量的來自不同設備(CT、X-Ray、MRI等)的醫學圖像數據,這些數據每天可能以幾GB到幾十GB進行增長,如何有效地進行存儲設計,直接影響到整個模擬系統的有效性和工作效率。本文提出一種醫學圖像數據存儲的設計方案,該方案采取分布式數據庫系統+分層存儲的思路,能夠提高圖像數據的傳輸效率,符合終端各種設備的需求。
在本模擬系統當中,隨著用戶可預見性的增長,對云端數據的讀取、寫入等操作頻率會持續增加,當多個用戶并發訪問特定數據時,傳統的單點數據庫系統通常使用事務和鎖來保證數據的完整性,這樣會大大導致響應延遲,降低用戶體驗。
分布式數據庫系統中數據存儲在不同數據點中,這些數據點物理上分布于不同的位置并用高速網絡將其連接從而可以實現統一管理和調度,同時每個數據點都有獨立處理事務的能力。這種特點可以使整個系統在硬件成本增加相對較低的基礎上可以大幅提高數據庫的并發訪問能力,符合商業邏輯[1]。MySQL作為一種常用的開源關系型數據庫管理系統,其免費靈活、動態可擴展等特性,使其適合搭建分布式數據庫系統。
MySQL分布式集群作為一種分布式節點架構的存儲方案,其具有高性能、低成本、提供容錯性等特點,其被廣泛應用在各種存儲系統中,如京東公司的分布式數據庫系統就是基于MySQL分布式集群為主體框架。本模擬系統數據存儲亦可以使用此方案予以搭建。本模擬系統的數據來源于醫院信息系統(HIS)、醫學圖像系統(PACS)等醫院信息化系統中的若干種,其可以分為結構化數據(字符、數值等)和非結構化數據(圖像、DICOM圖像數據)兩大類。其中結構化數據可以直接轉換成關系型數據庫中的各種表,而對于非結構化數據在轉換的時候要保證其結構和內容完整。本文重點論述DICOM圖像數據這一非結構化數據的存儲設計思路。

圖2 分解示意圖
對于本系統來說,DICOM醫學圖像數據的存儲至關重要。一方面,它是三維重建系統的數據來源,另一方面各種終端設備也需要調取它進行查閱分析,所以如何準確快速的讀取醫學圖像數據成為本方案需要重點考慮的問題。
DICOM(Digital Imaging and Communications in Medicine)即醫學數字成像和通信,是醫學圖像和相關信息的國際標準(ISO 12052),相對于其它類型數據而言,DICOM圖像數據具有高分辨率、高精度和大數據量的特點,其數據之間存儲在很強的關聯性和規律性[2]。同時在DICOM醫學圖像數據中醫生通常感興趣的可能只是病癥部分的信息,而其它部分的則很少注意。針對上述特點可以采取分層存儲的思路去存儲相關醫學圖像數據。所謂分層存儲就是根據醫學圖像數據的任務用途來分別建立不同的圖像數據庫,從而提高整個模擬系統的數據讀取效率。
在本模擬系統中,使用三維建模工具使用患者的圖像數據進行數據建模是其中一個重要環節,這些圖像數據的來源就是原始圖像數據庫。當DICOM醫學圖像數據從PACS中傳輸過來后,首先要經過解析然后將DICOM 格式的信息部分和圖像數據部分進行分離并將它們存儲到數據庫中,從而建立成原始圖像數據庫。該數據庫可以設計如下幾個數據表:Patients(患者表 )、Studies(檢查表)、Series(序列表)、Images(圖像表)、linktable(連接表)這些表通過外鍵相互關聯,其中在linktable表是用來提高查詢效率的。

表1 原始圖像數據庫設計
通常情況下,當醫學圖像數據生成后,相關的醫生可能會在圖像上對相關區域進行標注,將病變部分和疑似病變部分和其他部分區分開從而有利于制定手術方案。原始圖像數據庫中的圖像數據可以通過格式轉換成統一格式的醫學圖像,這些轉換后的醫學圖像就可以按照下面的表結構存儲到標注圖像數據庫中。標注圖像數據庫除Patients表、Studies表、Series表、Images表、linktable表外還應加上 Mark(標注表)。其表結構為 Mark(PatientID、ImageID、Position、Information、Doctor)。其中 PatientID列對應的病人的ID,ImageID列對應圖像的圖像號,Position列表示標注在圖像上顯示的位置,Information表示標注的內容,Doctor指明增加該標注的醫生。Mark表同對應的圖像數據在物理上是獨立的,從而保證了圖像數據的完整性。

圖3 數據傳輸示意圖
醫學圖像通常包含更多的紋理信息,常見的醫學影像數據所需的存儲空間較大,故數據傳輸在即時移動端的各個應用場景下都面臨著巨大的挑戰。本文提出一種采用經典的RLE無損壓縮方法對影像數據進行壓縮的思路。RLE算法的主要思想是:用一個表示塊數的屬性加上一個數據塊代表原來連續的若干塊數據,達到縮小存儲空間的效果。本文采用一個真實影像數據來解釋RLE算法的壓縮步驟。首先關注到原圖相鄰的局部區域內存在像素值相同的像素點,故RLE對同一行連續相同的像素塊進行分解,I1中記錄某一像素值連續出現的次數,I2中記錄同一行連續出現的像素值,I3中記錄每一行存在的不同像素值總個數。由此將原圖分解為I1、I2、I3三個矩陣,在實際操作中本文利用png格式進行無壓縮矩陣存儲。可以觀察到由于醫學影像數據存在大量相同數據塊的特殊性,RLE無損壓縮算法能夠極大的對其進行壓縮,則能夠有效解決影像數據在即時移動端的應用場景中完成高速傳輸的目的。
本文針對基于混合現實手術規劃模擬系統圖像數據的存儲需要, 提出了以MySQL分布式集群作為整體存儲架構,并根據醫學圖像數據的特點,提出了分層存儲的思路。對于本模擬系統來說,MySQL分布式集群這一分布式數據庫系統具有低成本、高性能等優點,而采用分層存儲的圖像數據庫的設計思路,又可以提高醫學圖像文件的傳輸效率,從而能夠匹配移動端APP和微信小程序的實時訪問需求。