影像组学介绍

news2024/9/27 4:10:28

影像组学介绍

  • 1 影像组学介绍
  • 2 具体提取影像组学方法流程及工具代码:
    • 2.1 影像数据获取
    • 2.2 感兴趣区域分割
    • 2.3 特征提取与降维选择
      • 2.3.1 特征提取:
      • 2.3.2 特征降维(特征选择)
    • 2.4 建模分析:
    • 2.5 结果分析
  • 参考:

1 影像组学介绍

其实就是想把图像处理领域的知识点,应用到医学图像里面。当初影像组学方法是,现在人工智能方法也是。

随着精准定量医学影像技术的快速发展、图像识别技术和数据算法的不断更新,医学图像大数据的挖掘和分析得以实现,极大程度扩展了医学图像的信息量。基于对图像信息进行纹理分析后能够得到高通量的特征的特点,受基因组学以及肿瘤异质性的启发,2012年荷兰学者Lambin在先前学者工作的基础上提出了**影像组学(Radiomics) **的概念[1]。
Radiomics: Extracting more information from medical images using advanced feature analysis
image.png
Lambin认为“高通量地从医学影像中提取大量特征,通过自动或半自动分析方法将影像学数据转化为具有高分辨率的可挖掘数据空间”医学影像可以全面、无创、定量地观察肿瘤的空间和时间异质性。Kumar等[3]又对影像组学的定义进行了拓展,**影像组学是指从CT、PET或MRI等医学影像图像中高通量地提取并分析大量高级且定量的影像学特征。**这个理念的提出在随后的七年迅速被越来越多的学者改进与完善。

影像组学,一共4个常见字。但4个字加在一起是啥意思?好吧,拆成“影像”和“组学”两个词来说。“影像”通常指的就是放射影像,主要包括了CT、MR影像,当然,现在也陆续有加入了PET、US影像研究。组学(Omics),专门百度了一下,通俗理解就是把与研究目标相关的所有因素综合在一起作为一个“系统”来研究。目前主要包括基因组学(Genomics),蛋白组学Proteinomics,代谢组学(Metabolomics),转录组学(transcriptomics),免疫组学(Immunomics),RNA组学(RNomics),影像组学(Radiomics)等。

影像组学流程:
影像组学本质上来说其实是一种分析思路方法,从临床问题出发,最后回到解决的临床问题。一般分为五个主要处理步骤:
image.png

  1. 标准医学影像数据获取和筛选:数据收集前,首先需要根据明确的研究方向进行数据筛选,例如做肿瘤分型或肺炎分型的鉴别诊断,所选影像数据是否有病理或病原学检测金标准进行对照;做影像学疗效评估时,是否具有多期治疗相应的影像资料匹配等。
  2. 图像分割:指将图像分成若干个特定、具备独特属性的区域并提取感兴趣目标的技术和过程。根据研究目的的不同,图像分割的目标可以是病灶、正常参考组织或是组织解剖结构,可以是三维也可以是二维区域,影像组学随后的分析研究都围绕这些从图像内分割出来的区域进行。
  3. 特征提取:影像组学的核心步骤就是提取高通量的特征来定量分析ROI的实质属性。基于Image Biomarker Standardization Initiative (IBSI)标准[4]统计划分,常将影像组学特征分为形状特征(Shape features)、一阶统计学特征(First order statistics features)、纹理特征 (texture-basedfeatures)、高阶特征(high-order features)以及基于模型转换的特征。
  4. 机器学习特征选择,上述通过特征提取,提取到的特征数量可能有几百到几万不等,而并不是每一个特征都与要解决的临床问题相关联;另一方面,在实践中,由于特征数量相对较多,而样本数量较少,容易导致随后的模型出现过拟合的现象,从而影响模型的准确率。特征选择是根据某些评估准则,从特征集中直接选取合适的子集,或者将原有的特征经过线性/非线性组合,生成新的特征集,再从新特征集中选取合适的子集过程。
  5. 模型应用:针对医生具体的临床问题,在临床研究问题标签的基础上建立由上述特征筛选出来的关键特征,或进一步结合影像组学以外的特征(如临床体征、病理、基因检测数据)组合而成的预测模型。

2 具体提取影像组学方法流程及工具代码:

具体影像组学的流程如下
1,影像数据准备
2,感兴趣区域分割
3,特征提取与特征选择
4,建模分析
5,结果展示

