Advertisement

影像组学提取全部特征

阅读量:

提取Pyradiomics网站上给出所有的特征,以及Log对数变换,小波变换等处理后的全部特征放射组学特征 — pyradiomics v3.1.0rc2.post5+g6a761c4 文档

都是和B站和博客的老师们学的,当作学习笔记

复制代码
 import pandas as pd

    
 import os
    
 import radiomics
    
 from radiomics import featureextractor
    
 path = r'C:\Users\lyp\Desktop\test'#test文件夹下存放多个病例的文件夹,每个病例文件夹下包含一个原始图像和一个label图像
    
 folders = os.listdir(path)#创建一个子文件夹文件名的list,便于后续的遍历
    
 df = pd.DataFrame()#创建一个空表
    
  
    
 # 定义特征提取设置
    
 settings = {}
    
 settings['binWidth'] = 25
    
 settings['sigma'] = [3, 5]
    
 settings['resampledPixelSpacing'] = [1,1,1]
    
 settings['voxelArrayShift'] = 1000
    
 settings['normalize'] = True
    
 settings['normalizeScale'] = 100# 这些全部按自己需要来设置
    
  
    
 # 实例化特征提取器
    
 extractor = featureextractor.RadiomicsFeatureExtractor(**settings)
    
 #批量提取特征:
    
 extractor.enableAllImageTypes()#设置图像类型
    
 for folder in folders:
    
 #循环遍历每一个病例
    
     print(folder)
    
     image_file = os.path.join(path,folder,'image.nrrd')#获取原始图像路径
    
     label_file = os.path.join(path,folder,'label.nrrd')#获取label图像路径
    
     feature = extractor.execute(image_file,label_file)#提取特征
    
     df_new = pd.DataFrame.from_dict(feature.values()).T#获取特征值,转为表格形式,并转置
    
     df_new.columns = feature.keys()#获得特征名
    
     df_new.insert(0,'ID',folder)#在表格第一列插入病例文件夹名称
    
     df = pd.concat([df,df_new])#将所有病例放入一个表格中
    
 df.to_excel(os.path.join(path,'result.xlsx'))
    
    
    
    
    AI写代码python
    
    运行
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-05-31/pQqMb8wucKsd35Fr7zTfCAYiXaxR.png)

全部评论 (0)

还没有任何评论哟~