疗效预测中的影像组学特征提取
介绍
最近正致力于癌症放疗效果预测研究相关工作,在这一领域遇到了一些挑战性问题,在此进行系统性整理。主要聚焦于基于Python的技术实现。
需要的module:
在软件开发中使用时,请确保集成SimpleITK、NRRD以及pyradiomics这三个库。安装时可以通过pip轻松完成。
pip install pyradiomics
pip install SimpleITK
pip install pynrrd
具体流程:
由于我们接收的数据均为 DICOM 格式的图像,并被标注为 NII 格式的文件。然而 PyRadiomics 这个包明确指出仅接受 NRRD 格式作为输入。因此,在早期阶段我们遇到了许多困难。我们的思路一直局限于通过将 DICOM 和 NII 格式的数据转换成 NRRD 格式来解决相关问题。然而,在这一过程中我们逐渐发现存在一些关键信息未被完整提取。经过一段时间的努力探索后取得了一定的进步。现在的流程如下:
借助ITK-SNAP软件将标注数据从nii格式转换为nrrd格式的操作相对便捷。具体来说,在打开该软件后,默认会显示当前处理的标注数据,并指导用户如何完成这一转换任务。操作流程较为直观:首先启动程序并导入需要处理的niix数据集,在随后弹出的对话框中选择'NRRD'格式选项即可完成数据转换工作。完成上述设置后,在指定路径下自动生成相应存储位置的标注数据文件


- 数据处理流程中还存在一个问题:我们接收的标注信息中同时涵盖了肿瘤区域和淋巴区域。因此必须分别对待这两类区域,并分别建立两类对应的标注文件。其中肿瘤区域标记值设为1而淋巴区域标记值定为5。具体步骤如下:我们首先利用nrrd包读取生成的数据集并对其进行必要的修改操作,并最终将改动后的内容重新写入原数据集。
1.
2. import numpy as np
3. import nrrd
4.
5.
6. data, header = nrrd.read(nrrdpath)
7.
8. # 提取淋巴结的标注
9. data = np.where(data[:, :, :] == 1, 0, data[:, :, :])
10. lymph_data = np.where(data[:, :, :] == 5, 1, data[:, :, :])
11.
12. nrrd.write(lymphpath, lymph_data, header)
数据的读入过程:主要由两个方面构成:图像文件的导入以及标注信息文件的导入;在先前的过程中陷入了误区:误以为仅限于nrrd格式的数据才能被处理。然而后来认识到simpleitk导入的数据具备一定的兼容性后:能够被pyradiomics系统所接受并处理。因此在此阶段开始采用simpleitk进行数据导入,并最终提取所需的数据信息。
1. # get image
2. series_IDs = sitk.ImageSeriesReader.GetGDCMSeriesIDs(image_path)
3. nb_series = len(series_IDs)
4. print(nb_series)
5. series_file_names = sitk.ImageSeriesReader.GetGDCMSeriesFileNames(image_path,series_IDs[0])
6. series_reader = sitk.ImageSeriesReader()
7. series_reader.SetFileNames(series_file_names)
8. image3D = series_reader.Execute()
9.
10. # get mask
11. mask = sitk.ReadImage(nrrdpath)
1. extractor = featureextractor.RadiomicsFeatureExtractor(geometryTolerance=0.001)
2.
3. print('Extraction parameters:\n\t', extractor.settings)
4. print('Enabled filters:\n\t', extractor.enabledImagetypes)
5. print('Enabled features:\n\t', extractor.enabledFeatures)
6.
7. features = extractor.execute(image3D, mask)
最终提取出的特征集合形成一个元组(约几百个数据),每个数值均为浮点型,并从统计学、形态学和纹理学三个方面对肿瘤进行评估。通过过滤分析得到这些关键指标后,并采用机器学习算法构建模型。这一方法已成为当前热门用于肿瘤疗效与预后的研究方案。
影像组学的模块位置:影像组学特征介绍;此外还采用不同滤波器对图像进行处理以获取更多特征;而思路与之前一致:filter介绍
