使用ITK-SNAP進行摳圖操作并保存mask的實例
問題描述:
想要去掉圖像背景,只保留中心部分
目標:
1.利用ITK-SNAP制作二值化標簽(即mask)
2.利用軟件ITK-SNAP把一幅圖像中自己想要的部分摳出來
步驟:
1.保存mask
打開ITK-SNAP ,這是一款可以方便進行勾畫操作,制作標簽的軟件
1.點擊勾畫按鈕
2.在圖像中選點進行勾畫
3.勾畫完成后點擊accept,可以看到所勾畫的區(qū)域被標簽顏色所覆蓋
4.滾動鼠標滾輪到下一層(對于3D圖像),繼續(xù)勾畫
tips:點擊"paste last polygon"按鈕使用上一層的勾畫結(jié)果,拖動勾畫框可以進行修改
5.勾畫完成后按ctrl+S保存圖像,此時所保存的即為二值化的mask(標簽)
(背景部分是0,高亮區(qū)域是設(shè)定的label值,這里為1)
2.提取目標區(qū)域(摳圖)
思想:將保存的二值化mask與原圖像做點乘,就可以將去除無關(guān)背景,得到中心區(qū)域的目標圖像
方法:(對于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) #將矩陣轉(zhuǎn)換為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的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
學會Python數(shù)據(jù)可視化必須嘗試這7個庫
數(shù)據(jù)可視化是使用一些繪圖和圖形更詳細地理解數(shù)據(jù)的過程.最著名的庫之一是 matplotlib,它可以繪制幾乎所有您可以想象的繪圖類型.matplotlib 唯一的問題是初學者很難掌握.在本文中,我將介紹七個數(shù)據(jù)可視化庫,你可以嘗試使用它們來代替 matplotlib ,需要的朋友可以參考下2021-06-06Pytorch Conda環(huán)境下載慢換源/刪源/恢復(fù)默認源的簡單操作
隨著實驗增多,需要分割創(chuàng)建環(huán)境的情況時有出現(xiàn),在此情況下使用conda create --name xx python=3.10 pytorch torchvision pytorch-cuda -c nvidia -c pytorch -y這樣的指令創(chuàng)建時如果不換源,往往下載速度很慢,本文介紹了解決辦法,需要的朋友可以參考下2024-07-07如何在keras中添加自己的優(yōu)化器(如adam等)
這篇文章主要介紹了在keras中實現(xiàn)添加自己的優(yōu)化器(如adam等)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06Python的Flask框架中使用Flask-Migrate擴展遷移數(shù)據(jù)庫的教程
Flask-Migrate可以幫助Flask應(yīng)用程序通過預(yù)設(shè)的Python腳本完成數(shù)據(jù)庫遷移操作,這里我們就來看一下Python的Flask框架中使用Flask-Migrate擴展遷移數(shù)據(jù)庫的教程,需要的朋友可以參考下2016-06-06