代码
import radiomics
from radiomics import featureextractor
import pandas as pd
# 设置数据存放的根目录
dataDir = 'your_path/data/mri/'
# 待处理的文件夹列表(通常对应不同的患者 ID)
folderList = ['0001', '0002', '0003']
# 初始化特征提取器
extractor = featureextractor.RadiomicsFeatureExtractor()
# 创建一个空的 DataFrame 用于存储所有结果
df = pd.DataFrame()
for folder in folderList:
# 拼接图像(nii格式)和掩码(mask,即医生勾画的区域)的路径
imageName = dataDir + folder + '/data.nii'
maskName = dataDir + folder + '/mask.nii.gz'
# 执行特征提取,返回一个有序字典
featureVector = extractor.execute(imageName, maskName)
# 将提取到的特征向量转换为 DataFrame 格式
# .values() 获取数值并转置,.keys() 获取特征名称作为列名
df_add = pd.DataFrame.from_dict(featureVector.values()).T
df_add.columns = featureVector.keys()
# 将当前患者的特征合并到总表中
df = pd.concat([df, df_add])
# 将最终的所有特征结果保存为 Excel 文件
df.to_excel(dataDir + 'results.xlsx')
拓展
-
影像组学特征的英文名含义见官方说明 pyradiomics documentation