[發明專利]一種基于放射組學的肝靜脈壓力梯度計算模型的構建方法有效
| 申請號: | 201711136102.6 | 申請日: | 2017-11-16 |
| 公開(公告)號: | CN107945878B | 公開(公告)日: | 2020-11-27 |
| 發明(設計)人: | 祁小龍 | 申請(專利權)人: | 祁小龍 |
| 主分類號: | G16H50/30 | 分類號: | G16H50/30;G16H50/50;G06T7/00;G06T7/11 |
| 代理公司: | 廣州三環專利商標代理有限公司 44202 | 代理人: | 劉孟斌 |
| 地址: | 450000 河南省鄭*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 放射 靜脈 壓力梯度 計算 模型 構建 方法 | ||
1.一種基于放射組學的肝靜脈壓力梯度計算模型的構建方法,其特征在于,包括以下步驟:
A.從標本的肘正中靜脈注射造影劑,進行CT血管成像(CTA),獲取包括肝靜脈期在內的CTA圖層序列,導出格式為dcm的圖層序列;
B.將所獲取的圖層序列導入醫學影像控制軟件ITK-SNAP,選擇門靜脈期圖層序列,確認圖像信息,ITK-SNAP軟件自動識別圖像序列,生成門靜脈期CTA圖像序列的冠狀位、矢狀位和水平位圖像;
C.通過Expand this view to occupy the entire window功能將水平位圖像放大,使用Zoom Inspector工具,選擇zoom to fit調整圖像至合適的大小;
D.以尋找水平位圖像中的第一肝門作為目標,利用ITK-SNAP軟件的PainburshInspector工具以包含目標的CT值、排除目標周圍軟組織的CT值為原則,提取目標;再反復利用Painbursh Inspector工具,剔除剩余的非目標結構;
E.選擇Save segmentation Image將分割出的目標以NiFTI格式(.nii)導出,形成掩模圖像的NiFTI格式;
F.打開dcm2niigui軟件,選擇Compressed FSL[4D NIfTInii]選項,將篩選出的包含第一肝門層面的dcm圖層序列放到dcm2niigui工作空間中,利用dcm2niigui軟件將dcm圖層序列轉換為NiFTI格式;然后將含第一肝門層面的dcm圖層序列、新生成的NiFTI格式文件和步驟D中生成的NiFTI格式文件放到同一文件夾中;
G.打開MATLAB R2016b軟件,進入工作界面;在菜單欄處選擇SetPath按鈕,將所需要的feature_extra.m、readDICOMdir.m、str2matrix.m、NonTextureFeatures、TextureToolbox、NIfTI、Utilities工具箱所在的絕對路徑加載到MATLAB搜索路徑中;
H.打開feature_extra.m文件,利用NIfTI工具箱中load_nii函數將步驟F中兩個NiFTI格式文件導入MATLAB中,并且以名為data和data1的細胞數組儲存;然后將兩個細胞數組中的圖像提取出來存儲到名為mask和image變量中;
I.利用Utilities工具箱中computeBoundingBox函數將圖像中感興趣區域(ROI)的邊界坐標提取出來并儲存到變量maskBox中;然后通過矩陣的基本操作將mask和image變量的邊界坐標以內的圖像信息提取出來放到變量maskBox和image_originalBox中;完成上述操作后,通過矩陣maskBox和image_originalBox的點乘運算得到圖像中感興趣區域,然后保存在ROI變量中,然后通過imshow與contour兩個函數將感興趣區域展示出來;
J.利用readDICOMdir.m函數將含第一肝門層面的dcm圖像序列讀入到MATLAB中,通過變量索引,將像素大小、層厚提取出來并保存到變量pixelW與sliceS中;
K.將變量ROI、pixelW、sliceS傳輸到NonTextureFeatures工具箱的getEccentricity.m、getSize.m、getSolidity.m和getVolume.m函數中,然后計算得到eccentricity、sizeROI、solidity、volumeROI 4個非紋理特征;
L.為了進行紋理特征提取,首先對參數進行設置;在TextureFeatures工具箱中一共有四個可變參數,分別為R、Scale、Algo和Ng,每個可變參數分別對應不同的變化空間,其中R的變化空間為[1/2,2/3,1,3/2,2],Scale的變化空間為[‘pixelW’,1,2,3,4,5],Algo的變化空間為[‘Equal’,‘Lloyd’],Ng的變化空間為[8,16,32,64],而參數不同組合使得紋理特征有顯著變化;利用for循環將不同參數的取值進行排列組合,得到5*6*2*4組設定;通過參數傳遞向TextureFeatures工具箱傳遞不同設定,而每一組設定將得到43種紋理特征,分別存放于名為glcmTextures、glrlmTextures、glszmTextures、ngtdmTextures和globalTextures的結構體中,最后總共提取5*6*2*4*43=10320個紋理特征;
M.對于不同病例,在將第一肝門層面感興趣區域的非紋理特征與紋理特征提取出來后,一共得到了(4+5*6*2*4*43)=10324個特征,然后將非紋理特征和紋理特征整合成大小為病人個數*特征個數的特征矩陣;
N.重復步驟A到步驟M完成對脾門層面感興趣區域的非紋理特征與紋理特征提取,得到4個非紋理特征和10320個紋理特征,然后整合成大小為病人個數*特征個數的特征矩陣;
O.利用str2matrix.m函數,將步驟M與步驟N中的兩個特征矩陣橫向拼接,組成大小為病人個數*(特征個數*2)的特征矩陣;以各個病人有無臨床顯著性門脈高壓為標準制作名為outcome的mat文件,其中有臨床顯著性門脈高壓用1表示,反之用0表示;接著將特征矩陣和outcome的mat文件橫向拼接起來,組成一個大小為病人個數*(特征個數*2+1)的矩陣,并且用csvwrite.m函數將已整合的第一肝門層面、脾門層面的圖像特征矩陣保存為csv格式;
P.打開R軟件,利用read.table函數將cvs格式的特征矩陣導入到R軟件的工作空間中,并保存在變量train中;然后利用as.matrix函數將訓練集中病人的圖像特征矩陣提取出來,保存在train_x中作為建模的輸入變量;同樣地,利用as.matrix函數將訓練集中病人的outcome標簽提取出來,保存在train_y中作為建模的輸出標簽;
Q.利用library函數加載glmnet工具包,然后使用glmnet函數中的lasso降維方法對(4+5*6*2*4*43)*2=20648個特征進行篩選,并使用dev.new函數和plot函數將降維過程顯示出來,圖中每個lambda對應著一個線性模型且每個模型中使用的特征也不盡相同;
R.通過設置參數nfold、type.measure和family并利用cv.glmnet函數對訓練集做nfold折交叉驗證、建立線性的二項分布模型,然后通過dev.new函數和plot函數顯示每個線性模型的性能曲線;
S.通過cv$lambda.min選擇AUC最高的lambda所對應的最優線性模型,然后利用coef函數和coefficients函數輸出該最優模型的非零系數和篩選出來的特征;
T.利用library函數加載boot工具包和Hmisc工具包,然后通過boot函數和boot.ci函數對訓練集做1000次bootstraping并計算出訓練集的C-index指標;接著加載pROC工具包,利用roc函數計算出訓練集的ROC(Receiver Operating Characteristic)曲線下面積(AUC);
U.為了進行模型驗證,以未進行特征分析的人群制作測試集,同樣經過上訴步驟A到步驟O將測試人群的第一肝門層面和脾門層面的20648維圖像特征提取出來保存為csv格式;利用read.table函數將cvs格式的特征矩陣導入到R軟件的工作空間中,并保存在變量test中;然后利用as.matrix函數將測試集中病人的圖像特征矩陣提取出來,保存在test_x中作為已建好的模型的輸入變量;利用glmnet工具包中的predict函數來計算測試集rHVPG的數值,測試結果與臨床應用中金標準HVPG相比較,并利用roc函數計算出測試集的AUC;
V.進一步驗證rHVPG模型的準確性,選取FibroScan測量的肝硬度、HVPGCTscore評分、門靜脈直徑、谷草轉氨酶-谷丙轉氨酶比值、谷草轉氨酶/血小板比值指數、血清標志物作為對照指標,計算各個無創指標在以HVPG為金標準時的AUC,從AUC比較各個模型的準確度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于祁小龍,未經祁小龍許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711136102.6/1.html,轉載請聲明來源鉆瓜專利網。





