纹理图像的共生矩阵计算_图解医学影像纹理特征

在医学影像分析中,纹理(texture)特征被广泛地应用于定量化描述病灶的特性。相比病灶影像的统计学特征和形状特征,纹理特征的计算往往较为复杂,不易于搞懂其背后的原理。然而,学习过程中建立对概念直观的认识(intuition)对理解问题的本质很有帮助,这也是本文的出发点。

本文尝试解决如下问题:

  • 医学影像特征包的官方文档给了纹理特征数学定义,但是理解起来不够直观
  • 网络上有许多介绍纹理特征的帖子,但是每个帖子介绍的内容有限;
  • 少有文章关注不同类型纹理特征之间的比较,不易于理解纹理特征背后的逻辑

本文希望通过一个统一的描述,为研究医学影像的入门者提供帮助。如有疏漏还请大佬们多多指正。

0 简介

在介绍具体的特征之前,我们先说明一下什么是“致密的”和“粗糙的”和纹理。下图中,左侧的纹理相对致密,右侧的纹理相对粗糙,因为右侧的图中相邻区域的颜色变化相对较小,我们肉眼可见若干个子区域。但是这种对于纹理的描述是定性的,不利于我们建立数学模型来对图像的性质做出判断,因此需要引入定量的纹理特征。

484e80ababb0dff843745b906a850bd6.png
致密的纹理(左)和粗糙的纹理(右)

简单来说,纹理特征是一种“二阶特征”,他们不是从图像上直接得出的,而是先通过某种计算将原始图像的特性提取出来并存在一个中间矩阵中,之后在这个中间矩阵上定义一系列的统计量,作为图像的纹理特征。在医学影像研究中,根据所用的中间矩阵的不同,可以将纹理特征的分为若干类别。这里使用影像特征提取包pyradiomics中对于纹理特征的分类:

  • Gray-level co-occurrence matrix (GLCM) based features
  • Gray-level size zone matrix (GLSZM) based features
  • Gray-level run length matrix (GLRLM) based features
  • Gray-level dependence matrix (GLDM) based features
  • Neighboring gray tone difference matrix (NGTDM) based features

我们一个一个来看。

1 GLCM与相关纹理特征

灰度共生矩阵 (GLCM) 是最常用的计算图像纹理的手段。这里通过MATLAB帮助文档里的一个例子说明GLCM是怎么计算的:

d0950ae313562053c35be22db2f6a23d.png

图的左侧是原始图像矩阵,右侧是计算出的GLCM。所谓“灰度共生”,顾名思义是研究两个灰阶同时出现的情况。那么这里就产生了两个问题:1. 要考虑哪两个灰阶;2. 在图上怎么考虑两个灰度。

第一个问题的答案很简单,所有的灰阶组合我们都考虑。GLCM是一个方阵,矩阵的维度是原始图像的灰阶数。上面例子中原图一共有8个灰度值,因此GLCM的维度是8。要考虑的两个灰度分别作为行和列,比如灰度1和2的共生次数是2,这个值就保存在GLCM(1,2)中。

第二个问题需要我们设定“共生灰度”对应像素的距离

equation?tex=%5Cdelta (像素个数)和方向
equation?tex=%5Ctheta (0~360度)。在上面的例子中显然距离为1,方向为0度(向右),相当于对于灰度1和2的共生,我们仅考虑1在2的左侧,且对应像素之间的距离为1个像素的情况。

所以GLCM其实是一个计数矩阵,它保存了图像中所有灰度组合在我们定义的距离和方向条件下“共生”的频数。直观上来说,当GLCM中数值集中在主对角线上时,原图的纹理更为粗糙。这是因为GLCM主对角线附近保存了两个相差不大的灰度值“共生”的频数,主对角线附近元素的值越大,说明原图中存在很多相邻像素灰度值相差不大的情况,肉眼看上去影像中就会存在若干个面积较大的子区域,回想一下前面石子图片的纹理便能够理解。

实际计算GLCM时候一般距离都设为1,同时会尝试所有的角度(每45度计算一次)并取平均。因此得到的GLCM一般是一个对称的矩阵。

下面通过一个例子来说明如何在GLCM上计算纹理特征,本文所有具体的纹理特征定义均来自pyradiomics包的文档。

Welcome to pyradiomics documentation!​pyradiomics.readthedocs.io

根据GLCM计算图像对比度(contrast)的公式如下:

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值