【影像组学】用3Dslicer或Python提取影像组学特征

这篇具有很好参考价值的文章主要介绍了【影像组学】用3Dslicer或Python提取影像组学特征。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


1. 利用 3Dslicer 软件提取影像组学特征

  1. 安装插件:SlicerRadiomics
  2. 导入影像文件:breast1_label.nrrd(mask 文件) 和 breast1_image.nrrd(个人影像文件)。
    【影像组学】用3Dslicer或Python提取影像组学特征
  3. 切换插件:Welcome to Slicer → Informatics → Radiomics
    【影像组学】用3Dslicer或Python提取影像组学特征
  4. 设置参数(如图)
    Select Input Volume and Segmentation
    input image Volume: breast1_image(个人影像文件)
    input regions 感兴趣区:breast1_label(mask 文件)
    Extraction Customization:Manual Custimization
    Featrue Classes 选择提取哪些类特征,如 firstorder 和 gldm
    Resampling and Filtering 重采样 → Resampled voxel size:3,3,3(体素与体素间的距离都是 3mm,建议每个方向上的体素间隔一致)→ LoG kernel sizes: 3,4 (如果使用高斯拉布拉斯滤波器,需要设置一下,可以设置多个 size)。勾选 Wavelet-based features(是否提取小波滤波器的特征)
    其他默认
    output
    output table: Table1 (修改输出表格名),设置表格名称后 Apply
    【影像组学】用3Dslicer或Python提取影像组学特征
  5. Apply 后窗口右下角产生一个表格
    Image type:原始图像还是某种滤波器上产生的图片,前面 diagnostics 是影像的基本信息,从 log-sigma-3-0-mm-3D 开始是对特征提取有用的信息(log 滤波器,sigma size 3.0)。
    Feature class:特征分类
    【影像组学】用3Dslicer或Python提取影像组学特征
  6. 导出表格:格式选择 csv
    【影像组学】用3Dslicer或Python提取影像组学特征
  7. 做影像组学研究时通常把病例作为行,特征作为列,所以需要把 csv 表格转置一下用于后续研究:全选数据 → 到新表粘贴时选择转置。
    【影像组学】用3Dslicer或Python提取影像组学特征
    【影像组学】用3Dslicer或Python提取影像组学特征

2. 利用 python 提取影像组学特征

  • 基础版:提取一个病例的特征
    需要先安装pyradiomics
    参考:【影像组学】windows系统安装pyradiomics包的问题

    # pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyradiomics
    from radiomics import featureextractor 
    
    
    imageFile = 'file5/breast1/breast1_image.nrrd'
    maskFile = 'file5/breast1/breast1_label.nrrd'
    
    extractor = featureextractor.RadiomicsFeatureExtractor() # 初始化,给这一长串起个简写的名字
    featureVector = extractor.execute(imageFile, maskFile) # 
    # print(featureVector.items()) 结果太多太杂乱
    # for循环遍历提取所需的信息 featureName
    for featureName in featureVector.keys():
        print("%s: %s" % (featureName, featureName[featureName]))
    

    【影像组学】用3Dslicer或Python提取影像组学特征

常用参数设置

  • 按待提取特征选择

    extractor.disableAllFeatures()  # 禁用所有特征
    extractor.enableFeaturesByName(firstorder=['Mean', 'Skewness']) # 只选几个特征提取
    
    featureVector = extractor.execute(imageFile, maskFile)
    for featureName in featureVector.keys():
        print("%s: %s" % (featureName, featureVector[featureName]))
    

    【影像组学】用3Dslicer或Python提取影像组学特征

  • 按待提取特征类型选择

    extractor.disableAllFeatures()  # 禁用所有特征
    extractor.enableFeatureClassByName('glcm') # 输出想要类型的特征,如 glcm
    
    featureVector = extractor.execute(imageFile, maskFile)
    for featureName in featureVector.keys():
        print("%s: %s" % (featureName, featureVector[featureName]))
    
  • 滤波器设置:在加滤波器(对图像做修整)的图像上提取特征。

    extractor.enableImageTypes(Original={}, LoG={}, Wavelet={}) 
    # Original原始图像 LoG滤波器 Wavelet小波滤波器
    
    featureVector = extractor.execute(imageFile, maskFile)
    for featureName in featureVector.keys():
        print("%s: %s" % (featureName, featureVector[featureName]))
    

    【影像组学】用3Dslicer或Python提取影像组学特征

  • 批处理提取影像组学特征

    import os
    import pandas as pd
    
    basePath = 'data/featureExtraction'
    folders = os.listdir(basePath) # 读取featureExtraction文件夹下所有文件名
    print(folders)
    
    df = pd.DataFrame() 
    for folder in folders:  # 遍历文件夹
        files = os.listdir(os.path.join(basePath,folder)) # 拼接文件夹下的文件路径
    #     print(files) 区分影像文件和 mask 文件
        for file in files:
            if file.endswith('image.nrrd'):  
                imageFile = os.path.join(basePath,folder,file) # 影像文件路径
            if file.endswith('label.nrrd'):
                maskFile = os.path.join(basePath,folder,file) # mask文件路径
    #     print(imageFile, maskFile) 特征提取
        extractor = featureextractor.RadiomicsFeatureExtractor()
        featureVector = extractor.execute(imageFile, maskFile)  # 得到结果是字典 dict
        # 从featureVector字典中提取数据转换成数据框,并 .T 转置(特征作为列)
        df_new = pd.DataFrame.from_dict(featureVector.values()).T  
        df_new.columns = featureVector.keys() # 列名
        df = pd.concat([df,df_new])  # 合并之前的数据框
    df.to_excel(os.path.join(basePath,'results.xlsx'))
    

    【影像组学】用3Dslicer或Python提取影像组学特征文章来源地址https://www.toymoban.com/news/detail-442694.html

到了这里,关于【影像组学】用3Dslicer或Python提取影像组学特征的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于3Dslicer和SimpleITK各自的origin,direction,spacing,(和size)

    众所周知3Dslicer和SimpleITK对三维医学图像的某些参数并不一致 。。。 在正文之前首先要介绍IJK坐标系和RAS坐标系 IJK坐标系是对图像本身而言,三维图像是一个一个一个体素组成,IJK坐标就是这些体素的坐标或者索引,IJK一般只有非负整数值。如果以三维矩阵获取图像,那么

    2024年01月20日
    浏览(36)
  • 3Dslicer医学图像三维坐标系(xyz,RAS,IJK)差异,转换,旋转,平面角

    目录 World coordinate system世界坐标系xyz Anatomical coordinate system解剖学坐标系(LPS/RAS/RAI) Image coordinate system图像坐标系ijk Image transformation图像转换 三维坐标变换 A.旋转矩阵和旋转向量 B.欧拉角 C.四元数​编辑 计算平面角Angle Planes插件 参考链接 处理医学图像和应用程序时的问题之一

    2024年01月17日
    浏览(125)
  • 利用ENVI处理SPOT遥感影像提取水体、植被、不透水面

    利用ENVI处理SPOT遥感影像提取水体、植被、不透水面 (一)在Arcmap中打开shp文件,选择Select Features选中研究区域: (二)选中研究区,在文件上右击选中Data——Export Data导出所选区域shp文件: (一)首先打开SPOT影像免费获取网站: https://regards.cnes.fr/user/swh/modules/60,点击log

    2024年02月05日
    浏览(45)
  • 高光谱分类论文解读分享之Grid Network: 基于各向异性视角下特征提取的高光谱影像分类

    Grid Network: Feature Extraction in Anisotropic Perspective for Hyperspectral Image Classification Zhonghao Chen , Student Member, IEEE, Danfeng Hong , Senior Member, IEEE, and Hongmin Gao , Member, IEEE Anisotropic, feature fusion, hyperspectral (HS) images, semantic gap, spectral–spatial feature. 考虑高光谱影像内部空间和光谱特征各向异性

    2024年01月19日
    浏览(40)
  • Opencv C++ SIFT特征提取(单图像,多图像)+如何设置阈值+如何对文件夹进行批处理+如何设置掩膜裁剪影像

    SIFT(Scale-Invariant Feature Transform)是一种用于图像处理和计算机视觉的特征提取算法。由David Lowe于1999年首次提出,它是一种非常有效的局部特征描述符,具有尺度不变性、旋转不变性和对部分遮挡的鲁棒性。 SIFT特征提取的主要步骤包括: 尺度空间极值检测(Scale-Space Extrem

    2024年01月19日
    浏览(33)
  • 中科星图GVE(AI案例)——如何利用高分辨率0.5m影像进行建筑物提取

    高分辨率0.5m影像提供了详细的地表信息,特别适用于建筑物的提取。以下是一些利用高分辨率影像进行建筑物提取的方法: 预处理:在进行建筑物提取之前,需要对影像进行一些预处理。首先,根据影像质量,可以进行边缘增强、噪声去除等处理。其次,可以进行影像配准

    2024年02月21日
    浏览(32)
  • 利用深度学习技术实现手机类目商品图像特征提取与分类

    感谢您提供如此详细的任务描述和要求。作为一位世界级的人工智能专家、程序员和软件架构师,我将全力以赴,以专业的技术语言和深入的洞见,为您撰写这篇题为\\\"利用深度学习技术实现手机类目商品图像特征提取与分类\\\"的技术博客文章。 让我们开始吧。 在电子商务日益兴盛

    2024年04月13日
    浏览(31)
  • 【RT-DETR有效改进】利用EMAttention加深网络深度提高模型特征提取能力(特征选择模块)

    本文给大家带来的改进机制是 EMAttention注意力机制 ,它的 核心思想是 ,重塑部分通道到批次维度,并将通道维度分组为多个子特征,以保留每个通道的信息并减少计算开销。EMA模块通过编码全局信息来重新校准每个并行分支中的通道权重,并通过跨维度交互来捕获像素级别

    2024年02月21日
    浏览(33)
  • 利用Python对含有地理信息的遥感影像,使用随机森林模型回归,并保存预测影像

    最近在做随机森林回归实验时,遇到了一个问题: 在做回归时,用的是excel点数据做的回归,像这样: 但是如何把这个训练好的模型应用到整幅含有地理信息的遥感影像上去,并保存这个预测图像呢?对这个问题,展开了一些思考,废话不多说,直接上代码。 导入数据,这

    2024年04月16日
    浏览(31)
  • 【python】基于librosa库提取音频特征

    librosa.amplitude_to_db 是一个音频处理库librosa中的一个函数,用于将音频信号的幅度转换为分贝(dB)单位的值。在音频处理中,分贝是一种常用的单位,用于表示信号的相对强度。 该函数的输入参数是音频信号的幅度值,可以是单个值或者一个数组。它会将输入的幅度值转换为

    2024年04月17日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包