一種醫(yī)學圖像存儲方法
【技術領域】
[0001] 本發(fā)明涉及圖像存儲與處理,特別涉及一種醫(yī)學圖像存儲方法。
【背景技術】
[0002] 隨著數(shù)字化圖像技術發(fā)展,大量的醫(yī)學圖像隨之產(chǎn)生,這些海量醫(yī)學圖像數(shù)據(jù)可 以為臨床診斷提供服務。如何對這些醫(yī)學圖像進行有效管理和組織是醫(yī)學工作者面對的難 題。PACS以數(shù)字化形式可為醫(yī)學圖像存儲與傳輸提供優(yōu)化解決方案,PACS的關鍵技術之一 就是海量存儲?;趦?nèi)容的醫(yī)學圖像檢索,在PACS架構(gòu)的背景下發(fā)展起來。醫(yī)學圖像檢索 是一個典型的數(shù)據(jù)密集型計算過程,對于海量醫(yī)學圖像,基于單節(jié)點的醫(yī)學圖像檢索系統(tǒng) 難以滿足圖像的實時性要求。基于云計算的PACS系統(tǒng)具有分布式、并行處理能力可以將大 型任務進行分解子任務,然后將子任務分配到各個工作節(jié)點共同完成任務,為醫(yī)學圖像檢 索提供了一種新思路。然而目前基于PACS平臺的圖像內(nèi)容檢索仍然存在檢索速度慢和效 率低的現(xiàn)象,制約了醫(yī)學圖像處理的發(fā)展。
[0003] 因此,針對相關技術中所存在的上述問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0004] 為解決上述現(xiàn)有技術所存在的問題,本發(fā)明提出了一種醫(yī)學圖像存儲方法,包 括:
[0005] 將PACS設置為在線-歸檔二級存儲架構(gòu),云存儲系統(tǒng)以Hadoop為基礎架構(gòu),整 個存儲系統(tǒng)由基于HDFS的物理層、用于處理和存儲圖像數(shù)據(jù)服務的中間層、調(diào)用上述服 務的接口層以及具體的應用層組成;所述物理層提供存儲容量,其存儲架構(gòu)為HDFS,通過 HDFS實現(xiàn)負載均衡、數(shù)據(jù)備份,并向外提供統(tǒng)一的存儲訪問接口,所述中間層通過訪問物理 層的HDFS提供的接口實現(xiàn)圖像數(shù)據(jù)的存儲與讀取,所述接口層在中間層的基礎上進行功 能封裝,所述應用層則利用接口層提供的功能接口,編寫分布式的并行處理應用程序;所述 Hadoop使用Java開發(fā)和并行處理海量數(shù)據(jù),由分布式文件系統(tǒng)HDFS和MapReduce并行計 算模型組成,在進行Hadoop開發(fā)時,將分布式并行程序運行于由大量節(jié)點所組成的集群系 統(tǒng)上完成海量數(shù)據(jù)的計算,所述HDFS采用主從架構(gòu),一個HDFS集群是由一個名字節(jié)點和一 組數(shù)據(jù)節(jié)點組成,名字節(jié)點是一個中心節(jié)點,負責管理文件系統(tǒng)的名字空間以及客戶端對 文件的訪問,集群中一個節(jié)點上運行一個數(shù)據(jù)節(jié)點,負責管理它所在節(jié)點上的數(shù)據(jù)存儲,并 負責處理文件系統(tǒng)客戶端的讀寫請求,在名字節(jié)點統(tǒng)一調(diào)度下進行數(shù)據(jù)塊的創(chuàng)建、刪除和 復制;HDFS把文件劃分成塊,將這些塊分布式存儲于不同的數(shù)據(jù)節(jié)點上,每個塊還可以復 制數(shù)份存儲于不同的數(shù)據(jù)節(jié)點上;對于醫(yī)學圖像文件,建立用于處理文件的抽象層,對采集 到的圖像文件進行存儲處理。
[0006] 優(yōu)選地,所述建立用于處理文件的抽象層,對采集到的圖像文件進行存儲處理,進 一步包括:
[0007] 將每幅醫(yī)學圖像作為一幀,把一次檢查的所有圖像合并成一個序列圖像文件。圖 像數(shù)據(jù)保存在像素數(shù)據(jù)元素中,它的值域中保存的像素數(shù)據(jù)是原始數(shù)據(jù),或經(jīng)過封裝的數(shù) 據(jù),封裝的像素數(shù)據(jù)的值是由分割開的多個像素數(shù)據(jù)流組成,以此表示多幀的圖像;或
[0008] 將醫(yī)學圖像文件按其序列號及編號的順序進行分組,每一組的文件總大小為64M, 然后分別將每一組文件壓縮成一個壓縮文件進行存儲,在下載的時候,下載一組文件之后 立即解壓并顯示。
[0009] 優(yōu)選地,在所述MapReduce并行計算模型中的Map階段,MapReduce框架將任務的 輸入數(shù)據(jù)先分割成若干固定大小的分塊,對分塊又分解成多個鍵值對(Keyl,Valuel)傳給 Map操作;每個節(jié)點的Map操作對每組鍵值對進行處理后,形成新的鍵值對(Key2,Value2), 并按照Key2值相同的進行匯總,形成(Key2,list(Value2)),傳給Reduce作為Reduce的 輸入,Map操作將Key2值相同的鍵值對傳給相同的節(jié)點來進行Reduce階段的處理;
[0010] 在Reduce階段,Map輸出的(Key2,list(Value2))成為Reduce階段的輸入,對于 輸入進行分布式處理后得到鍵值對(Key3,Value3),根據(jù)用戶需要輸出到HDFS或者HBase 數(shù)據(jù)庫。
[0011] 本發(fā)明相比現(xiàn)有技術,具有以下優(yōu)點:
[0012] 本發(fā)明提出了在基于云計算的PACS系統(tǒng)中的圖像數(shù)據(jù)處理方法,提高了圖像存 儲效率和檢索速度。
【附圖說明】
[0013] 圖1是根據(jù)本發(fā)明實施例的醫(yī)學圖像存儲方法的流程圖。
【具體實施方式】
[0014] 下文與圖示本發(fā)明原理的附圖一起提供對本發(fā)明一個或者多個實施例的詳細描 述。結(jié)合這樣的實施例描述本發(fā)明,但是本發(fā)明不限于任何實施例。本發(fā)明的范圍僅由權 利要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細節(jié) 以便提供對本發(fā)明的透徹理解。出于示例的目的而提供這些細節(jié),并且無這些具體細節(jié)中 的一些或者所有細節(jié)也可以根據(jù)權利要求書實現(xiàn)本發(fā)明。
[0015] 為了提高醫(yī)學圖像檢索效率,本發(fā)明的一方面提供了一種醫(yī)學圖像存儲方法。圖1 是根據(jù)本發(fā)明實施例的醫(yī)學圖像存儲方法流程圖。本發(fā)明的PACS架構(gòu)為"在線-歸檔"二 級存儲架構(gòu)。這樣既可滿足PB級存儲容量的需求,也可實現(xiàn)原來"離線"數(shù)據(jù)的實時訪問, 提升系統(tǒng)可用性。PACS的云存儲系統(tǒng)以Hadoop為基礎架構(gòu),整個框架由基于HDFS的物理 層、用于處理和存儲圖像數(shù)據(jù)服務的中間層、調(diào)用這些服務的接口層以及具體的應用層組 成。物理層,即存儲設備具有海量的存儲容量,存儲架構(gòu)為HDFS,通過HDFS實現(xiàn)負載均衡、 數(shù)據(jù)備份等功能,并向外提供統(tǒng)一的存儲訪問接口。中間層實現(xiàn)圖像數(shù)據(jù)的存儲與讀取,該 功能通過訪問物理層的HDFS提供的接口實現(xiàn)。接口層在中間層的基礎上做進一步的功能 封裝,使開發(fā)編程更容易。應用層則利用接口層提供的功能接口,編寫分布式的并行處理應 用程序。
[0016] 云平臺的分布式計算開源框架Hadoop使用Java的支持開發(fā)和并行處理海量數(shù) 據(jù),主要由分布式文件系統(tǒng)HDFS和MapReduce并行計算模型組成。進行Hadoop開發(fā)時,將 分布式并行程序運行于由大量節(jié)點所組成的大規(guī)模集群系統(tǒng)上完成海量數(shù)據(jù)的計算,而不 用關心并行編程中的工作調(diào)度、分布式存儲、容錯處理、網(wǎng)絡通信和負載平衡等問題。
[0017] 醫(yī)學圖像通常都是小文件,較大的文件如DR、CR-般是在IOM字節(jié)左右,而CT、MR 文件則只有幾百K字節(jié)大小。由于HDFS文件系統(tǒng)里默認的數(shù)據(jù)塊大小是64M字節(jié),存放的 小文件太多,將消耗大量HDFS主節(jié)點名字節(jié)點內(nèi)存。由于每個文件會被多次復制,因此本 發(fā)明建立一個處理小文件的抽象層,對每個病人采集到的圖像文件進行處理。對于云存儲 中小文件存儲與訪問問題,可通過自適應文件系統(tǒng)進行優(yōu)化。針對PACS圖像文件類型較為 單一的特點,提出了兩個存儲方案。
[0018] 第一個方案是將每幅圖像看作一幀,把一次檢查的所有圖像合并成一個序列圖像 文件。在醫(yī)學圖像文件中,圖像數(shù)據(jù)保存在像素數(shù)據(jù)元素中,它的值域中保存的像素數(shù)據(jù)可 以是原始數(shù)據(jù),也可以是經(jīng)過封裝的。封裝的像素數(shù)據(jù)的值是由分割開的多個像素數(shù)據(jù)流 組成