医学影像组学特征值(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)Exponential:指数,获取图像强度值的指数
8)Gradient:梯度,获取图像局部梯度的大小
9)LocalBinaryPattern2D:本地二进制模型(2D)
10)LocalBinaryPattern3D:本地二进制模型(3D)2、允许的特征类
从每个图像类型中进行特征提取的特征类型,允许的特征类被存储在特征提取类实例_enabledFeatures字典中,并且可以通过enableAllFeatures(), disableAllFeatures(), enableFeatureClassByName()和 enableFeaturesByName()函数进行修改。字典中的每个键值对代表一个启用的特征类,其中特征类名称为键,而启用的特征名称列表为值。如果值为None或空列表,则启用该特征类中的所有特征。否则,仅指定某些特征则启用该特征,默认情况下所有的特征类和特征都被启动。
目前可用的特征类如下:
1)First Order Statistics(19features)一阶统计量
通过常用的和基本的度量来描述由mask定义的图像区域内的体素强度分布。
GetEnergyFeatureValue():能量,是图像中体素值大小的度量,值越大意味着这些值的平方和越大。

GetTotalEnergyFeatureValue():总能量,是以体素的体积(以立方毫米为单位)为尺度的能量特征值。

GetEntropyFeatureValue():熵,定义图像值的不确定性或者随机性,是对图像值进行编码所需平均信息量对度量。

GetMinimunFeatureValue():最小特征值
Get10PercentileFeatureValue():第10%的特征值。
Get90PercentileFeatureValue():第90%的特征值
GetMaximunFeatureValue():最大特征值
GetMeanFeatureValue():平均特征值
GetMedianFeatureValue():中位数特征值
GetInterquartileRangeFeatureValue():四分位范围
GetRangeFeatureValue():强度值范围(最大值-最小值)
getMeanAbsoluteDeviationFeatureValue():平均绝对偏差

getRobustMeanAbsoluteDeviationFeatureValue():鲁棒平均绝对偏差

getRootMeanSquaredFeatureValue():均方根

getStandardDeviationFeatureValue():标准偏差,衡量与平均值之间的差异或离散程度

getSkewnessFeatureValue():偏度,偏度测量关于平均值的值分布的不对称性。根据尾巴在哪里加长和分布的质量集中在什么地方,该值可以为正或负。

GetKurtosisFeatureValue():峰度,峰度是图像ROI中值分布的“峰值”度量。峰度越高,意味着分布的质量集中于尾部而不是均值。较低的峰度意味着相反的情况:分布的质量集中在接近均值的峰值处。

GetVarianceFeatureValue():方差,是每个强度值与平均值之间的平方距离的平均值。这是对均值分布分布的度量

getUniformityFeatureValue():均匀度,是每个强度值的平方和的量度。这是图像阵列均匀性的一种度量,其中更大的均匀性意味着更大的均匀性或较小的离散强度值范围。

2)Shape-based(3D)(16fetures)基于3D形状
getMeshSurfaceFeatureValue():网格表面,由三角形网格定义,计算ROI的表面。
getPixelSurfaceFeatureValue():像素表面,由像素数量乘以每个像素的面积得到。
getPerimeterFeatureValue():周长。
getPerimeterSurfaceRatioFeatureValue():周长比,较低的值表示更紧凑的圆形。
getSphericityFeatureValue():球形度,表示与肿瘤区域具有相同面积的圆形的周长与肿瘤的周长之比。
getSphericalDisproportionFeatureValue():球形不均匀度,是球形度的倒数。
getMaximumDiameterFeatureValue():最大2D直径。
getMajorAxisLengthFeatureValue():主轴长度。
getMinorAxisLengthFeatureValue():短轴长度。
getElongationFeatureValue():伸长率。

