999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于PyRadiomics的醫療影像紋理獲取原型系統集成

2020-07-26 14:23:53董建民劉建新
軟件導刊 2020年7期

董建民 劉建新

摘 要:針對計算機輔助診斷中醫學影像紋理計算相對復雜、商業分析軟件功能相對固定和成本較高等問題,以目前主流的Python語言為開發工具,將其對應的PyRadiomics模塊、SimpleITK模塊與Pydicom模塊相結合,給出了符合Dicom 3.0格式的醫療影像數據紋理分析軟件設計流程,開發了紋理計算過程和數據可視化原型系統。系統集成為影像醫師診斷提供了一種低成本、交互友好的紋理特征數據獲取與分析手段,為醫學影像中的人工智能、深度學習應用打下了基礎。

關鍵詞:PyRadiomics;醫療影像;紋理獲取

DOI:10. 11907/rjdk. 201074 開放科學(資源服務)標識碼(OSID):

中圖分類號:TP317.4 文獻標識碼:A 文章編號:1672-7800(2020)007-0223-04

Integration of Medical Image Texture Acquisition Prototype System

Based on PyRadiomics

DONG Jian-min,LIU Jian-xin

(School of Information Engineering,Xizang Minzu University, Xianyang 712082,China)

Abstract:In order to solve the problems of relatively complex texture calculation, relatively fixed function and high cost of commercial analysis software in computer-aided diagnosis through? medical image,after the design flow of texture analysis of medical image data been given, a prototype system of texture calculation is integrated by Python with its corresponding pyradiomics module, simpleITK module and pydicom module. The system could process all DICOM (digital imaging and communications in medicine) 3.0 format files of medicine images and texture calculation and visualization model are developed and a low-cost, interactive and friendly method of texture feature data display and analysis for imaging doctors diagnosis is provided. It lays a solid foundation for the fields of artificial intelligence and deep learning based on medical image.

Key Words:PyRadiomics;medical imaging;texture acquisition

0 引言

隨著醫療設備數字化的不斷深入,從數據管理技術上看,以影像歸檔和通信系統(Picture Archiving and Communication Systems,PACS)為依托,將計算機斷層(Computed Tomography,CT)、核磁共振(Magnetic Resonance Imaging,MRI)、超聲(Ultrasound,US)成像等各種醫療影像設備形成以Dicom(Digital Imaging and Communications in Medicine) 3.0為標準的醫療影像數據標準,目前已經基本實現了統一的數據交換和管理模式[1]。從已有醫療影像采集設備看,圖像質量從空間上越來越精細,采集所需時間越來越短,圖像重建速度也越來越快,并且整個過程對被檢查對象幾乎沒有任何損害,這為醫療影像應用從傳統個案診斷走向海量數據分析打下了堅實的物質基礎,正逐漸為當前醫療人工智能分析、特征深度學習等研究提供應用前提和可能[2-3]。從臨床診斷角度看,醫療影像紋理分析是影響診斷結論的重要方面,根據已有的紋理信息診斷應用可知,對醫療影像中感興趣區域(Region of Interest,ROI )的紋理分析包括如下方面:一階距、形狀特征、以灰度共生矩陣為基礎的度量、以灰度游程矩陣為基礎的度量,以及灰度區域大小矩陣等,共包含100多個特征數值[4-9],獲取這些數值對于影像分析意義重大。Python語言程序由于具有開源的特點以及程序設計入門相對容易等優點,目前已被廣泛應用于各特定的圖像處理領域[10-16]。PyRadiomics[17]是一個開源的Python[18]軟件包,用于從醫學成像中提取放射組學特征。其模塊已經集成了目前所有的影像紋理分析算法,可便捷地為臨床影像診斷醫師提供各種紋理數據。同時,鑒于目前醫療均采用Dicom3.0標準,因此需要對此類格式的影像數據,利用特定專業的開源模塊,對數據文件進行解碼和數據獲取。

