由于我做的课题是鼠脑血管分割,从原图采集以及后面的每一步操作处理都是自己来实现的。因为TOF-MRA图像中除了血管的地方比较高亮,像眼睛以及颅骨的一些地方和血管的亮度也差不多。比如下方图片中,血管和头皮位置的亮度是差不多的。
所以这对后面的标签处理和分割操作都是有一定的影响的,所以必须要进行脑提取的操作,但是脑提取后一些位置的血管不在脑的位置,会影响血管的形态,所以在提取脑之后必须要对mask进行修正,通过itksnap软件可以将ROI区域勾画出来。然后通过将原图和mask进行点乘操作,实现抠图的效果。
import SimpleITK as sitk
import numpy as np
filepath='./CS-Net-master/data/01.nii'
brainextraction='./CS-Net-master/data/brain extraction.nii'
img1=sitk.ReadImage(filepath)
img2=sitk.ReadImage(brainextraction)
origin=img1.GetOrigin()
space=img1.GetSpacing()
direction=img1.GetDirection()
img1_array=sitk.GetArrayFromImage(img1)
img2_array=sitk.GetArrayFromImage(img2)
print(img1_array.shape,img2_array.shape)
img3=np.multiply(img1_array,img2_array)
img3_save=sitk.GetImageFromArray(img3)
img3_save.SetOrigin(origin)
img3_save.SetDirection(direction)
img3_save.SetSpacing(space)
sitk.WriteImage(img3_save,'./CS-Net-master/data/brain.nii.gz')
最终的抠图效果如下图所示: