使用ITK-SNAP進行摳圖操作並儲存mask的例項
阿新 • • 發佈:2020-07-02
問題描述:
想要去掉影象背景,只保留中心部分
目標:
1.利用ITK-SNAP製作二值化標籤(即mask)
2.利用軟體ITK-SNAP把一幅影象中自己想要的部分摳出來
步驟:
1.儲存mask
開啟ITK-SNAP,這是一款可以方便進行勾畫操作,製作標籤的軟體
1.點選勾畫按鈕
2.在影象中選點進行勾畫
3.勾畫完成後點選accept,可以看到所勾畫的區域被標籤顏色所覆蓋
4.滾動滑鼠滾輪到下一層(對於3D影象),繼續勾畫
tips:點選"paste last polygon"按鈕使用上一層的勾畫結果,拖動勾畫框可以進行修改
5.勾畫完成後按ctrl+S儲存影象,此時所儲存的即為二值化的mask(標籤)
(背景部分是0,高亮區域是設定的label值,這裡為1)
2.提取目標區域(摳圖)
思想:將儲存的二值化mask與原影象做點乘,就可以將去除無關背景,得到中心區域的目標影象
方法:(對於nii格式的影象)
import nibabel as nib import numpy as np index = list(['1','14','4','5','7','70','148'])#一共7張待處理影象 for i in range (len(index)): #影象位置 nii_file = '/home/YinXiaolong/1909/MRBrainS18_data/training_corrected_selected/'+index[i]+'/data/reg_IR.nii.gz' nii_file2 = '/home/YinXiaolong/1910/mask_multiple/mask/' +'mask'+ index[i]+ '.nii.gz' #載入影象 img = nib.load(nii_file).get_fdata() img2 = nib.load(nii_file2).get_fdata() #兩幅影象相乘 img3 = np.multiply(img,img2) #將矩陣轉換為nii array_img = nib.Nifti1Image(img3,None) #儲存並匯出 nib.save(array_img,'reg_IR'+'_'+index[i]+'.nii') print('img'+index[i]+'Done')
對於一般格式影象利用numpy中的img = np.multiply(img1,img2)進行兩幅影象的點乘即可。
以上這篇使用ITK-SNAP進行摳圖操作並儲存mask的例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。