然而,從臨床醫療影像紋理分析應用看,已有的紋理分析理論涉及較為復雜的數值計算與統計學理論,不利于影像診斷醫師集中精力進行診斷判定,同時也不利于大量醫療影像數據的自動處理和分析。目前,商業醫療影像分析軟件由于涉及諸多專利和數據授權等問題,其高昂的商業成本不僅限制了其進一步推廣和應用,而且阻礙了非醫科等其他工程技術人員與一線醫療影像診斷醫師的合作。這樣,要實現醫療影像數據紋理分析的大范圍應用,首先必須避免醫療影像診斷師陷入復雜紋理分析的數學理論和數值計算,其次采用一切手段降低數據處理難度和成本,最終形成功能相對齊全、界面友好、交互簡單的紋理數據獲取、顯示與數據導出系統。本文正是針對上述要求,將運行于Windows 7系統上的Python3.6作為開發工具,以符合Dicom3.0標準的醫療影像數據作為數據輸入,利用與之對應的SimpleITK模塊快速處理數據,通過Pydicom模塊解碼Dicom文件數據,用于人工或者系統自動標定影像數據的ROI,然后將前兩者數據處理結果作為數據分析基礎,結合PyRadiomics強大的紋理數據獲取功能,得到對應的紋理數據后,利用可視化方式加以顯示。同時,為促進紋理數據的進一步應用,本文也設計了紋理數據的導出功能,從而為紋理數據的科學研究與分析奠定基礎。

1 系統開發流程

在系統開發之前,首先需要正確安裝開發工具Python 語言解釋器以及對應版本的PyRadiomics、Pydicom、SimpleITK、Numpy等主要模塊,并經過測試確保各模塊可正常使用。參照如圖1所示流程設計各模塊功能。

2 紋理計算功能實現

2.1 數據準備

由于Pyradiomics模塊在構架時,其接收的影像分析數據和標記數據輸入為nrrd格式,而這種格式的數據需要對已有的Dicom3.0數據進行提取和標記后生成,因此首先需要設計并生成待處理數據,這由Python對應的SimpleITK完成。需要注意的是,符合Dicom3.0標準的醫療影像數據,在利用探測到的信號重建圖像時,采用不同的序列實例,而這些實例采用不同的重建參數而得到的紋理數據必然不同。因此在開發軟件時,必須利用Dicom文件的頭信息分別依次解析,按照不同實例序列依次處理。因此,數據準備模塊分為待分析影像的nrrd格式數據生成和標記數據生成,標記數據最簡單的方式就是利用掩模將圖像的ROI標識為1、其它標識為0。待分析數據關鍵代碼如下:設file_path為待分析的符合Dicom3.0的數據路徑,sitk為simpleITK模塊的簡寫,DicomNrrdData是初始為空的列表,代碼結束后保存不同序列nrrd格式的待分析數據。

series_IDs = sitk.ImageSeriesReader.GetGDCMSeriesIDs(file_path)#獲取不同的序列標識

for ss in series_IDs:

series_file_names= sitk.ImageSeriesReader.GetGDCMSeriesFileNames(file_path,ss)

#上面語句獲取屬于不同序列的文件列表

series_reader = sitk.ImageSeriesReader()#實例化一個讀取序列

series_reader.SetFileNames(series_file_names)#設置讀取文件組名

D = series_reader.Execute()#讀取該序列文件得到nrrd格式數據

DicomNrrdData.append(D)#將不同的序列的nrrd格式數據保存于列表

標記數據通常需要通過人工交互完成圖像掩模而確定。取圖像中間部分作為感興趣區域,這里取圖像128~196行、128~196列的矩形區域作為測試,分別用變量hh0、hh1、ww0、ww1代替,即hh0=128、hh1=196、ww0=128、ww1=196。為了更好地利用已有代碼,只需將每個序列的圖像數據重新修改后保存,再利用上述代碼即可。設pydicom模塊簡寫為dcm,變量kk為記錄標識不同的Dicom文件,初始值為0,series_file_names為不同序列的文件名,OutPath為標記數據要保存的路徑。sitk在讀取數據時,自動將讀取到的數據利用式(1)集成到nrrd格式的數據中。