image.png

2.1 影像数据获取

不同设备厂商、同一厂商不同型号的影像设备在图像扫描和重建协议上往往存在着很大的差异,迄今为止仍然缺乏统一的采集标准规范。这就可能给包含影像组学在内的众多医工结合项目造成了潜在的影响。尽管对数据存储传输、图像勾画和算法运行速度带来诸多不便,但为了最后的建模评估步骤能达到更好的效果,仍然推荐入组分辨率更高、信息量更为丰富的薄层数据。这些数据最好具有相同(或相近)的采集参数,以尽可能降低数据质量被各种成像因素的干扰。目前,国内很多医院都开展过肿瘤的影像组学相关项目,比如肺癌、肝癌、结直肠癌等等。但随着组学科研在全国乃至世界范围内发生“内卷化”,课题总数据量多中心研究都已经成为审稿中的决定性因素。这时,在繁杂的医院数据中,既要严控数据入组条件,同时也要满足项目所需的样本数量,只有兼顾两者才可能取得最优的效果。
此外,多模态影像组学时代的开启给医工两方面的研究者都提出了更大的挑战。数据量的成倍增加、算法工程师的影像专业背景,都可能成为项目推进的阻力。这里有非常重要的一点,要求影像医生做好数据筛选:所有的影像医工交叉项目,数据量的一大原则都是“贵精不贵多”——除了保留与病灶相关的必要序列外,不要有任何冗余的图像,否则会成为后续工作中非常不利的因素。至于质量不过关(如包含伪影、扫描序列不完整)、缺乏完整临床指标的样本,都是应该被排除在项目之外。

当然,你如果没有私有数据集的话,也有一些比赛公开了数据集。或者你可以用公开数据集做泛化性分析:
如:https://github.com/linhandev/dataset
这个项目地址公开了很多医学影像数据集:
image.png

2.2 感兴趣区域分割

影像准备完毕,接下来的重要步骤是病灶ROI的勾画,从而对照影像序列,进一步开展后续的特征提取。医学图像分割经过几十年的发展,目前仍然保持了两大类别:手动/半自动分割,以及全自动分割。
由于病灶的特质性和不规则性,手动/半自动分割仍然是现有条件下的最佳选择,即使手动分割耗时较大,它仍然是金标准获取的唯一途径。课题中既可以采用3D Slicer、ITK-SNAP等传统分割软件,也可以尝试像Pair等新兴工具,甚至可以使用工作站日常诊断中的三维重建结果。全自动分割算法包括阈值/区域生长、分水岭、水平集等,也有近年来非常火热的深度学习算法。
但很遗憾,尽管学术界和工业界都付出了相当大的努力,但迄今为止,仍然没有高精度、全自动的通用分割模型可以完美地应用于影像科研的日常流程和基础IT架构中,自动分割后ROI还是要医生手动调整确认以保证项目的精度效果。
如果当你面对大量数据集的标注时,你可以使用半自动+人工检验的方式进行金标准的制作。
或者你使用公开数据集的话,公开数据集本身就有分割标注,也不用你进行分割了。

2.3 特征提取与降维选择

2.3.1 特征提取:

影像组学特征由一系列传统图像特征的合集构成,既包含了一阶梯度特征(区域内统计信息)、形状特征(如形态学参数、圆形度等)、纹理特征(灰度共生矩阵、灰度区域大小矩阵、灰度游程矩阵),也包含了各种图形滤波变换后的特征,比如高斯-拉普拉斯变换、小波变换、平方根滤波等。这些特征都曾经在医学图像分析中有过较为成功的运用,而影像组学正是把高阶的图像特征聚集在一起、进一步提高分析结果质量的方法。每个影像组学特征都有着独立的计算公式,现在在网上已经可以找到丰富的特征提取工具直接调用,而无需自行学习理解公式、手动编程计算。

时下流行的时是PyRadiomics组学工具包。使用起来方便快捷,而且是基于python。
image.png

PyRadiomics的官方文档:https://pyradiomics.readthedocs.io/en/latest/
image.png

具体使用代码可以参考:
【使用pyradiomics提取影像组学特征【详细】】
https://blog.csdn.net/weixin_46428351/article/details/123592586

2.3.2 特征降维(特征选择)