3)Shape-based(2D)(10features)基于2D形状
getMeshVolumeFeatureValue():网格体积,由影像RIO的三角形网格计算得到。
getVoxelVolumeFeatureValue():体素体积,由体素的个数乘以一个体素的体积得到。
GetSurfaceAreaFeatureValue():表面积。
getSurfaceVolumeRatioFeatureValue():表面积与体积之比,较低的值表示更紧凑的球形形状。
getSphericityFeatureValue():球形度,是肿瘤区域相对于球形度圆度度度量。
getCompactness1FeatureValue():紧凑度1,是衡量肿瘤形状相对于球形的紧密程度的度量。
getCompactness2FeatureValue():紧凑度2,也是衡量肿瘤形状相对于球体的紧密程度的度量,公式不同。
getSphericalDisproportionFeatureValue():球形不对称,是肿瘤区域的表面积与具有相同体积的球体表面积的比值,是球形度的倒数。
getMaximum3DDiameterFeatureValue():最大3D直径,表示肿瘤表面网格顶点之间的最大欧几里得距离。
getMaximum2DDiameterSliceFeatureValue():最大2D直径(切片),表示轴向平面中肿瘤表面网格顶点之间最大的欧几里得距离。
getMaximum2DDiameterColumnFeatureValue():最大2D直径(列),表示冠状平面中肿瘤表面网格顶点之间最大的欧几里得距离。
getMaximum2DDiameterRowFeatureValue():最大2D直径(行),表示失状平面中肿瘤表面网格顶点之间最大的欧几里得距离。
getMajorAxisLengthFeatureValue():主轴长,表示包围ROI的椭球的最大轴长。
getMinorAxisLengthFeatureValue():短轴长,表示包围ROI的椭球的第二轴长。
getLeastAxisLengthFeatureValue():最小轴长,表示包围ROI的椭球的最小轴长。
getElongationFeatureValue():伸长率,表示ROI形状中两个最大的主成分之间的关系。
getFlatnessFeatureValue():平面度,是表示ROI形状中最大和最小主成分之间的关系。

4)Glcm:Gray Level Cooccurence Matrix(24features)灰度共生矩阵
定义了一些关于相关性、能量、对比、逆差、方差、概率、熵、平方和等信息,具体不展开介绍了(主要是实在难以翻译),感兴趣可以去官网看公式(https://pyradiomics.readthedocs.io/en/latest/features.html#radiomics.glcm.RadiomicsGLCM)。
GetAutocorrelationFeatureValue():自相关,是纹理精细度和粗糙度的量度
getJointAverageFeatureValue():
getClusterProminenceFeatureValue
getClusterShadeFeatureValue
getClusterTendencyFeatureValue
getContrastFeatureValue
getCorrelationFeatureValue
getDifferenceAverageFeatureValue
getDifferenceEntropyFeatureValue
getDifferenceVarianceFeatureValue
getDissimilarityFeatureValue
getJointEnergyFeatureValue
getJointEntropyFeatureValue
getHomogeneity1FeatureValue
getHomogeneity2FeatureValue
getImc1FeatureValue
getImc2FeatureValue
getIdmFeatureValue
getMCCFeatureValue
getIdmnFeatureValue
getIdFeatureValue
getIdnFeatureValue
getInverseVarianceFeatureValue
getMaximumProbabilityFeatureValue
getSumAverageFeatureValue
getSumVarianceFeatureValue
getSumEntropyFeatureValue
getSumSquaresFeatureValue

5)Glrlm:Gray Level Run Length Matrix(16features),灰度级运行长度矩阵
getShortRunEmphasisFeatureValue
getLongRunEmphasisFeatureValue
getGrayLevelNonUniformityFeatureValue
getGrayLevelNonUniformityNormalizedFeatureValue
getRunLengthNonUniformityFeatureValue
getRunLengthNonUniformityNormalizedFeatureValue
getRunPercentageFeatureValue
getGrayLevelVarianceFeatureValue
getRunVarianceFeatureValue
getRunEntropyFeatureValue
getLowGrayLevelRunEmphasisFeatureValue
getHighGrayLevelRunEmphasisFeatureValue
getShortRunLowGrayLevelEmphasisFeatureValue
getShortRunHighGrayLevelEmphasisFeatureValue
getLongRunLowGrayLevelEmphasisFeatureValue
getLongRunHighGrayLevelEmphasisFeatureValue