其中,S為數據斜率,一般取值為1,R為對應的截距,通常為負值,在諸多情況下R的取值為-1024,d為文件直接讀取到的數值。因此,為了保證最終標記數據仍為1,在修改對應的標記Dicom文件時,數據項不能直接賦值為1,也即要使最終的v=1,修改數據可以按照式(2)確定。

這里,v=1,S=1,因此修改的數據項d=1-R。關鍵代碼如下:

for FileName in series_file_names:

dcminfo_data=dcm.dcmread(FileName)#讀取dicom圖像數據結構

R= dcminfo_data.RescaleIntercept #得到圖像數據的截距

Rows=dcminfo_data.Rows? ? #獲取圖像的行

Columns=dcminfo_data.Columns? #獲取圖像的列

newArray = np.zeros([Rows, Columns]) #創建新的元素全為0的標記矩陣

newArray[hh0:hh1,ww0:ww1]=1-R #將圖像對應的掩模賦值為截距相反數加1

NewDcmdata16 = np.int16(newArray) #將數據轉化為16位整數

dcminfo_data.PixelData=NewDcmdata16.tobytes() #將數據轉化為對應的字節數

Path=OutPath+ks+‘.dcm #增加了標識的新文件的保存路徑

dcminfo_data.save_as(Path) #保存文件

kk=kk+1? #標識符增加1

標記圖像處理完成后,將保存路徑利用關鍵代碼獲取對應nrrd格式的標記文件。

2.2 紋理特征獲取計算

實現PyRadiomics紋理分析的數據準備后,通過在Python開發平臺下使用PyRadiomics模塊,從而完成系統紋理特征數據獲取。Python開發平臺下使用PyRadiomics模塊時,除了要將待分析數據與標記數據對應的nrrd格式數據作為參數輸入外,還需要利用一個yaml文件作為紋理獲取計算參數,內容主要包括輸入數據位數、標記數據信息以及需要計算的紋理數據類別等。該文件可以用普通文本編輯器打開進行設置,具體使用可以參考PyRadiomics模塊的使用說明,最終紋理數據由PyRadiomics對應的特征提取函數的返回值得到。設Pa_Path為對應的yaml參數文件所在路徑,其關鍵代碼如下:

import radiomics? ?#導入radiomics模塊

import radiomics.featureextractor as F #導入紋理提取模塊,并簡寫為F

ext = F.RadiomicsFeatureExtractor(Pa_Path) #設置紋理提取參數

r= ext.executeData(D,DL)#將帶分析數據D與對應的標記數據DL傳入到紋理函數

實際上,原來模塊的execute()函數是利用sitk讀取對應的nrrd數據和標記數據,效率偏低。在紋理分析函數ext.execute()基礎上,將其中調用自身的成員函數讀取數據部分直接更換為輸入數據即可完成,最后r向量保存的是紋理數據的字典類型數據??衫萌缦麓a分別輸出形狀、一階距,以及由灰度游程矩陣、灰度區域大小矩陣、灰度共生矩陣、灰度差距共生矩陣所導出的紋理數據。

for key, value in r.items():

if key.find(‘shape)>=0:

Shapef.append(value)

if key.find(‘firstorder)>=0:

Firstorder.append(value)

if key.find(‘glrlm)>=0:

Glrlm.append(value)

if key.find(‘glszm)>=0:

Glszm.append(value)

if key.find(‘glcm)>=0:

Glcm.append(value)

if key.find(‘gldm)>=0:

Gldm.append(value)

2.3 特征數據可視化

獲取到的醫學影像紋理數據通常具有至少3個以上數值,要在電腦上將其可視化,需要采用高維數據顯示方法[19]。本文系統采用常見的平行坐標方法進行數據可視化,系統輸入測試一套數據(含25張CT圖像)后,紋理數據可視化結果如圖2所示。系統輸入32個不同序列影像數據后得到的紋理數據可視化結果如圖3所示,該數據含有Dicom 3.0的5 108張影像。

