一種基于多模態(tài)醫(yī)學(xué)影像數(shù)據(jù)模型的醫(yī)學(xué)數(shù)據(jù)提取和并行加載方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于醫(yī)療信息技術(shù)領(lǐng)域,具體涉及一種基于多模態(tài)醫(yī)學(xué)影像數(shù)據(jù)模型的醫(yī)學(xué)數(shù)據(jù)提取和并行加載方法。
【背景技術(shù)】
[0002]如何有效利用醫(yī)療機(jī)構(gòu)產(chǎn)生的醫(yī)學(xué)影像大數(shù)據(jù)輔助醫(yī)生做出準(zhǔn)確的診斷已經(jīng)成為信息處理領(lǐng)域的研究熱點(diǎn)。隨著近幾年國內(nèi)外醫(yī)療信息化領(lǐng)域的長足發(fā)展,各種醫(yī)療信息平臺都產(chǎn)生了大量的醫(yī)學(xué)影像數(shù)據(jù),同時(shí)伴隨著數(shù)據(jù)挖掘技術(shù)在各個行業(yè)的大規(guī)模普及和應(yīng)用,這些醫(yī)學(xué)影像數(shù)據(jù)也成為了數(shù)據(jù)挖掘的重要應(yīng)用領(lǐng)域。這些數(shù)據(jù)中既包含有結(jié)構(gòu)化的文本信息,也包含有非結(jié)構(gòu)化的圖像信息,而且不同信息間的關(guān)系也是復(fù)雜多樣的,醫(yī)學(xué)影像數(shù)據(jù)的這種多模態(tài)特性使得如何處理和使用它不同于一般的圖像,傳統(tǒng)的圖像語義處理技術(shù)已很難滿足用戶使用這類影像數(shù)據(jù)的需求,所以通過對這種多模態(tài)的數(shù)據(jù)進(jìn)行統(tǒng)一建模并基于這個模型對數(shù)據(jù)進(jìn)行提取和加載建立醫(yī)學(xué)影像數(shù)據(jù)庫對充分有效地使用醫(yī)學(xué)影像數(shù)據(jù)是有較高學(xué)術(shù)價(jià)值和實(shí)際應(yīng)用前景的。
[0003]目前,國內(nèi)外在圖像的語義處理研究方面,主要采用面向?qū)ο蟮膱D像語義模型對圖像進(jìn)行建模,將圖像中的不同部分進(jìn)行對象化處理,但是將與圖像數(shù)據(jù)存在關(guān)聯(lián)的其他模態(tài)數(shù)據(jù)統(tǒng)一進(jìn)行對象化建模則暫時(shí)還沒有實(shí)現(xiàn)。醫(yī)學(xué)影像往往伴隨著大量其他模態(tài)數(shù)據(jù),這些數(shù)據(jù)或者和圖像直接相關(guān),或者間接描述了圖像。為此提出一種能夠?qū)D像和其他模態(tài)數(shù)據(jù)進(jìn)行統(tǒng)一建模的模型和基于此模型對影像數(shù)據(jù)進(jìn)行提取和加載的方法是一個亟待解決的問題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是針對醫(yī)學(xué)領(lǐng)域使用最為廣泛的符合DICOM(Digital Imaging andCommunicat1ns in Medicine)標(biāo)準(zhǔn)的文件提出一種能夠提高醫(yī)學(xué)影像數(shù)據(jù)利用率的基于多模態(tài)醫(yī)學(xué)影像數(shù)據(jù)模型的醫(yī)學(xué)數(shù)據(jù)提取和并行加載方法。
[0005]本發(fā)明的目的是這樣實(shí)現(xiàn)的:
[0006]本發(fā)明包括如下步驟:
[0007](I)數(shù)據(jù)準(zhǔn)備:準(zhǔn)備待加載的DICOM類型文件,提出加載請求;
[0008](2)數(shù)據(jù)建模:根據(jù)DICOM數(shù)據(jù)字典的規(guī)定,對DICOM文件中各個模態(tài)的信息建立多模態(tài)數(shù)據(jù)模型;
[0009](3)數(shù)據(jù)提取:開啟多個并行線程,每個線程依據(jù)DICOM數(shù)據(jù)字典和上一步已建立的多模態(tài)數(shù)據(jù)模型對文件分別獨(dú)立地進(jìn)行數(shù)據(jù)的讀取并建立模型元素;
[0010](4)數(shù)據(jù)加載:多個并行線程將數(shù)據(jù)提取階段生成的模型元素加載至數(shù)據(jù)庫中;
[0011](5)數(shù)據(jù)使用:基于多模態(tài)數(shù)據(jù)模型的DICOM數(shù)據(jù)提取和并行加載技術(shù)將原始醫(yī)學(xué)影像數(shù)據(jù)中的各個模態(tài)數(shù)據(jù)全部進(jìn)行了提取和統(tǒng)一建模并以數(shù)據(jù)庫的形式進(jìn)行了存儲,按照模型中實(shí)體和實(shí)體間關(guān)系的結(jié)構(gòu)讀取數(shù)據(jù)庫即可使用已加載完成的數(shù)據(jù)。
[0012]數(shù)據(jù)建模為:該模型采用面向?qū)ο蟮乃枷氩凑铡皩?shí)體-關(guān)系”的形式對數(shù)據(jù)進(jìn)行建模,具體建模過程如下:加載DICOM標(biāo)準(zhǔn)的數(shù)據(jù)字典D ={(t,n,v) |t e Tag, n e Name, v e VR}(其中Tag為字段標(biāo)簽集合,每一個字段標(biāo)簽由組號和元素號組成,Name為字段名稱集合,VR為值表示集合);根據(jù)t = (0010,****) (0010為組號,****代表該組中全部元素)的數(shù)據(jù)組建立病人實(shí)體,該實(shí)體的屬性和屬性類型的取值為t在數(shù)據(jù)字典D中對應(yīng)的η和V (每個實(shí)體在數(shù)據(jù)庫都以一張表存儲,實(shí)體的屬性和屬性類型為該表中的記錄);對應(yīng)t= (0018,0015)的數(shù)據(jù)元素中記錄的檢查部位信息,建立檢查部位實(shí)體,若t = (0018,0015)為空,則根據(jù)t = (0018,1030)數(shù)據(jù)元素中的協(xié)議名稱確定檢查部位,該實(shí)體的屬性留空;建立病人實(shí)體和檢查部位實(shí)體之間的實(shí)體間關(guān)系,其屬性和屬性類型留空(每個實(shí)體間關(guān)系在數(shù)據(jù)庫同樣以一張表存儲,其屬性和屬性類型為該表中的記錄);根據(jù)t = (0028,****)數(shù)據(jù)組中記錄的圖像參數(shù)以及t = (7FE0, 0000)和t= (7FE0,0010)中存儲的圖像像素?cái)?shù)據(jù)建立圖像實(shí)體,該實(shí)體的屬性和屬性類型的取值為t在數(shù)據(jù)字典D中對應(yīng)的η和V ;根據(jù)t = (0008, ****)數(shù)據(jù)組中記錄的病人檢查信息、t = (0018,****)中記錄的成像信息和t = (0020,****)中記錄的圖像信息建立圖像實(shí)體與檢查部位實(shí)體之間的實(shí)體間關(guān)系,其屬性和屬性類型的取值為t在數(shù)據(jù)字典D中對應(yīng)的η和V。
[0013]數(shù)據(jù)提取為:根據(jù)數(shù)據(jù)準(zhǔn)備階段已經(jīng)準(zhǔn)備好的DICOM文件建立文件隊(duì)列;開啟多個并行線程,在線程間分配DICOM文件;單個線程中,首先建立病人對象P、檢查部位對象e、P和e的對象間關(guān)系p-e、圖像對象i以及e和i的對象間關(guān)系e_i ;然后讀取t =(0002,0000)數(shù)據(jù)元素確定DICOM文件的設(shè)備通訊組長度,讀取t = (0002, 0010)數(shù)據(jù)元素確定DICOM文件的傳輸語法,并根據(jù)DICOM數(shù)據(jù)字典中對字段類型的規(guī)定對文件中的每個字段逐一進(jìn)行讀取,最后根據(jù)實(shí)體和實(shí)體間關(guān)系中屬性對字段的規(guī)定,將讀取到的字段內(nèi)容賦值給對應(yīng)的對象或?qū)ο箝g關(guān)系的屬性,建立五元組(P,e, p-e, i, e-1)。
[0014]數(shù)據(jù)加載為:每個線程根據(jù)數(shù)據(jù)提取階段已經(jīng)建立的五元組(p,e, p-e, i, e-1),依次向數(shù)據(jù)庫中存儲五元組中的每個元素(每個對象和對象間關(guān)系在數(shù)據(jù)庫中都是根據(jù)其對應(yīng)的實(shí)體表或?qū)嶓w間關(guān)系表建立的一張表,屬性作為該表的字段,而一個對象或?qū)ο箝g關(guān)系即為該表的一條記錄,加載一個對象或?qū)ο箝g關(guān)系即為在對應(yīng)表中新增一條記錄并為每個字段賦值,對象間關(guān)系表通過設(shè)置兩個對象的外鍵來表示這兩個對象之間的關(guān)系);存儲時(shí),首先判斷P和e是否在數(shù)據(jù)庫中已經(jīng)存在,若存在則不再重復(fù)存儲,而且每個線程在判斷P和e的存在性以及存儲P和e的過程中要進(jìn)入臨界區(qū),防止和其他線程發(fā)生線程沖突。
[0015]本發(fā)明的有益效果在于:
[0016]本發(fā)明提出的多模態(tài)數(shù)據(jù)模型是對醫(yī)學(xué)影像數(shù)據(jù)的一個統(tǒng)一模型。提出的基于多模態(tài)數(shù)據(jù)模型的DICOM提取和并行加載技術(shù)實(shí)現(xiàn)了醫(yī)學(xué)影像數(shù)據(jù)的統(tǒng)一建模和存儲。這種統(tǒng)一建模的數(shù)據(jù)提取和加載技術(shù)對原始數(shù)據(jù)的利用率很高,不同類型數(shù)據(jù)之間的關(guān)系也被精確完整地表達(dá),從而擴(kuò)展了基于醫(yī)學(xué)影像數(shù)據(jù)的數(shù)據(jù)挖掘的挖掘范圍和深度。采用統(tǒng)一模型對所有模態(tài)的數(shù)據(jù)建模,使數(shù)據(jù)的后期使用和更新具有更好的通用性和一致性。
【附圖說明】
[0017]圖1是提取和并行加載技術(shù)的流程圖;
[0018]圖2是DICOM類型文件的常用數(shù)據(jù)組示例;
[0019]圖3是多模態(tài)數(shù)據(jù)模型的建模示例圖;
[0020]圖4是并行加載算法的流程圖。
【具體實(shí)施方式】
[0021]下面結(jié)合附圖和具體實(shí)施例對本發(fā)明作進(jìn)一步的說明:
[0022]本發(fā)明提出了一種基于多模態(tài)數(shù)據(jù)模型的DICOM提取和并行加載技術(shù),其特征在于利用一種多模態(tài)數(shù)據(jù)模型對DICOM文件進(jìn)行建模,然后在建立好的模型基礎(chǔ)上對批量DICOM文件進(jìn)行數(shù)據(jù)的提取和加載,而且在提取和加載過程中使用了并行策略。多模態(tài)數(shù)據(jù)模型的定義是:將數(shù)據(jù)文件中各種類型的文本數(shù)據(jù)和圖像數(shù)據(jù)按照“實(shí)體-關(guān)系”的方式進(jìn)行重組,在數(shù)據(jù)庫中建立對應(yīng)表結(jié)構(gòu)。對于每一個DICOM文件,其提取和分類過程為:開啟多個并行線程,在一個線程中,首先按照DICOM的數(shù)據(jù)字典對文件中的各個字段逐一進(jìn)行讀取,然后按照已建立的模型對于字段的規(guī)定將讀取到的字段內(nèi)容分配到各個對象或?qū)ο箝g關(guān)系中,最后將建立完成的各個對象和對象間關(guān)系依次加載到數(shù)據(jù)庫中,在對象的加載過程中,首先判斷其是否已存在,若存在則不再重復(fù)存儲,而且在判斷和存儲過程中使線程進(jìn)入臨界區(qū)避免線程間沖突。本發(fā)明與傳統(tǒng)醫(yī)學(xué)圖像處理技術(shù)相比,提高了原始數(shù)據(jù)的利用率,對于原始數(shù)據(jù)中不同模態(tài)的數(shù)據(jù)進(jìn)行了統(tǒng)一建模,將不同模態(tài)的數(shù)據(jù)及其相互關(guān)系進(jìn)行了精確的表示和存儲而且使用并行策略提高了數(shù)據(jù)的提取和加載效率。
[0023]如圖1所示,第一步首先準(zhǔn)備需要進(jìn)行提取和加載的DICOM文件,這一步需要對DICOM文件的文件格式和組織形式進(jìn)行歸一化處理,以利于后續(xù)形成文件隊(duì)列和對文件進(jìn)行讀取。DICOM是關(guān)于在各種設(shè)備間傳送醫(yī)學(xué)圖像及其信息的工業(yè)標(biāo)準(zhǔn),它規(guī)范了各種醫(yī)學(xué)圖像的格式并同時(shí)支持TCP/IP協(xié)議。DICOM文件是采用面向?qū)ο蟮姆椒▉碓O(shè)計(jì)和編碼的,每個文件有一個信息對象(1D)與之相關(guān)聯(lián),信息對象的屬性由數(shù)據(jù)元素來表示,而且對象的屬性只能編碼一次,用UID標(biāo)識符來唯一標(biāo)識,文件除包括圖像數(shù)據(jù)外,還包括受檢者信息,成像的技術(shù)參數(shù),醫(yī)生的診斷信息等。這些都是用數(shù)據(jù)組(DATA SET)(—系列數(shù)據(jù)元素(DATA ELEMENT)的有序排放)來管理的。DICOM將圖像數(shù)據(jù),圖像參數(shù)和與之相關(guān)的其它信息分成若干個組,其中比較常用的信息組如圖2所示。
[0024]第二步,本示例中,根據(jù)DICOM標(biāo)準(zhǔn)的規(guī)定和建模需求,可知DICOM文件中多個數(shù)據(jù)組中需要被建模的主要有以下數(shù)據(jù)組= (0008, m)描述病人檢查信息、t = (0010,林林)描述病人信息、t = (0018,****)描述成像信息、t = (0020,****)描述圖像信息、t=(0028,****)描述圖像參數(shù)和t = (7EF0,****)存儲圖像數(shù)據(jù)。根據(jù)上述數(shù)據(jù)組進(jìn)行建模,主要有以下四個步驟:
[0025]1、根據(jù)t = (0010,**#)數(shù)據(jù)組在數(shù)據(jù)庫中建立病人實(shí)體表和對應(yīng)的對象表,并依據(jù)t= (0010,0010)中描述的病人姓名、t= (0010,0020)中描述的病人ID、t = (0010,0030)中描述的病人出生日期、t = (0010,0040)中描述的病人性別和t =(0010, 1010)中描述的病人年齡等數(shù)據(jù)元素在該病人實(shí)體表中添加以下記錄(“patient_name”,“string”)、(“patient_id”,“string”)、(“patient_birth”,“date”)、(“patient_sex