面对大量的特征,我们不可能对其直接进行模型构建,我们需要对数据进行降维,给数据“瘦身”,从成千上万的特征数据中获取最为有价值的特征数据。

提取完毕的影像组学特征,少则成百上千;有些“噱头”概念也会在多模态+各种图像预处理后形成高达十万数量级的特征维度;目前还有一种流行的方法是将组学特征和临床数据相互结合,以便最大化综合各种层面的信息优势。这个时候就需要采用一些特征降维和筛选的手段来对特征数目进行一定的限制,避免冗余数据影响机器学习模型的精确和稳定性。
常见的降维和筛选方法有主成分分析、相关性分析以及基于L1惩罚项的特征选择法等——其实当维度达到一定级别的时候,再增加特征对最终的结果影响已经降到很低,反而严重增加了完成组学流程的时间和空间复杂度。

2.4 建模分析:

课题中需要将样本分为训练集和测试集(遵循着7:3或8:2的原则),如果是多中心课题,可以根据不同医院区分样本,以其它医院的数据做外部验证的测试集,评价建模的鲁棒性。
建模时首先使用训练集,通过学习一个函数,找到各类样本的最佳区分“界面”。常用的分类器包括了决策树、逻辑回归、随机森林、支持向量机(SVM)等。在建模过程中,为了减少过拟合和选择偏差、保证更好的模型性能,常常会引入交叉验证(Cross Validation)的方法。交叉验证将数据的训练集样本切割成若干较小子集,然后先在一个子集上做分析,而其它子集则用来做后续对此分析的验证,并确定一些模型的参数。

2.5 结果分析

模型训练完毕后,再采用测试集进行组学预测结果和临床标签的对比,进行性能评估。常用于展现影像组学结果的图或数值有ROC曲线、(95%置信区间下的)AUC值、敏感度、特异度、特征贡献度、相关系数热图等。

image.png

参考:

【影像组学初学者指南】
https://zhuanlan.zhihu.com/p/462293882

【组学浅析之通俗理解影像组学的定义】
https://zhuanlan.zhihu.com/p/352750421

【影像组学十周年:技术,应用与展望】
https://baijiahao.baidu.com/s?id=1719918690339298767

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1379780.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

7个向量数据库对比:Milvus、Pinecone、Vespa、Weaviate、Vald、GSI 和 Qdrant

本文简要总结了当今市场上正在积极开发的7个向量数据库,Milvus、Pinecone、Vespa、Weaviate、Vald、GSI 和 Qdrant 的详细比较。 我们已经接近在搜索引擎体验的基础层面上涉及机器学习:在多维多模态空间中编码对象。这与传统的关键字查找不同&#xff08…

探索设计模式的魅力:简单工厂模式

简单工厂模式(Simple Factory Pattern)是一种创建型设计模式,其主要目的是用于创建对象的实例。这种模式通过封装创建对象的代码来降低客户代码与具体类之间的耦合度。简单工厂不是GoF(四人帮)设计模式之一&#xff0c…

springBoot-自动配置原理

以下笔记内容, 整理自B站黑马springBoot视频,抖音Holis 1、自动配置原理 1.收集Spring开发者的编程习惯,整理开发过程使用的常用技术列表一>(技术集A) 2.收集常用技术(技术集A)的使用参数,整理开发过程中每个技术的常用设置列表…

NULL是什么?

NULL是一个编程术语,通常用于表示一个空值或无效值。在很多编程语言中,NULL用于表示一个变量或指针不引用任何有效的对象或内存位置。 NULL可以看作是一个特殊的值,表示缺少有效的数据或引用。当一个变量被赋予NULL值时,它表示该变…

Day28 17电话号码的字母组合 39组合求和 40组合求和II

17 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 因为输入的数字的数量是不确定的,所以for循环的次数也是不确定的&…

基于JAVA的用户画像活动推荐系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 兴趣标签模块2.3 活动档案模块2.4 活动报名模块2.5 活动留言模块 三、系统设计3.1 用例设计3.2 业务流程设计3.3 数据流程设计3.4 E-R图设计 四、系统展示五、核心代码5.1 查询兴趣标签5.2 查询活动推荐…

Linux的权限(1)

目录 操作系统的"外壳"程序 外壳程序是什么? 为什么存在外壳程序? 外壳程序怎么运行操作? 权限 什么是权限? 权限的本质? Linux中的(人)用户权限? su和su -的区别…