2.4 紋理特征數據導出

成功獲取醫學影像紋理數據后,為保證數據后續使用,系統設計了數據導出模塊,導出為用逗號隔開的數據文件,這里使用csv格式的導出數據。設TextureFeatureCsvFileName為導出紋理數據文件路徑,SeriesTexture為保存各圖像序列的紋理數據列表,導入Python對應的讀寫csv模塊后,其關鍵代碼如下:

csvFileSave=open(TextureFeatureCsvFileName,“a+”, newline=‘? )#已追加寫方式打開文件

writer = csv.writer(csvFileSave)

for TextureIndex? in range(len(SeriesTexture)):#對所有列表數據進行處理

OneLineDataList=[]

ImageTexture=SeriesTexture[TextureIndex]? ? #獲取一個序列的紋理數據

for data in ImageTexture:

OneLineDataList.append(data) #將紋理數據利用列表合并為一行

writer.writerow(OneLineDataList)? #寫入csv一行數據

csvFileSave.close()? ? ?#數據寫入完成后關閉文件

3 結語

本文利用Python及對應的開源模塊,開發了一個醫療影像紋理數據計算軟件原型系統平臺,為診斷醫師進行醫療影像紋理數據獲取提供了一個低成本的簡易軟件,同時可為其它領域的特征數據獲取、數據挖掘,以及影像輔助診斷中的人工智能、深度學習應用等研究提供借鑒。系統中對醫療影像ROI的選取僅僅采用矩形區域的簡單方法,以此進行系統功能驗證,但在醫療診斷或者其它應用領域,ROI的選取方式一般豐富多樣,包括手動繪制多邊形、圓形區域、分割線等,而對于這些本文系統均未設計對應的實現模塊,后續研究中需進一步完善。

參考文獻:

[1] PECK D. Digital imaging and communications in medicine: a practical introduction and survival guide[M]. New York: Springer,2008.

[2] 張巧麗,趙地,遲學斌. 基于深度學習的醫學影像診斷綜述[J]. 計算機科學,2017,44(S2):1-7.

[3] 張永剛,陳軍. 基于模型法的醫學影像圖像紋理分析研究[J]. 工業儀表與自動化裝置,2018(3):101-103,106.

[4] 高巖. 基于CT圖像的腎臟腫瘤紋理特征提取[J]. 中國數字醫學,2019,14(4):66-68.

[5] 馬書新. 乳腺影像案例多模檢索技術探究[J]. 世界最新醫學信息文摘,2018,18(46):171-172.

[6] 高靜雅,張榮國,趙健,等. 融合紋理特征與形狀特征的病灶CT圖像識別[J]. 太原科技大學學報,2018,39(3):165-170.

[7] 張劍華,蓋鋮,陳勝勇. 基于目標形狀特征和紋理特征的迭代配準方法在頸動脈血管中的應用[J]. 浙江工業大學學報,2018,46(1):33-37.

[8] 李亮,尹小童,李夢爍,等. 基于多特征融合的甲狀腺結節良惡性識別[J]. 軟件導刊,2017,16(12):137-140.

[9] 王昕,李亮,尹小童,等. 甲狀腺結節超聲圖像多特征融合及識別[J]. 吉林大學學報(信息科學版),2017,35(6):650-655.

[10] 魏杰,曹旭陽,陳后金,等. 乳腺X線圖像腫塊分類方法研究[J]. 北京交通大學學報,2017,41(5):73-78

[11] INATI S J,NAEGELE J D,ZWART N R,et al.ISMRM raw data format: a proposed standard for MRI raw datasets[J].? Magnetic Resonance in Medicine,2017,77(1):411-421.

[12] VAN DER W S,SCHONBERGER J L,NUNEZ I J. Scikit-image: image processing in Python[J].? PeerJ,2014,2:e453.

