【影像组学pyradiomics教程】(三)自定义特征提取

本系列博客后续将更新于个人微信公众号,欢迎关注。

【影像组学pyradiomics教程】(三)自定义特征提取_第1张图片

 

3.1 Types of Customization

个性化特征抽取的方法有三种:

  1. 指定哪种图像类别(原始图像/衍生图像)用于提取特征;
  2. 指定抽取哪种特征(特征类别);
  3. 指定设置。设置可以用于进行预处理,定制特定的滤波器(对图像进行滤波)和特征类别

提示:

  • 在对特征提取器和某个特征类别进行初始化的时候,我们可以使用关键字参数来提供第三类参数(即指定设置);
  • 第一类参数(图像类别)和第二类参数(特征类别或特征)只能使用参数文件进行初始化。如果没有使用参数文件或者需要在初始化后更改这些参数,可以使用对应的函数;

3.1.1 Image Types

可用于提取特征的图像类别有:

  • Original
  • Wavelet
  • LoG
  • Square
  • SquareRoot
  • Logarithm
  • Exponential

激活的图像类别存储在特征抽取器的实例对象的_enabledImageTypes字典中,可以使用enableAllImageTypes(),disableAllImageTypes(),enableImageTypeByName() enableImageTypes()进行更改。

在应用任何滤波器(即转换图像类别)之时或之后,我们可以定制这种图像类型的特征抽取方式

提示:

  • 默认情况下,只有原始图像处于激活状态

3.1.2 Enabled Features

可用于提取的特征有:

  • firstorder
  • shape
  • glcm
  • glrlm
  • glszm
  • gldm
  • ngtdm

可用特征可以动态地更改,激活的特征存储在特征抽取器的实例对象的_enabledFeature字典中,可通过enableAllFeatures(), disableAllFeatures(), enableFeatureClassByName() 和 enableFeaturesByName()进行更改。_enabledFeature字典中的键为已激活的特征类别名,对应的键值为一个列表,列表元素为该特征类别下激活的特征名。如果键值为None或者是空列表,则该特征类别下所有的特征都被激活。

提示:

默认情况下,所有的特征类别和所有的特征都处于激活状态

3.1.3 Settings

除了定制需要抽取什么(图像类别,特征)外,PyRadiomics提供了大量的Settings来个性化如何进行特征抽取。Settings储存在特征抽取器的实例对象的setttings字典中,键名为相关的设置名称。

Settings初始化的方式有三种:

  1. 在特征抽取器进行初始化的时候,通过关键字参数对Settings进行初始化(设置的名称为关键字,设置的值作为参数值,例如binWidth=25);
  2. 直接使用setttings字典进行交互;
  3. 直接使用参数文件

提示:

当直接使用特征类别的时候,特征类别级别的Settings能够在对特征类别进行初始化的时候通过关键字参数进行初始化


3.2 Parameter File

所有三类用来自定义特征提取的参数可通过一个yaml结构的文本文件提供。通过这种方式提供的参数能够避免使用上述函数写代码带来的麻烦,而且易于参数共享。 
通过yaml文件提供参数的示例可参考 pyradiomics/examples/exampleSettings 下的文件,也可参考如下文本:

1. imageType:  
2.      Original: {}  
3.      LoG: {'sigma' : [1.0, 3.0]}  
4.      Wavelet:  
5.          binWidth: 10  
6.    
7.  featureClass:  
8.      glcm:  
9.      glrlm: []  
10.     firstorder: ['Mean',  
11.                  'StandardDeviation']  
12.     shape:  
13.         - Volume  
14.         - SurfaceArea  
15.   
16. setting:  
17.     binWidth: 25  
18.     resampledPixelSpacing: 

三种用于个性化特征抽取的方法命名如下:

  • imageType: image type to calculate features on.< value > is custom kwarg settings(dictionary). if is an empty dictionary (‘{}’), no customsettings are added for this input image.
  • featureClass: Feature class to enable, is list of strings representing enabledfeatures. If no is specified or is an empty list(‘[]’), all features for this class are enabled.
  • setting: Setting to use for pre processing and class specific settings. if no is specified, the value for this setting is set to None.

你可能感兴趣的:(【影像组学pyradiomics教程】(三)自定义特征提取)