一種基于Android平臺的DICIOM醫學圖像顯示處理方法
【專利摘要】本發明涉及一種基于Android平臺的DICOM醫學圖像顯示處理方法。本發明包括:開啟線程獲取存儲模塊中的圖片文件,并記錄圖片文件路徑名;判斷獲取的圖片文件的后綴名是否為DCM;讀取DICOM文件信息;判斷這數據是否為DICM;文件解析模塊解析DICOM文件;判斷圖片文件解析是否完成;保存解析圖片文件得到的數據;將保存的圖片文件數據中的像素數據做數據規范化轉換;加載圖片數據;對顯示的圖片進行圖片處理。本發明能夠將大容量無壓縮的DICOM醫學圖像顯示在Android平臺上,顯示圖片速度快、流暢;一次讀取多張圖片,加載圖片的速度快,能夠非常方便的在不同圖片間切換。
【專利說明】—種基于Android平臺的DICIOM醫學圖像顯示處理方法
【技術領域】
[0001]本發明涉及一種基于Android平臺的DICOM醫學圖像顯示處理方法。
【背景技術】
[0002]目前,很多醫院現有的醫學圖像處理平臺,都是放置在一些部門的固定位置,如護士值班室,醫生辦公室等。隨著醫院信息化建設的不斷完善,現有的醫生工作站、護士工作站等固定信息點的功能已不能滿足日益增長的需求,移動醫療業務的需求越來越突出。
[0003]隨著3G時代的到來,移動終端設備正向智能化的方向邁進,各類智能終端操作系統應運而生,這其中最具代表性的就是Android。鑒于Android的便利性和快捷性,必將成為未來智能終端平臺的主流,把遠程醫療、3G網絡和Android結合起來,將會打開遠程醫療新的篇章,給醫療市場帶來新的變革。
[0004]目前在Android平臺上對常規圖像的顯示都是基于Android平臺自帶的Π引擎顯示,但其并不能顯示特定圖像格式,如DICOM醫學圖像,而對于臨床診斷的需求DICOM醫學圖像又是必備的要素,因此,本發明在Android系統平臺上進行DICOM標準圖像的顯示,并對顯示的DICOM圖像進行灰度變換、灰度反轉變換、偽彩色變換、圖片縮放、CT Bone、CTLung和對灰度值進行調節,以方便醫師參考以進行醫學學術討論或做出進一步診斷。而且Android移動終端的便攜性為軟件的應用提供了更為廣泛的平臺,使醫生或醫學院的學生隨時隨地的進行醫學研究和學習。
【發明內容】
[0005]本發明的目的是要提供一種使醫學圖像的瀏覽和處理過程更加便捷的基于Android平臺的DICIOM醫學圖像顯示處理方法。
[0006]本發明的目的是這樣實現的:
[0007](I)開啟線程獲取存儲模塊中的圖片文件,并記錄圖片文件路徑名;
[0008](2)判斷獲取的圖片文件的后綴名是否為DCM,若是DCM,則初步判定該圖片文件為DICOM文件,轉步驟(3),若不是DCM,則關閉線程;
[0009](3)讀取DICOM文件信息,讀取128字節的00H文件序言和4個字節的數據;
[0010](4)根據步驟(3)讀取的4個字節的數據,判斷這4個字節的數據是否為DICM,若是DICM,判定該文件為標準的DICOM文件,轉步驟F,若不是DICM,則關閉線程;
[0011](5)文件解析模塊解析DICOM文件;
[0012](6)判斷圖片文件解析是否完成,若完成則執行步驟(7);若未完成,則繼續執行步驟(5);
[0013](7)保存解析圖片文件得到的數據;
[0014](8)將保存的圖片文件數據中的像素數據做數據規范化轉換,并將數據存儲在緩存區;
[0015](9)加載圖片數據,在用戶界面上顯示原始DICOM圖像和緩存區的信息;[0016](10)另外開啟線程,對顯示的圖片進行圖片處理;
[0017](11)關閉線程。
[0018]獲取存儲模塊中的圖片文件的方式為:多線程斷點遠程下載通過連接web服務器,從服務器中下載文件到Android客服端;直接存儲是將文件直接拷貝至文件夾中,分別調用DICOMFiIeChooser和DICOMFileFilter這兩個類,來獲取存儲模塊中的文件,在DICOMFile Chooser中提供onListltemClick O方法進入和退出各個目錄并記錄路徑名,然后通過DICOM FileFilter這個類來過濾文件類型。
[0019]通過調用DICOMBufferedlnputStream、DICOMReader> DICOMImageReader 這三個類來讀取DICOM文件的信息,其中三個類的繼承關系是DICOMBufferedlnputStream的父類是 BufferedInputStream, DICOMReader 類繼承 DICOMBufferedlnputStream 類,DICOMImageReader 類繼承 DICOMReader。在 DICOMImageReader 類中通過調用解析方法 parse ():該方法調用內部類DICOMImageReaderFunctions,并且該內部類實現了 DICOMReaderFunctions接口,來解析文件。
[0020]讀取DICOM文件的信息包括像素數據和文本信息,文本信息包括患者姓名、年齡、癥狀判斷、圖像采集時間與采集所用設備。
[0021]文件解析模塊解析圖片文件包括:
[0022]I)讀取標準DICOM文件的文件元信息,確定編碼方式;
[0023]2)讀取4字節標簽,根據數據字典獲取標簽名;
[0024]3)根據文件中數據元素的數據類型,確定值得數據類型;
[0025]4)根據數據字典的多值性,確定多值性,讀取值長度;
[0026]5 )根據值長度和VM讀取值域;
[0027]6)判斷文件解析是否結束:若結束,則文件解析完成,執行下一步;若未結束則返回執行步驟2),并按照上述步驟循環,直至解析完成;
[0028]7)文件解析結束,轉存數據。
[0029]本發明的有益效果在于:相對于現有技術,本發明所述的技術方案提供利用多種不同的圖片獲取方式,能夠滿足用戶不同情況的需要,非常方便查看圖像;同時,能夠非常好的將大容量無壓縮的DICOM醫學圖像顯示在Android平臺上,并且顯示圖片速度快、流暢;其次,采用緩存技術,一次讀取多張圖片,加載圖片的速度快,能夠非常方便的在不同圖片間切換。最后,本技術方案結合Android移動終端的特點,通過觸摸屏進行操作的交互優勢,使醫學圖像的瀏覽和處理過程更加便捷。
【專利附圖】
【附圖說明】
[0030]圖1基于Android平臺的DICIOM醫學圖像顯示處理方法的結構示意圖;
[0031]圖2基于Android平臺的DICIOM醫學圖像顯示處理方法的整體流程圖;
[0032]圖3基于Android平臺的DICIOM醫學圖像顯示處理方法中多線程斷點遠程下載原理圖;
[0033]圖4基于Android平臺的DICIOM醫學圖像顯示處理方法中解析模塊的執行流程圖;
[0034]圖5基于Android平臺的DICIOM醫學圖像顯示處理方法中手動緩存的執行流程圖;
[0035]圖6基于Android平臺的DICIOM醫學圖像顯示處理方法中顯示處理模塊的執行流程圖;
[0036]圖7基于Android平臺的DICIOM醫學圖像顯示處理方法的實例顯示處理效果圖。【具體實施方式】
[0037]本發明的目的是要提供一種基于Android平臺上顯示DICOM醫學圖像,并對顯示在Android平臺上的DICOM醫學圖像進行圖像處理的方法。結合Android移動終端的特點,通過觸摸屏進行操作的交互優勢,使醫學圖像的瀏覽和處理過程更加便捷。
[0038]本發明所采用的技術方案如下:
[0039]一種基于Android平臺的DICOM醫學圖像顯示處理方法,所述的方法包括四個功能模塊:圖像存儲模塊,文件解析模塊、緩存模塊和顯示處理模塊。
[0040]在Android平臺實現顯示處理DICOM醫學圖像,具體實施步驟包括:
[0041]A開始程序;
[0042]B開啟線程獲取存儲模塊中的文件,并記錄文件路徑名;
[0043]C判斷獲取的文件的后綴名是否為DCM,若“是”,則初步判定該文件為DICOM文件,轉步驟D,若“否”,則轉步驟L ;
[0044]D打開文件讀取該文件信息,讀取128字節的00H文件序言和4個字節的數據;
[0045]E根據步驟D讀取的4個字節的數據,判斷這4個字節的數據是否為“DICM”,若“是”,判定該文件為標準的DICOM文件,轉步驟F,若“否”,則轉步驟L ;
[0046]F繼續解析文件;
[0047]G判斷文件解析是否完成,若“是”,轉步驟H,若“否”,則轉步驟F,重復執行步驟F、G,直到文件解析完成;
[0048]H保存解析圖片得到的數據;
[0049]I將保存的圖片數據中的像素數據做數據規范化轉換,并將數據存儲在緩存區;
[0050]JView (控件)加載圖片數據,在用戶界面上顯示原始DICOM圖像和緩存區的信息;
[0051]K另外開啟線程,對顯示的圖片進行圖片處理;
[0052]L關閉線程,退出程序;
[0053]上述B和C步驟的操作中,具體為利用本發明方法中的圖像存儲模塊獲取圖片。本發明的圖片存儲模塊提供兩種不同的方式獲取圖片:多線程斷點遠程下載和直接存儲。多線程斷點遠程下載方式通過連接web服務器,從服務器中下載文件到Android客服端,下載文件存儲在/mnt/sdcard/download文件夾中;直接存儲是將文件直接拷貝至/mnt/sdcard中。在步驟B和C中主要是分別調用DICOMFileChooser和DICOMFileFilter這兩個類,來獲取存儲模塊中的文件。在DICOMFileChooser中提供onListltemClick O方法進入和退出各個目錄并記錄路徑名,然后通過DICOMFileFilter這個類來過濾文件類型。
[0054]上述D、E、F、G步驟的操作中,具體為利用本發明方法中的文件解析模塊,解析線程以循環的方式把文件解析完成。解析過程首先讀取DICOM文件的信息,通過調用 DICOMBufferedlnputStream、DICOMReader> DICOMImageReader 這三個類來讀取,其中三個類的繼承關系是!DICOMBufferedlnputStream 的父類是 BufferedInputStream,DICOMReader 類繼承 DICOMBufferedlnputStream 類,DICOMImageReader 類繼承DICOMReader0在DICOMImageReader類中通過調用解析方法parse O:該方法調用內部類DICOMImageReaderFunctions,并且該內部類實現了 DlCOMReaderFunctions 接 口,來解析文件。將讀取的這些數據值包括:像素數據和文本信息(非像素數據),這些文本信息包括患者姓名、年齡、癥狀判斷、圖像采集時間與采集所用設備等相關信息,將這些數據保存在相應的數據結構中。具體的解析流程步驟,請參見圖4。解析流程的步驟是:
[0055]F1、讀取標準DICOM文件的文件元信息,確定編碼方式;
[0056]F2、讀取4字節標簽,根據數據字典獲取標簽名;
[0057]F3、根據文件中數據元素的數據類型(VR),確定值得數據類型;
[0058]F4、根據數據字典的多值性(VM),確定多值性,讀取值長度;
[0059]F5、根據值長度和VM讀取值域;
[0060]F6、判斷文件解析是否結束:若“是”,則文件解析完成,執行下一步;若“否”則返回執行步驟F2,并按照上述步驟循環,直至解析完成;
[0061]F7、文件解析結束,轉存數據。
[0062]上述I步驟的操作中,具體為利用本發明方法中的緩存模塊。本發明的文件緩存方式有兩種:一種是手動的,通過調用onCreateOptionsMenu()方法創建MENU菜單項,再通過調用OnMenuItemSelectedO方法中的switch語句提供緩存選項,然后單擊MENU菜單項中的緩存所有文件選項,加載當前目錄下所有標準的DICOM文件;一種是自動的,當存儲區有DICOM文件時,選擇其中一張打開進行顯示時,緩存進程會自動的異步加載其他圖片到Cached file,完成后通過Handler機制發送消息,并在UI線程中處理消息,然后通過Handler Message來更新UI線程,更新在UI上顯示Cached file的文件數目。在緩存過程中程序會調用cachelmagesO方法,由于該方法的類引入(import)了線程類ThreadState:在ThreadState類中定義了 6個short類型的常量,分別代表6種不同的線程狀態,所以在cachelmagesO方法中用switch語句提供了 6種不同線程狀態:1.ThreadState.STARTED加載線程開始;2.ThreadState.PROGRESS 10N_UPDATE 線程加載進展更新;3.ThreadState.FINISHED 加載完成,線程結束;4.ThreadState.CATCHABLE_ERR0R_0CCURRED 線程加載時出錯,加載失敗;5.ThreadState.UNCATCHABLE_ERR0R_0CCURRED線程加載時出錯,但該錯誤能忽略或加載成功;6.ThreadState.0UT_0F_MEM0RY加載時內存空間不夠,拋出異常。通過cachelmagesO方法中不同的線程狀態,來判斷緩存的加載情況。手動緩存的具體加載過程,請參加見圖5。手動緩存流程的步驟具體包括:
[0063]F1、單擊MENU菜單選擇緩存所有的DICOM文件選項;
[0064]F2、開啟線程掃描存儲區,判斷存儲區中是否有要顯示的DICOM圖片,并記錄滿足加載條件的文件數目:若“是”,則執行下一步;若“否”,則存儲區沒有DICOM圖片,則執行步驟F6 ;
[0065]F3、圖片加載線程進行加載;
[0066]F4、根據不同加載線程的狀態判斷所有文件是否全部加載完成:若“是”,則執行下一步;若“否”,則返回執行步驟F3,按照上述步驟循環,直至加載完成;
[0067]F5、將加載完成的圖片存儲在Cached file中;
[0068]F6、更新Cached file的文件數目,關閉加載線程,加載結束。[0069]上述J、K步驟的操作中,具體為利用本發明方法中的顯示處理模塊。顯示處理模塊首先在用戶界面上顯示DICOM圖像,然后對顯示的圖像進行處理。DICOM圖像在用戶界面上顯示主要是通過調用DICOMViewer類,該類繼承自Activity并實現了監聽接口 SeekBar.0nSeekBarChangeListener。在 DICOMViewer 類中實現了 SeekBar.0nSeekBarChangeListener監聽接口的功能:把緩存文件夾中的圖片數量以SeekBar拖動條形式顯示用戶界面,一端顯示當前圖片是第幾張圖片,另一端顯示緩存文件夾中的圖片數量,通過觸摸SeekBar來切換圖片;當緩存區只有一張圖片時,SeekBar默認不在用戶界面顯示。在該類中還通過引入(import)其他類如:CLUTMode、ToolMode、ScaleMode、GrayscaleWindowView和調用onOptionsItemSelectedO方法來設置各種處理方法。其中CLUTMode和ToolMode這兩個類主要實現灰度變換、灰度反變換、偽彩色變換和對灰度值進行調節的功能,通過這三種變換和灰度值的變換對比,更加清楚的觀察感興趣的部位,更好的進行閱片jcaleMode類實現對圖像的縮放,觀察圖像更加精細的結構;GrayscaleWindowView類實現CT Bone和CT Lung功能,分別用提取圖像中骨骼和肺。具體的顯示處理模塊執行流程,請參見圖6。顯示處理流程的步驟具體包括:
[0070]F1、將解析所保存的圖像數據中的像素數據進行數據規范化轉化;
[0071]F2、View控件加載圖片數據,在用戶界面上顯示原始圖像,并同時顯示Cachedfile中文件的數目;
[0072]F3、開啟線程,對顯示的DICOM圖像進行處理;
[0073]F4、根據步驟F4中的處理方法,對圖像進行處理。
[0074]為使本發明的目的、技術方案及優點更加清楚、明確,以下參照附圖并舉實施例對本發明進一步詳細說明。此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0075]在具體實施過程中,可以從醫院或者網上獲取DICOM醫學圖像文件。將獲取的圖像文件用Uedit32編輯器打開,觀察其編碼數據,可以從文件的前言部分判斷是否為標準的DICOM圖像文件,方便進行下一步的操作。
[0076]請參見圖1,圖1是本發明基于Android平臺的DICIOM醫學圖像顯示處理方法的結構示意圖。如圖1所示,本發明提供的基于Android平臺的DICIOM醫學圖像顯示處理方法包括4個功能模塊:存儲模塊,提供多線程斷點遠程下載圖片和直接存儲兩種獲取圖片的不同方式;文件解析模塊,提取文件信息,保存解析的圖片數據;緩存模塊,一次讀取一張或多張圖片存儲在Cached file中;顯示處理模塊,在用戶界面上顯示圖片,并對顯示的圖片進行處理,處理方法包括:灰度變換、反灰度變換、偽彩色變換、縮放、CT Bone,CT Lung和對灰度值進行調節。
[0077]請參見圖2,圖2是發明基于Android平臺的DICIOM醫學圖像顯示處理方法的整體流程圖。如圖2所示,包括以下步驟:
[0078]第一步、開啟線程,進入用戶界面,以不同的方式從存儲模塊中獲取圖片;
[0079]具體地,本發明的圖片存儲模塊提供兩種不同的方式獲取圖片:多線程斷點遠程下載方式,將下載的圖片保存在\mnt\sdcard\download目錄下;直接存儲方式,將圖片拷貝至SD卡中\mnt\sdcard目錄下存儲。其中多線程遠程下載的基本原理如圖3所示,具體步驟包括:F1、首先獲取網絡文件的長度,然后在Android客戶端中生成一個與網絡文件長度相等的本地文件;F2、開啟N條線程下載文件,計算每條線程負責下載的數據量,公式如下:int block=文件長度%N==0?文件長度/N:文件長度/N+l ;F3、開啟多條線程分別從網絡文件的不同位置下載數據。并從本地文件相同的位置寫入數據,要計算出每條線程從網絡文件的什么位置開始下載數據,到什么位置結束。提供不同獲取圖片的方式好處是,滿足不同情況的需要,增強了用戶體驗。獲取文件結束后,通過調用DICOMFileChooser這個類,掃描存儲模塊各個當前目錄下的文件,并記錄路徑名。
[0080]第二步、通過調用DICOMFileFilter類來判斷獲取文件的后綴名是否為.DCM:當后綴名是.DCM時,則初步判定該文件為DICOM文件,進入第三步,當后綴名不是.DCM時跳
至第十一步;
[0081]第三步、打開文件,跳過128字節的OOH文件序言,并讀取4個字節的數據;
[0082]第四步、判斷第三步讀取的4個字節的數據是否為“DICM”:當讀取的數據是“DICM”時,則判定該文件是標準的DICOM文件,則執行下一步;當讀取的數據不是“DICM”時,則執行第十一步;
[0083]第五步、繼續解析該標準的DICOM文件;
[0084]第六步、判斷文件是否全部解析完成:當文件全部解析完成時,則執行下一步;當文件沒有全部解析完成,則返回執行第五步,按照上述步驟循環,直至解析完成;
[0085]在一個具體的實施例中,第三步到第六步具體為本發明所述的解析模塊,通過調用DICOMImageReader類中解析方法parse O ,以循環的方式把文件解析完成。
[0086]第七部、將解析得到的數據:包括像素數據和文本信息(非像素數據),保存在相應的數據結構中;
[0087]第八步、將保存的圖片的像素數據做數據規范化轉換,并將數據存儲在緩存區中;
[0088]第九步、View控件加載圖片數據,在用戶界面上顯示DICOM圖像和緩存文件Cached file中的信息;
[0089]第十步、另外開啟線程,對顯示在用戶界面上的圖片進行圖像處理;
[0090]第^^一步、關閉線程,退出程序。
[0091]具體的解析過程,請參見圖4。如圖4所示,圖片解析流程的步驟具體包括:
[0092]第一步、讀取標準DICOM文件的文件元信息,確定編碼方式;
[0093]第二步、讀取4字節標簽,根據數據字典獲取標簽名;
[0094]第三步、根據文件中數據元素的數據類型(VR),確定值得數據類型;
[0095]第四步、根據數據字典的多值性(VM),確定多值性,讀取值長度;
[0096]第五步、根據值長度和VM讀取值域;
[0097]第六步、判斷文件解析是否結束:若“是”,則文件解析完成,進入步驟第七部,若“否”則返回步驟第二步,并按照上述步驟循環,直至解析完成;
[0098]第七步、文件解析結束,轉存數據。
[0099]具體的緩存過程,請參見圖5,圖5是本發明所述在基于Android平臺的DICIOM醫學圖像顯示處理方法中手動緩存的執行流程圖。如圖5所示,手動緩存流程的步驟具體包括:
[0100]第一步、單擊MENU菜單選擇緩存所有的DICOM文件選項;[0101]第二步、開啟線程掃描存儲區,判斷存儲區中是否有要顯示的DICOM圖片,并記錄滿足加載條件的文件數目:若“是”,則執行下一步;若“否”,則存儲區沒有DICOM圖片,則執行第六步;
[0102]第三步、圖片加載線程進行加載;
[0103]第四步、根據不同加載線程的狀態判斷所有文件是否全部加載完成:若“是”,則執行下一步;若“否”,則返回執行第三步,按照上述步驟循環,直至加載完成;
[0104]弟五步、將加載完成的圖片存儲在Cached file中;
[0105]第六步、更新Cached file的文件數目,關閉加載線程,加載結束。
[0106]本發明的文件緩存方式有兩種:一種是手動的,通過單擊MENU菜單項中的緩存所有文件選項,加載當前目錄下所有標準的DICOM文件;一種是自動的,當存儲區有DICOM文件時,選擇其中一張打開進行顯示時,緩存進程會自動的異步加載其他圖片到Cachedfile,完成后通過Handler機制發送消息,并在UI線程中處理消息,然后通過HandlerMessage來更新UI線程,更新在用戶界面上顯示Cached file的文件數目。在步驟第三步中的加載線程總共有六種線程狀態,根據不同的線程狀態來判斷加載狀態。
[0107]本發明還提供對顯示在用戶界面上的DICOM圖像進行處理的模塊,完成顯示處理功能主要是通過調用DICOMViewer類。請參見圖6,圖6是本發明所述在基于Android平臺的DICIOM醫學圖像顯示方法中顯示處理模塊的執行流程圖。如圖6所示,顯示處理流程的步驟具體包括:
[0108]第一步、將解析所保存的圖像數據中的像素數據進行數據規范化轉化;
[0109]第二步、View (控件)加載圖片數據,在用戶界面上顯示原始圖像,并同時顯示Cachedfile中文件的數目;
[0110]第三步、開啟線程,對顯示的DICOM圖像進行處理;
[0111]第四步、根據第四步中的處理方法,對圖像進行處理。
[0112]本發明提供的處理方法包括:灰度變換、反灰度變換和偽彩色變換,同時可調節圖像的灰度值,通過這三種變換和灰度值的變換對比,更加清楚的觀察感興趣的部位,更好的進行閱片;縮放變換,通過調節圖片的大小,觀察圖像更加精細的結構;CT Bone和CT Lung分別用提取圖像中骨骼和肺。本發明的在Android手機上的實例顯示處理效果,請參見圖
7,圖7是本發明所述在基于Android平臺的DICIOM醫學圖像顯示處理方法的實例顯示處理效果圖。
[0113]綜上所述,本發明基于Android平臺的DICIOM醫學圖像顯示處理方法,通過從存儲模塊中獲取DICOM圖片文件,解析獲取的文件,保存解析的圖片數據,把圖片數據中的像素數據做數據規范化轉換,并將圖片數據保存在緩存區,通過View控件加載圖片數據,在用戶界面(UI)上顯示原始圖像,并調用顯示處理模塊中的處理方法對圖像進行。本發明所述的技術方案能夠非常好的將大容量的DICOM醫學圖像顯示在Android平臺上,并且顯示圖片速度快,也能夠非常流暢的進行圖片間的切換,結合Android平臺通過觸摸屏操作進行交換的特點,使醫學圖像的瀏覽和處理過程更加便捷,增強了用戶體驗。
【權利要求】
1.一種基于Android平臺的DICIOM醫學圖像顯示處理方法,其特征在于: (1)開啟線程獲取存儲模塊中的圖片文件,并記錄圖片文件路徑名; (2)判斷獲取的圖片文件的后綴名是否為DCM,若是DCM,則初步判定該圖片文件為DICOM文件,轉步驟(3),若不是DCM,則關閉線程; (3)讀取DICOM文件信息,讀取128字節的OOH文件序言和4個字節的數據; (4)根據步驟(3)讀取的4個字節的數據,判斷這4個字節的數據是否為DICM,若是DICM,判定該文件為標準的DICOM文件,轉步驟F,若不是DICM,則關閉線程; (5)文件解析模塊解析DICOM文件; (6)判斷圖片文件解析是否完成,若完成則執行步驟(7);若未完成,則繼續執行步驟(5); (7)保存解析圖片文件得到的數據; (8)將保存的圖片文件數據中的像素數據做數據規范化轉換,并將數據存儲在緩存區; (9)加載圖片數據,在用戶界面上顯示原始DICOM圖像和緩存區的信息; (10)另外開啟線程,對顯示的圖片進行圖片處理; (11)關閉線程。
2.根據權利要求1所述的一種基于Android平臺的DICIOM醫學圖像顯示處理方法,其特征在于:所述獲取存儲模塊中的圖片文件的方式為:多線程斷點遠程下載通過連接web服務器,從服務器中下載文件到Android客服端;直接存儲是將文件直接拷貝至文件夾中,分別調用DICOMFiIeChooser和DICOMFileFilter這兩個類,來獲取存儲模塊中的文件,在DICOMFile Chooser中提供onListltemClickO方法進入和退出各個目錄并記錄路徑名,然后通過DICOM FileFilter這個類來過濾文件類型。
3.根據權利要求1或2所述的一種基于Android平臺的DICIOM醫學圖像顯示處理方法,其特征在于:所述獲取存儲模塊中的圖片文件通過調用DICOMBufferedlnputStream、DICOMReader、DICOMImageReader這三個類來讀取DICOM文件的信息,其中三個類的繼承關系是:DICOMBufferedInputStream 的父類是 BufferedInputStream,DICOMReader 類繼承 DICOMBufferedlnputStream 類,DICOM ImageReader 類繼承DICOMReader0在DICOMImageReader類中通過調用解析方法parse O:該方法調用內部類DICOMImageReaderFunctions,并且該內部類實現了 DICOMReaderFunc tions 接口解析文件。
4.根據權利要求3所述的一種基于Android平臺的DICIOM醫學圖像顯示處理方法,其特征在于:所述讀取DICOM文件的信息包括像素數據和文本信息,文本信息包括患者姓名、年齡、癥狀判斷、圖像采集時間與采集所用設備。
5.根據權利要求3所述的一種基于Android平臺的DICIOM醫學圖像顯示處理方法,其特征在于,文件解析模塊解析圖片文件的步驟包括: O讀取標準DICOM文件的文件元信息,確定編碼方式; 2)讀取4字節標簽,根據數據字典獲取標簽名; 3)根據文件中數據元素的數據類型,確定值得數據類型; 4)根據數據字典的多值性,確定多值性,讀取值長度;5)根據值長度和VM讀取值域; 6)判斷文件解析是否結束:若結束,則文件解析完成,執行下一步;若未結束則返回執行步驟2),并按照上述步驟循環,直至解析完成; 7)文件解析結束,轉存數據 。
【文檔編號】G06F19/00GK103577699SQ201310563416
【公開日】2014年2月12日 申請日期:2013年11月14日 優先權日:2013年11月14日
【發明者】李金 , 陽倫, 梁洪, 王磊, 叢望, 欒寬, 宋建華, 張秋實, 孟祥蓮, 鮑佩華 申請人:哈爾濱工程大學