CTA-GAN:基于生成对抗网络对颈动脉和主动脉的非增强CT影像进行血管增强

写在前面

目前只分析了文章的大体内容和我个人认为的比较重要的细节,代码实现还没仔细看,后续有时间会补充代码细节部分。

文章地址:Generative Adversarial Network-based Noncontrast CT Angiography for Aorta and Carotid Arteries

代码地址:GitHub - yml-bit/CTA-GAN: synthesis CTA using CT base GAN model

PS:代码仓库并未提供详细的环境依赖项说明,但文章在补充材料中说明了环境的主要配置:python3.8 + pytorch1.7.1 + cu110,想要复现的小伙伴可以参考一下。

一、动机

碘对比剂广泛用于CTA成像,但可能会对人体造成不良影响,同时碘对比剂的使用耗时且昂贵。

如果深度神经网络可以根据非增强CT(noncontrast CT,NCCT)生成对应的CTA图像,且生成图像的质量足以用于临床诊断,这将是具有重要意义的。

二、数据和方法

1. 数据:以病人为单位

  • 训练集:1137;
  • 验证集:400;
  • 测试集:212;

1749例。外部测试集42例。

2. 数据筛选原则

数据筛选对于我们进行相关的研究具有重要的参考价值。本研究存在以下情况的数据不能纳入:

  • CT影像中存在伪影,包括运动伪影或者金属伪影;
  • NCCT和CTA的slice thickness、slice number或者slice location不一致;
  • 由于CTA出现问题导致扫描失败的,包括无对比剂充盈或者对比剂充盈不足,影响临床诊断;
  • 已经进行过手术的动脉,例如动脉瘤手术;

3. 数据类型

生成的CTA影像能用于临床诊断才有意义。文中数据可进一步细分为如下类型:

  • 动脉瘤
  • 动脉粥样硬化
  • 动脉夹层
  • 正常动脉

文中对内部测试集外部测试集各类别的数量进行了说明,并对将生成结果用于临床诊断,绘制了如下所示的混淆矩阵。但并未说明训练集中各类别数据的情况。

4. 模型

文中对模型部分的介绍比较笼统,后续有机会结合代码仔细看一下。文中放置了相对完整的模型结构图,主要分为三部分:

  • 生成器:根据NCCT生成对应的CTA图像
  • 校正器:固定NCCT,将CTA往NCCT配准
  • 判别器:判别真实CTA和生成的CTA(SynCTA)

具体结构如下图所示:

三、结果

1. 定量评估

文中对比了pix2pixReg-GAN这两种方法,参考的评价指标为NMSE(normalized mean absolute error)、SSIMPSNR,具体结果如下图所示:

2. 视觉质量评估

两名高级放射医师独立评估CTA和SynCTA的图像质量,分为三个分数段:差(1分)、满意(2分)、高(3分)。质量评估的主要方面包括:血管壁清晰度、管腔边缘锐利度以及管腔对比度。

然后对内部测试集和外部测试集的CTA和SynCTA的打分情况进行统计学分析,结果显示两者无明显统计学差异,结果图就不放了。

3. 诊断评估

为了验证SynCTA用于临床诊断的可行性,两名高级放射医师以CTA为金标准,对SynCTA进行临床诊断,并根据诊断结果绘制混淆矩阵,具体诊断结果在2-3数据类型中体现,总体而言诊断准确率还是相当高的。

四、不足

  • 单中心数据,且模型有时会在增强区域出现错误和遗漏;
  • GAN训练过程中仍然可能会出现坍缩或不稳定的情况。

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

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

相关文章

JAVA基础面试题准备

一些常见的JAVA基础题,面试中遇到过的会加*显示。 JAVA基础 1.Java中重载和重写的区别?* 2.int 和Integer类型这两个区别吗? 为什么需要有Integer类型: int和Integer类型的区别: 3.遍历list有那些方式吗?…

python如何提取MYSQL数据,并在完成数据处理后保存?

在现代数据驱动的世界中,数据分析已成为企业决策的重要组成部分。 Python作为一种强大的编程语言,因其丰富的库和简单的语法,广泛应用于数据分析、数据清洗和数据可视化等领域。 本文将详细介绍如何使用Python提取MySQL数据库中的数据,并进行数据分析、数据清洗、汇总等操…

【Linux】进程信号(下)

目录 一、信号的阻塞 1.1 信号在内核中的保存方式 1.2 sigset_t信号集 (1)信号集操作 (2)sigprocmask函数 (3)sigpending函数 二、信号的处理 2.1 用户态和内核态 2.2 重谈进程地址空间 三、信号…

盘点2024年4款高清稳定的Windows10录屏工具。

Windows10电脑录屏在生活当中还是挺重要的,无论是教育领域的制作教程,还是游戏玩家记录精彩瞬间,亦或是商务人士进行演示,录屏都能发挥巨大作用。如果设备自带的一些工具无法完成录屏需求的话,这里帮大家找了几款好用到…

AI大模型应用(3)开源框架Vanna: 利用RAG方法做Text2SQL任务