6)Glszm:Gray Level Size Zone Matrix(16features)
getSmallAreaEmphasisFeatureValue
getLargeAreaEmphasisFeatureValue
getGrayLevelNonUniformityFeatureValue
getGrayLevelNonUniformityNormalizedFeatureValue
getSizeZoneNonUniformityFeatureValue
getSizeZoneNonUniformityNormalizedFeatureValue
getZonePercentageFeatureValue
getGrayLevelVarianceFeatureValue
getZoneVarianceFeatureValue
getZoneEntropyFeatureValue
getLowGrayLevelZoneEmphasisFeatureValue
getHighGrayLevelZoneEmphasisFeatureValue
getSmallAreaLowGrayLevelEmphasisFeatureValue
getSmallAreaHighGrayLevelEmphasisFeatureValue
getLargeAreaLowGrayLevelEmphasisFeatureValue
getLargeAreaHighGrayLevelEmphasisFeatureValue

7)Gldm:Gray Level Dependence Matrix(14features)灰度依赖性矩阵
getSmallDependenceEmphasisFeatureValue
getLargeDependenceEmphasisFeatureValue
getGrayLevelNonUniformityFeatureValue
getGrayLevelNonUniformityNormalizedFeatureValue
getDependenceNonUniformityFeatureValue
getDependenceNonUniformityNormalizedFeatureValue
getGrayLevelVarianceFeatureValue
getDependenceVarianceFeatureValue
getDependenceEntropyFeatureValue
getDependencePercentageFeatureValue
getLowGrayLevelEmphasisFeatureValue
getHighGrayLevelEmphasisFeatureValue
getSmallDependenceLowGrayLevelEmphasisFeatureValue
getSmallDependenceHighGrayLevelEmphasisFeatureValue
getLargeDependenceLowGrayLevelEmphasisFeatureValue
getLargeDependenceHighGrayLevelEmphasisFeatureValue

8)Ngtdm:Neighbouring Gray Tone Difference Matrix(5features)
getCoarsenessFeatureValue
getContrastFeatureValue
getBusynessFeatureValue
getComplexityFeatureValue
getStrengthFeatureValue

除了形状特征类外,其他特征都可以在原始图像和派生图像上进行计算,注意上面的特征不是都需要的,有一些特征具有相关性。3、特征提取设置
1)Image Normalization图像归一化
Normalize:当设置为True时,对图像进行归一化处理
normalizeScale:对图像进行归一化处理的比例
RemoveOutliers:从图像中删除的离群值
2)Resampling the image图像重采样
ResamplePixelSpacing:设置重采样时的体素大小。
Interpolator:设置重采样的差值方法,可选的值如下:
sitkNearestNeighbor(= 1)
sitkLinear(= 2)
sitkBSpline(= 3)
sitkGaussian(= 4)
sitkLabelGaussian(= 5)
sitkHammingWindowedSinc(= 6)
sitkCosineWindowedSinc(= 7)
sitkWelchWindowedSinc(= 8)
sitkLanczosWindowedSinc(= 9)
sitkBlackmanWindowedSinc(= 10)
padDistance:设置在裁剪肿瘤体时的体素补充数量。

