在前面的文章中,已经给大家分享了很多图像处理案例和深度学习案例,但是还是有很多人提出很多问题,基本上都是对案例实现代码的理解不够透彻。从今天起我将开始分享医学图像处理基础算法课程,从最基本的函数开始,分享函数的原理,函数API参数讲解,每篇都会给出一个示例。 参考了数字图像处理(冈萨雷斯)部分内容,列举了一些以后要分享的函数,主要分成五大类:图像增强,图像去噪,图像边缘检测,图像形态学操作,图像分割。

a、图像增强函数 对数变换,幂次变换,直方图均衡化。 b、图像去噪函数 均值滤波,中值滤波,高斯滤波。 c、图像边缘检测 Sobel算子操作,Canny边缘检测。 d、图像形态学操作 形态学开操作,形态学闭操作,形态学细化操作。 e、图像分割 自适应阈值分割,区域生长分割,水平集分割。

医学图像处理深度学习 医学图像处理算法_医学图像处理


以上只是我初步列举的函数,这些函数都将是支持三维数据处理的。在这里我也向大家征集还需要添加哪些算法函数,可以直接在公众号留言或邮件发给我,我会斟酌考虑后,在后面的内容讲解中分享出来。     今天就简单介绍一下我们后面用到的软件开发包SimpleITK。首先先介绍如何安装SimpleITK,然后介绍SimpleITK的图像基本概念。 1、如何安装Python版本的SimpleITK包

为了快速上手算法开发,采用Python版本的SimpleITK开发包来完成医学图像处理算法开发。Python版本的SimpleITK安装也是非常容易的,只需要在cmd中输入 pip install SimpleITK

即可完成安装,然后再命令行中输入sitk.Version()可以查看SimpleITK版本,这也就证明已经安装成功。

医学图像处理深度学习 医学图像处理算法_边缘检测_02

2、SimpleITK图像的基本概念

SimpleITK中的图像概念与计算机视觉中的图像差异是非常大的,计算机视觉中的图像只是简简单单的多维矩阵,而SimpleITK中的图像是表示一种真实的物理实体,图像中的每一个像素都表示了是真实物理空间中的一个点,不仅仅有像素值,还有着坐标,间距,方向等概念。下面这张图就很明白的说明了这些概念内容。

医学图像处理深度学习 医学图像处理算法_医学图像处理深度学习_03

Size:图像在各维度的像素个数Spacing:图像各维度上像素之间的物理距离(单位一般为mm)Physical extent:图像在物理空间中的大小,其数值等于Size*Spacing。Origin:图像原点的物理坐标(单位一般为mm,与Spacing保持一致)Direction:采用方向余弦矩阵,这里是指图像本身坐标系相对于世界坐标系(固定不动的)的角度余弦。

在实际使用时要小心使用这个图像信息,不能随便修改。 除了这些跟图像相关的信息外,Dicom图像还有很多元数据(MetaData),这些都是通过(关键字,数值)对(key,value)来存储表示的,不过在这里呢,我们暂时不需要太关心这些内容,这些元数据跟图像处理算法没有太大的相关性。