AI大模型应用(3)开源框架Vanna: 利用RAG方法做Text2SQL任务 RAG(Retrieval-Augmented Generation,如下图所示)检索增强生成,即大模型LLM在回答问题时,会先从大量的文档中检索出相关信息,然后基于这些检索出…

W25Q64的学习

24位地址意味着系统有24根地址线,每根地址线可以取两种状态(0或1),所以系统可以形成 2242^{24}224 个不同的地址组合。每个地址对应一个存储单元,通常是1字节。 在大多数现代计算机体系结构中,地址指向的…

万家数科:零售业务信息化融合的探索|OceanBase案例

本文作者:马琳,万家数科数据库专家。 万家数科商业数据有限公司,作为华润万家旗下的信息技术企业,专注于零售行业,在为华润万家提供服务的同时,也积极面向市场,为零售商及其生态系统提供全面的核…

挖矿病毒来势汹汹

病毒来了, 我的个人站点使用了 wordpress, 它的不知哪个漏洞让黑客攻入了我的站点 使用 top 命令看到了有不明进程始终占据了 100% 的 CPU snapshot 1 snapshot 2 通过以下 "三板斧"可以查杀这个进程 先用 top (shiftp) 查找占据 CPU 最多的进程根据其进程号 pid 查看…

【数据结构】宜宾大学-计院-实验四

栈和队列之(栈的基本操作) 实验目的:实验内容:实验结果:实验报告:(及时撰写实验报告):实验测试结果:代码实现1.0:(C/C)【含注释】代码…

QGIS之三十二DEM地形导出三维模型gltf

效果 1、准备数据 (1)dem.tif (2)dom.tif 2、qgis加载dem和dom数据 3、安装插件 插件步骤可以参考这篇文章 QGIS之二十四安装插件 安装了Qgis2threejs插件,结果

无人机之自主降落系统篇

一、定义与功能 无人机自主降落系统是指无人机在无需人工干预的情况下,按照预先设定好的程序或基于实时感知的环境信息,自主完成降落过程的技术系统。该系统能够确保无人机在完成任务后安全、准确地降落到指定位置。 二、系统组成 无人机自主降落系统主…

二十、行为型(访问者模式)

访问者模式(Visitor Pattern) 概念 访问者模式是一种行为型设计模式,允许你在不修改被访问对象的前提下,定义新的操作。它通过将操作封装在访问者类中,从而将操作与对象结构分离。访问者模式非常适合于需要对一组对象…

对“一个中心,三重防护”中安全管理中心的理解

安全管理中心 本控制项为网络安全等级保护标准的技术部分。本项主要包括系统管理、审计管理、安全管理和集中管控四个控制点,其中的集中管控可以说是重中之重,主要都是围绕它来展开的。 28448基本要求中安全管理中心 8.1.5 安全管理中心 8.1.5.1 系统…

ELK之路第二步——可视化界面Kibana

Kibana 1.安装2.解压3.修改配置4.启动 这部分内容就比较简单了,水一片文章。 1.安装 需要梯子 官网下载链接:https://www.elastic.co/cn/downloads/past-releases/kibana-7-3-0 如果你去官网下载页面,点击下载是404报错,记得切换…

redis的zset实现下滑滚动分页查询思路

常规zset查询 我们redis的数据为 我们知道 我们常规查询的话 我们假如 zset 表中 有7个元素,然后我们进行分页查询的话,我们一次查3个元素,然后查出来元素 和元素的分数 我们redis的语法应该这样写 zrevrangebyscore wang 1000 0 withsc…

Flutter 12 实现双击屏幕显示点赞爱心多种动画(AnimationIcon)效果

本文主要是使用Flutter封装一个双击屏幕显示点赞爱心UI效果,并实现了爱心Icon 透明度、缩放、旋转、渐变等动画效果。 实现效果: 实现逻辑: 1、封装FavoriteGesture(爱心手势)实现双击屏幕显示爱心Icon; …

【设计模式系列】抽象工厂模式

一、什么是抽象工厂模式 抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它提供了一个接口,用于创建一系列相关或相互依赖的对象,而无需指定它们具体的类。这种模式允许客户端使用抽象的接口来创建一组…

VoLTE 微案例:VoLTE 注册失败,I-CSCF 返回 403,HSS(UAR) 返回 5001

目录 1. 问题描述 2. 故障注册流程与正常流程对照 3. 结论 博主wx:yuanlai45_csdn 博主qq:2777137742 想要 深入学习 5GC IMS 等通信知识(加入 51学通信),或者想要 cpp 方向修改简历,模拟面试,学习指导都可以添加博主低价指导哈。 1. 问题描述

对比迁移项目的改动

文章目录 对比迁移项目的改动场景背景解决方案 对比迁移项目的改动 场景背景 同源定制化项目,同一套代码扩展出来的项目(从领导口中得知) A项目的有三维地图展示,项目B跑起来却加载不出来,但是本地运行A项目代码&…

Unity性能优化3【内存基础篇】

1.性能、内存管理和垃圾收集的关系 先说结论,内存管理影响着游戏性能,垃圾收集是内存管理的重要部分。 当我们的游戏运行时,它使用内存来存储数据。当不再需要此数据时,存储该数据的内存将被释放,以便可以重复使用。…