3.1 Types of Customization
个性化特征抽取的方法有三种:
- 指定哪种图像类别(原始图像/衍生图像)用于提取特征;
- 指定抽取哪种特征(特征类别);
- 指定设置。设置可以用于进行预处理,定制特定的滤波器(对图像进行滤波)和特征类别
提示:
- 在对特征提取器和某个特征类别进行初始化的时候,我们可以使用关键字参数来提供第三类参数(即指定设置);
- 第一类参数(图像类别)和第二类参数(特征类别或特征)只能使用参数文件进行初始化。如果没有使用参数文件或者需要在初始化后更改这些参数,可以使用对应的函数;
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初始化的方式有三种:
- 在特征抽取器进行初始化的时候,通过关键字参数对Settings进行初始化(设置的名称为关键字,设置的值作为参数值,例如binWidth=25);
- 直接使用setttings字典进行交互;
- 直接使用参数文件
提示:
当直接使用特征类别的时候,特征类别级别的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:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
三种用于个性化特征抽取的方法命名如下:
- 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.