[13] YANIV Z,LOWEKAMP B C,JOHNSON H J,et al. SimpleI TK image-analysis notebooks: a collaborative environment for education and reproducible research[J]. Journal of Digital Imaging,2018,31(3):290-303.

[14] 韓曉冬,王浩森,王碩,等. Python在圖像處理中的應用[J]. 北京測繪,2018,32(3):312-317.

[15] DANIIL K,VALERY P,SRIKANTH N,et al. TomoPhantom,a software package to generate 2D-4D analytical phantoms for CT image reconstruction algorithm benchmarks[J]. SoftwareX,2018,7:150-155.

[16] GOUILLART E,NUNEZ L J,VAN DER W S. Analyzing microtomography data with Python and the Scikit-image library[J]. Advanced structural and chemical imaging,2017,2(1):1-5.

[17] VAN G,FEDOROV J J M,PARMAR A C,et al.Computational radiomics system to decode the radiographic phenotype[J]. Cancer Research,2017,77(21):e104-e107.

[18] 董付國. Python程序設計[M]. 第1版. 北京:清華大學出版社,2015.

[19] 陳為,沈澤潛,陶煜波. 數據可視化[M]. 第2版. 北京:電子工業出版社,2019.

(責任編輯:孫 娟)

主站蜘蛛池模板: 97影院午夜在线观看视频| 制服丝袜在线视频香蕉| 欧美亚洲日韩中文| 日韩久久精品无码aV| 91麻豆国产精品91久久久| 午夜久久影院| 欧美69视频在线| 亚洲成人播放| 99精品在线视频观看| 日韩av在线直播| 19国产精品麻豆免费观看| 国产高清毛片| 国产精品综合久久久| 毛片免费视频| 国产靠逼视频| 国产91高跟丝袜| 日韩av电影一区二区三区四区 | 日韩欧美国产综合| 国产在线精彩视频论坛| 精品伊人久久久久7777人| a毛片基地免费大全| 亚洲精选无码久久久| 亚洲综合色吧| 人妻精品全国免费视频| 久久网综合| 亚洲欧美国产视频| 国产午夜人做人免费视频中文 | 日韩在线观看网站| 亚洲AV免费一区二区三区| 亚洲精品无码人妻无码| 国产主播一区二区三区| 国内精品免费| 在线观看欧美国产| 91久久国产成人免费观看| 国产精品开放后亚洲| 欧美在线观看不卡| 久久婷婷五月综合色一区二区| 亚洲成网777777国产精品| 人妻丰满熟妇αv无码| 国产精品成| 久久男人资源站| 人禽伦免费交视频网页播放| 男人天堂伊人网| 欧美三级自拍| 三上悠亚在线精品二区| 无码中文字幕乱码免费2| 久久精品波多野结衣| 综合社区亚洲熟妇p| 99久久精品国产麻豆婷婷| 看你懂的巨臀中文字幕一区二区| 3344在线观看无码| 蜜桃视频一区二区三区| 国产精品无码AV片在线观看播放| 欧美国产综合视频| 无码中字出轨中文人妻中文中| 波多野结衣的av一区二区三区| 欧美日韩国产在线播放| 精品无码一区二区三区在线视频| 久久亚洲国产一区二区| 麻豆国产在线不卡一区二区| 久热re国产手机在线观看| 天堂岛国av无码免费无禁网站 | 97国产精品视频自在拍| 日韩不卡高清视频| 嫩草影院在线观看精品视频| 天堂成人av| 国产尤物jk自慰制服喷水| 色婷婷久久| 日本亚洲欧美在线| 国产亚洲精品91| 亚洲AV成人一区二区三区AV| 99久久精品免费视频| 成人福利在线免费观看| 亚洲精品第1页| 国产18页| 亚洲女同欧美在线| 好吊色妇女免费视频免费| 亚洲国产精品国自产拍A| 欧美色99| 亚洲人成网7777777国产| 91无码网站| 狠狠五月天中文字幕|