本系列博客后续将更新于个人微信公众号,欢迎关注。
4.1 Feature Extractor
class radiomics.featureextractor.RadiomicsFeaturesExtractor(*args, **kwargs)
- 特征抽取器是一个封装的类,用于计算影像组学特征。大量设置可用于个性化特征抽取,包括:需要抽取的特征类别及其对应特征;需要使用的图像类别(原始图像/或衍生图像);需要进行什么样的预处理。
- 特征抽取器是一个封装的类,用于计算影像组学特征。大量设置可用于个性化特征抽取,包括:需要抽取的特征类别及其对应特征;需要使用的图像类别(原始图像/或衍生图像);需要进行什么样的预处理。
- 我们可以使用该类的execute()方法来执行特征抽取操作。execute接受的参数为原始图像及其对应的Mask。
- 初始化特征抽取器的方式可二选一:一、通过将参数文件的位置作为唯一参数传递给特征抽取器来对其进行初始化,在这种情况下,任何其他的参数都会被忽略;二、通过关键字的方法对setting进行初始化(注意:imageType和featureClass不能通过这种方式初始化,而只能通过调用函数的方式进行初始化)。
- 默认情况下,所有的特征类别、所有的特征都处于激活状态;
- 默认情况下;只有原始图像处于激活状态。
addProvenance(provenance_on=True)
用于展示信息
loadParams(paramsFile)
用于加载参数文件来更新参数设置。如果出现不匹配,则报错:pykwalify error
enableAllImageTypes()
使用默认参数激活所有图像类别
disableAllImageTypes()
enableImageTypeByName(imageType, enabled=True, customArgs=None)
- 激活或者关闭特定的图像类别
- 可使用customArgs来定制对应图像类别的特征抽取参数
enableImageTypes(**enabledImagetypes)
- 使用特定参数激活特定的图像类别
- enabledImagetypes–字典,键为图像类别(原始图像/衍生图像),键值为对应的设置(字典)
- 以下参数不能设置:interpolator,resampledPixelSpacing,padDistance
enableAllFeatures()
-
激活所有的特征类别和对应的所有特征
-
标记为deprecated的特征不可通过这种方法激活,但仍然可以通过enableFeatureByName()、enableFeaturesByName()及参数文件等方法激活
disableAllFeatures()
关闭所有的特征类别及其所有特征
enableFeatureClassByName(featureClass, enabled=True)
- 激活或者关闭特定的特征类别
- 标记为deprecated的特征不可通过这种方法激活,但仍然可以通过 enableFeatureByName()、enableFeaturesByName()及参数文件等方法激活
enableFeaturesByName(**enabledFeatures)
- 激活某个特征
- enabledFeatures–字典,键为特征类别名,键值为特征名组成的列表
如果想使用某个特征类别的所有特征,使用空列表或者使列表等于None
execute(imageFilepath, maskFilepath, label=None)
执行特征抽取操作,包含以下操作:
-
加载原始图像和mask,并进行归一化或者重采样(如果需要的话);
-
验证ROI的有效性,返回一个bounding box;
-
如果provenance处于激活状态,则计算出特征抽取信息,并将其作为结果的一部分;
-
在裁剪后的原始图像上计算形状特征;
-
返回值为collections.OrderedDict
输入参数
- imageFilepath:原始图像路径或者SimpleITK Image
- maskFilepath:mask路径或者SimpleITK Image
返回值
- 包含特征的字典
- 键名:图像类别_ 特征类别_特征名(例如original_firstorder_MeanAbsoluteDeviation)
- 键值:特征值
loadImage(ImageFilePath, MaskFilePath)
加载预原始图像及Mask,并对其进行预处理
-
如果输入为字符串(路径),则将其加载为SimpleITK Image,并处理成普通图像
-
如果输入已经是SimpleITKImage,则直接将其处理为普通图像
-
除此之外,所有其他的情况都无效
如果归一化被激活,则在任何重采样之前先执行归一化
getProvenance(imageFilepath, maskFilepath, mask)
- 用于生成附加信息以便能够进行重复试验
- 参数之一的mask是已经归一化和重采样后的图片
- 返回值:以“general_info_”为键名的字典,例如 general_info_BoundingBox : (162, 84, 11, 47, 70, 7)
computeFeatures(image, mask, imageTypeName, **kwargs)
- 使用特定参数计算特定图像和mask的特征;
- 该函数只针对传递进来的图片进行计算,不进行任何预处理或者滤波;
- 使用self._enabledFeatures查看已激活的特征类别/特征;
- 使用enableFeaturesByName()来激活特征类别/特征;
- 不计算形状特征;