安装rlwrap库出现问题

背景:oracle的sqlplus还是那么难用,不知道为什么不打包解决这个问题,留给用户,内核硬,就是猖狂。废话不多说。下载解压rlwrap-0.46.1.tar.gz;进入/tmp/database/rlwrap-0.46.1源码包,./configure checki…

大数据技术原理与应用期末复习(林子雨)

大数据技术原理与应用期末复习(林子雨) Hadoop的特性HBase编程实践NoSQL的四大类型键值数据库优点:缺点: 列族数据库优点:缺点: 文档数据库优点:缺点: 图数据库优点:缺点…

计算机网络面试八股复习:常见的Http状态码

前言 面试被问到过一次。自己最近使用Gin框架,在Response的时候有时候也会用到一个自定义的状态码。因此归纳一下这方面,供自己日后面试复习以及开发时候参考。 HTTP 全名“超文本传输协议”(我也不懂为什么面试官问这个…) 属…

TypeScript基础(二)扩展类型-枚举及其位运算

✨ 专栏介绍 TypeScript是一种由微软开发的开源编程语言,它是JavaScript的超集,意味着任何有效的JavaScript代码都是有效的TypeScript代码。TypeScript通过添加静态类型和其他特性来增强JavaScript,使其更适合大型项目和团队开发。 在TypeS…

springboot实现黑名单和白名单功能

题外话 关于黑名单和白名单功能,我觉得可以直接用linux服务器的iptables或nftables来实现黑名单和白名单功能。这两个工具都是Linux系统上用于配置防火墙规则的命令行工具。 iptables: 描述: iptables 是一个用于配置IPv4数据包过滤规则的工具…

Spring Task 任务调度工具

大家好我是苏麟 , 今天聊聊Spring Task 任务调度工具 Spring Task Spring Task 是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。 定位:定时任务框架 作用:定时自动执行某段Java代码 什么是定时任务 ? 通过时…

uni-app做A-Z排序通讯录、索引列表

上图是效果图,三个问题 访问电话通讯录,拿数据拿到用户的联系人数组对象,之后根据A-Z排序根据字母索引快速搜索 首先说数据怎么拿 - 社区有指导https://ask.dcloud.net.cn/question/64117 uniapp 调取通讯录 // #ifdef APP-PLUSplus.contac…

怎么把身份证压缩到200k以下?一分钟教你如图片压缩

在网络平台办理一些业务的时候,经常会需要上传我们的身份证照片,但是大多数平台为了用户体验,会限制上传的图片大小,比如图片不得超过200kb,当我们提交的身份证图片超出限制,就无法顺利提交;这时…

每日一练:LeeCode-104. 二叉树的最大深度【二叉树】

本文是力扣LeeCode-104. 二叉树的最大深度 学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode。 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例…

Asp .Net Web应用程序(.Net Framework4.8)网站发布到IIS

开启IIS 如果已开启跳过这步 打开控制面板-程序 打开IIS 发布Web程序(.Net Framework 4.8 web网页) 进入IIS管理器新建一个应用池 新建一个网站 网站创建完毕 为文件夹添加访问权限 如果不添加访问权限,运行时将会得到如下错误 设置权限 勾…

可以在微信群里使用midjourney,gpt4,gemini,文心一言4.0,且免费

免费使用gpt4和midjourney 免费使用 参考链接: https://chat.xutongbao.top/

用React给XXL-JOB开发一个新皮肤(三):实现登录页和Layout骨架

目录 一. 简述二. 接口服务调整 2.1. 登录接口2.2. 登出接口2.3. 修改密码接口2.4. 修改配置文件 三. 前端HTTP 请求四. 登录页面 4.1. 搭建登录页面4.2. 对接登录接口 五. Layout 骨架 5.1. 搭建骨架5.2. Header5.3. 修改密码5.4. 退出登录 六. 其他 一. 简述 上一篇文章我…

【栈】【字符】Leetcode 20 有效的括号

【栈】【字符】Leetcode 20 有效的括号 解法1 栈的操作&#xff08;先进后出&#xff09; ---------------&#x1f388;&#x1f388;题目链接&#x1f388;&#x1f388;------------------- 解法1 栈的操作&#xff08;先进后出&#xff09; 新建栈&#xff1a;Stack<C…