医学图像处理常用技巧
文章平均质量分 73
介绍医学图像处理常用技巧,包括各种算法,工具的使用和介绍
小鹿学长
一个AI菜鸟&吃货学长
展开
-
sitk医疗图像分割评价指标Dice,hausdorff distance
医疗图像分割评价指标主要有三个,包括掩码相似度指标Dice,Jaccard,Overlap和边界距离指标hausdorff distance,平均hausdorff distance。掩码相似度指标很好理解,hausdorff distance指的是两个掩码边界像素的最近距离集合中的最大值。sitk代码很简单,可以计算二维和三维的指标。gt = sitk.GetImageFromArray(gt, isVector=False)my_mask = sitk.GetImageFromArray(my_m原创 2020-12-14 22:49:18 · 4036 阅读 · 2 评论 -
Python肺CT图像窗位窗宽调整
CT图像中,每个器官的窗位窗宽都不同,有时我们需要着重观察某个器官,只需调整他们的窗位窗宽即可,以下为肺的窗位窗宽调整。import numpy as npimport SimpleITK as sitk def window(img): win_min = -400 win_max = 1500 for i in range(img.shape[0]): img[i] = 255.0*(img[i] - win_min)/(win_max - win_mi原创 2020-12-13 21:56:36 · 3551 阅读 · 6 评论 -
sitk切片序列重采样归一化
由于扫描机器的差异,不同HRCT的切片序列层厚和切片间距离都不同。在进行自己的算法前需要将所有序列进行归一化,或者我们只想要其中的部分图片,这时就要对序列进行重采样。代码其实也很简单,下面的代码可以将Z轴的spacing更改为10mm,如果想更改X,Y方向的,只要改前面的两个参数即可。def ImageResample(sitk_image, is_label = True): ''' sitk_image: new_spacing: x,y,z is_label: if原创 2020-12-13 21:48:57 · 2851 阅读 · 1 评论 -
sitk三维体数据与二维切片互转(nii.gz转dcm和dcm转nii.gz)
在对医学图像数据进行处理时,通常我们会将原始的dicom序列转换为三维的体数据nii.gz格式,便于后序的处理。处理完后,可能又要转换为一张张dicom切片。其实使用sitk对nii.gz和dcm进行互转非常方便,几行代码就能搞定。dcm转nii.gzfile_path = './lung_img' #dicom存放文件夹series_IDs = sitk.ImageSeriesReader.GetGDCMSeriesIDs(file_path)series_file_names = sitk.原创 2020-12-13 21:32:17 · 5775 阅读 · 2 评论 -
ITK-snap进行分割区域标注、三维显示及改变显示颜色
在进行医学图像器官分割时,无论我们是用传统方法还是深度学习,最后肯定要用到手动分割的区域作为金标准来验证我们方法的精度。但是手动标注器官的轮廓是十分耗时的,这里我介绍一个比较简单的标注方法,以肺分割作为例子。我们使用ITK-snap作为分割标注工具。当切片间距离比较小时,比如1mm,一个患者的完整HRCT序列通常在200张以上,如果让医生一一进行分割区域标注是非常耗时乏味的。因此,我们可以使用最简单的阈值法比如OSTU,加上基本的形态学操作对肺进行粗分割得到粗略的分割掩码,在此基础上再手动的对分割结果进原创 2020-12-13 20:27:01 · 16959 阅读 · 26 评论 -
医学图像处理常用的看图软件介绍及使用(RadiAnt DICOM Viewer、ITK-Snap和3D Slicer)
医学图像既可从二维查看也可从三维查看,本文将对作者认为比较好用的医学看图软件进行简单介绍,并作具体示范。作者常用的医学图像看图软件有RadiAnt DICOM Viewer、ITK-Snap和3D Slicer,这三个都可从网上下载到。在不同的场景下,不同软件的功能和便利程度都不同。一、RadiAnt DICOM Viewer这个软件主要用来看二维的.dcm切片,可以很方便的查看每张切片的图...原创 2020-04-19 20:30:53 · 38629 阅读 · 5 评论 -
python使用nibabel和sitk读取保存nii.gz文件
nii.gz格式是医学图像常用的压缩格式,python中可用nibabel和sitk来读取保存。使用nibabel由于使用nibabel图像会旋转90度,所以读取保存的时候还得保存映射信息,3维图像格式为(z, y, x)读取nii.gz文件img = nib.load('xxxxx.nii.gz')img_affine = img.affineimg = img.get_data(...原创 2020-01-03 11:08:55 · 13546 阅读 · 6 评论 -
用逐步微调深度神经网络进行胃部病理图像分类
这几年,深度神经网络在医学图像方面得到了很好的应用,但是由于医学图像的专业性,一直没得到广泛的实际应用。首先,医学图像由于隐私性,用于深度神经网络的数据不可能有很多,另外医学图像专业性强,标注成本高。为了解决这些问题,本文提出了用逐步微调深度神经网络进行胃部病理图像分类的方法。原创 2019-03-13 21:04:30 · 1585 阅读 · 2 评论 -
vs2017编译安装ITK-5.0.1+VTK-8.2.0,混合编程,读取图像并显示
ITK提供了完整的读取DICOM图像的方法,但不能实现可视化,VTK是一套进行数据可视化但通用开发工具包,所以在应用ITK进行图像读取和处理后,往往再利用VTK进行可视化。原创 2019-07-31 14:00:42 · 3491 阅读 · 9 评论