程序 峰谷值 提取_医学影像组学特征值(Radiomics Features)提取之Pyradiomics(一)理论篇...相关推荐

  1. python影像组学_【影像组学预测模型-Radiomics】实操教学

    影像组学(Radiomics)是一个新兴的概念,2012 年由荷兰学者 Philippe Lambin 首次提出,其定义是借助计算机软件,从医学影像图像中挖掘海量的定量影像特征,使用统计学和/或机器学 ...

  2. 医学影像组学人工智能应用培训班

    中国管理科学研究院职业资格认证培训中心 医学影像组学人工智能应用培训班 各企事业单位.高等院校及科研院所:随着影像组学和人工智能尤其是视觉技术的高速融合,影像组学延伸领域也随之高速增长,同时也推动了人 ...

  3. 影像组学工作站:医学影像组学中多模态的任务类型

    医学影像组学之多模态任务类型

  4. 医学影像组学人工智能案例结合

    企事业单位.高等院校及科研院所: 随着数字医学和医学图像信息学的发展,从医学图像中挖掘图像特征.解析临床信息,逐渐成为医学领域重要研究方向.通过对图像数据特征的深层次挖掘,医学图像能提供更多肉眼不能识 ...

  5. 医学影像组学人工智能应用实践

    时间地点: 2021 年 09 月 2 3  日-2021 年 09 月 2 6  日 远程在线授课  (第一天全天报到,授课三天,线上上课) 医学实验平台 路径:任务→案例指向→问题分类→模型匹配→ ...

  6. 医学影像组学人工智能算法构建培训班

    各企事业单位.高等院校及科研院所: 随着影像组学和人工智能尤其是视觉技术的高速融合,影像组学延伸领域也随之高速增长,同时也推动了人工智能技术在医学科研应用领域快速地发展,相关科研成果和学术论文数量逐年 ...

  7. 医学影像组学AI深度学习应用实践培训班

    医学影像组学AI深度学习应用实践培训班 目标: 1.为每位学员统一配置数据标注.格式转化.训练模型(病灶识别.病灶位置.病灶分割)的代码练习,以方便零基础学员迅速进入实验验证. 2.掌握影像组学研究过 ...

  8. python使用TSNE为影像组学(radiomics)数据进行降维可视化分析

    python使用TSNE为影像组学(radiomics)数据进行降维可视化分析 目录 python使用TSNE为影像组学(radiomics)数据进行降维可视化分析

  9. 影像组学|特征定义以及提取

    一. 影像组学特征分类 1.1 影像组学特征分类 1.1.1 一阶统计特征 一阶统计特征,反应所测体素的对称性.均匀性以及局部强度分布变化.包括中值,平均值,最小值,最大值,标准差,偏度,峰度等. 1 ...

最新文章

  1. 【邮箱使用】Yahoo邮箱POP3、SMTP开通以及设置方法
  2. php入门时间,PHP入门(8)日期和时间
  3. python的dll文件在哪_Python运行DLL文件的方法
  4. java 父类 超类_Java超类-java.lang.object
  5. R-CNN detection 运行问题及办法
  6. guassdb200 single node deployment
  7. 百度地图手机和电脑不一致_手机能下载北斗星导航吗?比高德地图和百度地图好用吗?...
  8. PHP学习总结(4)——PHP入门篇之PHP计算表达式
  9. Linux编程(8)_文件IO
  10. 基数排序(稍微困难)
  11. 人民邮电出版社图灵公司征求《Windows Communication Foundation Unleashed》译者
  12. 【python 类】【部分转发】设计模式 -- 责任链模式 (类之间的联动)
  13. SpringBootJ2EE相关介绍
  14. com.alibaba.datax.common.exception.DataXException: Code:[ESWriter-03]
  15. FPGA数字IC的Verilog刷题解析基础版02——T触发器(异步复位和同步复位)
  16. 获取网站图标icon
  17. 拼多多优惠券BUG事件完整回顾
  18. Spring源码分析一:容器篇—refresh()
  19. 用C语言写藏头诗或藏尾诗
  20. Saas发展史常用架构

热门文章

  1. 可控硅g极电阻值计算_可控硅的作用介绍及检测方法
  2. 结构体命名中的尾标ST是什么意思?(struct)
  3. 深入浅出python机器学习_4.3.2_岭回归的参数调节-2_绘制折线图
  4. web服务器配置(静态页面)
  5. Java多线程(三):使用ThreadPoolExecutor创建线程池
  6. Kafka工作原理简要概述
  7. Mybatis 源码探究 (4) 将sql 语句中的#{id} 替换成 ‘?
  8. mysql换服务器后数据同步_mysql配置主从,主服务器之前的数据可不可以同步过来...
  9. windows服务又界面吗_详解远程桌面协议, Linux 和 Windows 间的远程桌面互相访问(RDP、VNC协议)...
  10. QString string char*互转