医学影像组学特征值(Radiomics Features)提取之pyradiomics(一)理论篇
pyradiomics是一个开源的python软件包,可以从医学影像中提取出Radiomics影像组学特征,其支持2D和3D中的特征提取,在2.0版开始,pyradiomics还实现了基于voxel-based体素的提取,但提取需要时间较长,输出为由参数映射的SimpleITK图像,而不是针对每个特征的float值。
SimpleITK支持的所有图像类型可以用作PyRadiomics的输入。
一、安装方法1.Install via pip通过pip安装
确保Python已经安装的环境下,安装PyRadiomics:
python -m pip install pyradiomics2.Install via conda通过conda安装
要在Conda环境下上安装PyRadiomics:
conda install -c radiomics pyradiomics3.Install from source源代码安装
Pyradiomics支持从源代码安装,但由于附带了计算纹理矩阵和某些形状特征的C扩展,因此需要额外设置编译器,比较复杂,感兴趣可以去官网(https://pyradiomics.readthedocs.io/en/latest/installation.html#install-from-source)。4.Use 3D Slicer Radiomics extension使用3D Slicer Radiomics扩展
3D Slicer是用于医学影像计算的免费开源平台(http : //slicer.org),可以使用3D Slicer ExtensionManager来安装Radiomics扩展程序,该扩展程序提供了一个针对pyradiomics库的图形用户界面。使用3D Slicer中的pydiadomics的优势在于,您可以查看图像和分割,参考链接https://github.com/Radiomics/SlicerRadiomics。
5.Use pyradiomics Docker使用pyadiomics Docker
pyadiomics Docker支持从命令行使用pyradiomics,感兴趣可以去官网(https://pyradiomics.readthedocs.io/en/latest/installation.html#use-pyradiomics-docker)。
二、Pyradiomics影像组学特征提取
在PyRadiomics中可以通过4种方式自定义特征提取:
1)指定用于提取特征的图像类型(原始图像或者基于变换的派生图像)
2)指定要提取的特征类
3)指定一个设置文件来控制预处理、图像变换的滤波器和特征类
4)指定voxel-based基于体素的特定设置,只有在使用PyRadiomics 进行体素提取生成特征图时才需要1、图像类型
进行影像组学特征提取的图像既可以是原始图像,也可以是经过滤波器处理的派生图像。默认情况下只使用原始图像,允许的图像类型存储在特征提取类实例_enabledImageTypes字典中,并且可以通过enableAllImageTypes(), disableAllImageTypes(), enableImageTypeByName()和 enableImageTypes()函数进行修改。
目前可用的图像类型如下:
原始图像:
1)Original:原始图像
派生图像:
2)Wavelet:小波滤波
3)LoG:高斯滤波器的拉普拉斯算子,是一种边缘增强滤波器,强调的是灰度变化的区域,sigma参数定义要强调的纹理粗糙度,该值较低则强调较细的纹理,该值较高则强调较粗糙的纹理。
4)Square:平方,即获取图像强度值的平方
5)SquareRoot:平方根,即获取图像强度值的平方根
6)Logarithm:对数,获取图像绝对强度+1的对数
7)Exponentia