根据脑图谱获取感兴趣区域的mask
根据脑图谱获取感兴趣区域的mask
- 1,引入
- 1.1 ASPECT-Atlas
- 2,获取脑图谱感兴趣区域mask
- 参考:
1,引入
脑影像分析中,我们常常会针对性的对某些感兴趣区域进行分析,而对它们进行分析的前提是获取该区域的mask。感兴趣区域可以用以某些坐标为球心的球形区域定义,也可以用脑图谱上对应的某些脑区定义,其中,后者是较为常见的,也是我们今天要讨论的。脑图谱是一类特殊脑影像,它的每一个位置上不是信号值,而是脑区编号(标签),这也就意味着我们可以通过感兴趣区域的脑区编号,得到对应的感兴趣区域位置的集合,它也就是感兴趣区域的mask。
本文参考自:【MRI脑影像分析——根据脑图谱获取感兴趣区域mask,以海马体与丘脑为例(matlab+nilearn+nibabel+REST1.8)】。https://blog.csdn.net/sinat_35907936/article/details/118481241
1.1 ASPECT-Atlas
脑图谱是一类特殊脑影像,它的每一个位置上不是信号值,而是脑区编号(标签)。任何一个图谱都会有其对应的脑区编号(标签)表。非常常见的是一些包含海马体,丘脑等部位的脑图谱。
本文是做ASPECT评分任务的,为了更方便讲述,下面主要以ASPECT-Altas来进行讲述。
如下图所示为ASPECT的图谱。如果需要此图谱的可以私聊我。
这个图谱的对应标签值为:
我们可以看到,当点击图谱的M1左区域时,itk-ansp可以显示其标签强度值为10. 与列表相同。
以下将使用ASPECT-Atlas,提取岛叶,尾状核等所有部位,并保存成nii.gz格式数据。
这里主要使用python的方式,使用nibabel函数库。
2,获取脑图谱感兴趣区域mask
nibabel是python平台上用于解析神经影像的工具,不仅可以解析nifti也可以解析gifti。这里用它来解析并封装nifti,以生成mask。mask类型与保持上面一致。
pip install nibabel
提取M1左,对应标签:10.
一般建议选ROI内保存成1,区域外为0.
import numpy as np
import nibabel as nibarea_name = 'm1_left'
ROI_label = 10img = nib.load('./templete/AspectsAtlas_padding_2mm.nii.gz')
data = img.get_fdata()
mask = np.zeros(data.shape)# 创建mask
mask[data==ROI_label] = 1# 用原先的仿射矩阵与头包装mask成nifti
#区域内为1,区域外为0,一个编号new_img = nib.Nifti1Image(mask,img.affine, header=img.header)
new_img.to_filename(area_name + '_uni_mask.nii')# 区域内为原来编号,区域外为0
data = np.array(mask*data, dtype=np.uint8)
new_img = nib.Nifti1Image(data, img.affine, header=img.header)
new_img.to_filename(area_name + '_sep_mask.nii')
我们可以看下效果:M1左脑区被提取出来。
下面展示一次性读取excel表所有脑区,并保存:
import numpy as np
import nibabel as nib# 读取excel
import pandas as pd
# 指定 Excel 文件路径
excel_file_path = './templete/ASPECTAtlas_label_lookup.xlsx' # 替换为你的Excel文件路径
# 读取 Excel 文件
df = pd.read_excel(excel_file_path)
# 提取两列数据到列表
column1_data = df['parts'].tolist() # 替换 'Column1' 为第一列的实际列名
column2_data = df['label'].tolist() # 替换 'Column2' 为第二列的实际列名print(column1_data,column2_data)# 读取ASPECT-Atlas
img = nib.load('./templete/AspectsAtlas_padding_2mm.nii.gz')
data = img.get_fdata()for i, name in enumerate(column1_data):mask = np.zeros(data.shape)ROI_label = column2_data[i]area_name = './ASPECT_Region_3D/' + name# 创建maskmask[data == ROI_label] = 1# 用原先的仿射矩阵与头包装mask成nifti# 区域内为1,区域外为0,一个编号new_img = nib.Nifti1Image(mask,img.affine, header=img.header)new_img.to_filename(area_name + '_uni_mask.nii.gz')
参考:
[MRI脑影像分析——根据脑图谱获取感兴趣区域mask,以海马体与丘脑为例(matlab+nilearn+nibabel+REST1.8)]
https://blog.csdn.net/sinat_35907936/article/details/118481241
相关文章:
根据脑图谱获取感兴趣区域的mask
根据脑图谱获取感兴趣区域的mask 1,引入1.1 ASPECT-Atlas 2,获取脑图谱感兴趣区域mask参考: 1,引入 脑影像分析中,我们常常会针对性的对某些感兴趣区域进行分析,而对它们进行分析的前提是获取该区域的mask…...
Android Framework通信:Handler
文章目录 前言一、Handler源码分析1、创建Handler2、发送消息3、取消息4、消息处理5、线程切换的方法(Handler异步消息处理机制流程)handler.sendMessage()handler.post()View.post()Activity中的runOnUiThread() 二、Handler高频面试题1、为什么要有Han…...
Redis的安装和配置
一、Redis的安装 使用命令将redis安装到linux服务器 yum -y install redis配置redis配置文件 redis的配置文件默认路径为/etc/redis.conf,对配置文件进行修改。 (1)注释掉bind 127.0.0.1; bind配置项设置的是redis允许的ip地址访问…...
Java武侠文字游戏
import java.util.Random;public class Role {//姓名private String name;//血量private int blood;//性别private char gender;//长相(随机)private String face;String[] boyfaces {"风流俊雅", "气宇轩昂", "相貌英俊", "五官端正"…...
数字化时代下,汽车行业如何突破现有营销困境?
之前三年的“口罩”时期,给全球和中国汽车市场带来不小影响,汽车销售市场整体下滑,传统营销模式很难适应现阶段汽车营销需求,那么在当下,汽车行业应该如何突破现有营销困境呢?接下来就由媒介盒子跟大家聊聊…...
19 | 如何搞清楚事务、连接池的关系?正确配置是怎样的
事务的基本原理 在学习 Spring 的事务之前,你首先要了解数据库的事务原理,我们以 MySQL 5.7 为例,讲解一下数据库事务的基础知识。 我们都知道 当 MySQL 使用 InnoDB 数据库引擎的时候,数据库是对事务有支持的。而事务最主要的作…...
备忘录模式-撤销功能的实现
在idea写代码的过程中,会经常用到一个快捷键——“crtl z”,即撤销功能。“备忘录模式”则为撤销功能提供了一个设计方案。 1 备忘录模式 备忘录模式提供一种状态恢复机制。在不破坏封装的前提下,捕获对象内部状态并在该对象之外保存这个状态。可以在…...
C++入门(二)
文章目录 一、缺省参数1、概念2、缺省参数分类1、全缺省参数2、半缺省参数 3、特性总结 二、函数重载1、引入函数重载2、函数重载概念3、函数重载分类4、C支持函数重载的原理--名字修饰(name Mangling) 三、 引用1、引用概念2、引用特性3、 常引用4、 使用场景1、做参数2、做返…...
【软件设计师】面向对象类图的六种关系
面向对象类图的六种关系(继承、实现、依赖、关联、聚合、组合) 1、泛化(继承)2、实现3、依赖4、关联5、聚合6、组合 面向对象类图的六种关系(继承、实现、依赖、关联、聚合、组合) 进行面向对象设计时&…...
二十七、【四种蒙版】
文章目录 图层蒙版剪贴蒙版快速蒙版矢量蒙版 图层蒙版 在当前图层加上蒙版,黑色画笔的可以让当前图层消失,白色的画笔可以让当前图层出现: 无论填充什么样的颜色,蒙板只有黑白灰三种颜色。模板最简单应用就是我们在插入图形的时候…...
卡尔曼家族从零解剖-(00)目录最新无死角讲解
讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解的 卡尔曼家族从零解剖 链接 :卡尔曼家族从零解剖-(00)目录最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/133846882 文末正下方中心提供了本人 联系…...
Linux系统之ip命令的基本使用
Linux系统之ip命令的基本使用 一、ip命令介绍1.1 ip命令简介1.2 ip命令的由来1.3 ip命令的安装包 二、ip命令使用帮助2.1 ip命令的help帮助信息2.2 ip命令使用帮助 三、查看网络信息3.1 显示当前网络接口信息3.2 显示网络设备运行状态3.3 显示详细设备信息3.4 查看路由表3.5 查…...
【推荐算法】ctr cvr联合建模问题合集
ctr和cvr分开建模相比ctcvr的优势? 在电商搜索推荐排序中,将ctr和cvr分开建模,相比直接建模ctcvr的优势是什么? - 萧瑟的回答 - 知乎 总结: 1、ctr的数据可以试试获取,能实时训练。但是cvr存在延迟现象&…...
安装njnx --chatGPT
gpt: 要在 Debian 11 上安装 Nginx(通常称为 "nginx"),您可以使用 apt 包管理器执行以下步骤: 1. **登录到您的 Debian 11 服务器**。您可以使用 SSH 客户端以 root 或具有管理员权限的用户身份登录。 2. **更新软件…...
性能测试需求分析
1、客户方提出 客户方能提出明确的性能需求,说明对方很重视性能测试,这样的企业一般是金融、电信、银行、医疗器械等;他们一般对系统的性能要求非常高,对性能也非常了解。提出需求也比较明确。 曾经有一个银行项目,已经…...
logback服务器日志删除原理分析
查看以下的logback官方文档 Chapter 4: Appendershttps://logback.qos.ch/manual/appenders.html 按文档说明,maxHistory是设置保存归档日志的最大数量,该数量的单位受到fileNamePattern里的值%d控制,如果有多个%d,只能有一个主%d࿰…...
到底什么才是真正的商业智能(BI)
随着人工智能、云计算、大数据、互联网、物联网等新一代信息化、数字化技术在各行各业内开始大规模的应用,社会上的数字化、信息化程度不断加深,而数据价值也在这样的刺激下成为了个人、机构、企业乃至国家的重要战略资源,成为了继土地、劳动…...
Pulsar Manager配置自定义认证插件访问
Pulsar Manager配置自定义认证插件访问 Pulsar Manager和dashboard部署和启用认证 pulsar自定义认证插件开发 前面博客讲了以token方式访问pulsar 这节博客讲如何配置自定义认证插件的方式访问pulsar #启动pulsar-manager docker run --name pulsar-manager -dit \-p 9527:…...
Java SimpleDateFormat linux时间字符串转时间轴的坑
Mon Oct 16 09:51:28 2023 这是linux 的 date命令得到的时间,要转换称时间戳。 EEE MMM dd HH:mm:ss yyyy 这样的格式,看起来就是正确的,可是就是报错 Unparseable date: "Mon Oct 16 09:51:28 2023" 下面是正确的代码 String[…...
202、RabbitMQ 之 使用 fanout 类型的Exchange 实现 Pub-Sub 消息模型---fanout类型就是广播类型
目录 ★ 使用 fanout 类型的Exchange 实现 Pub-Sub 消息模型代码演示:生产者:producer消费者:Consumer01消费者:Consumer02测试结果 完整代码ConnectionUtilPublisherConsumer01Consumer02pom.xml ★ 使用 fanout 类型的Exchange …...
web 性能优化详解(Lighthouse工具、优化方式、强缓存和协商缓存、代码优化、算法优化)
1.性能优化包含的方面 优化性能概念宽泛,可以从信号、系统、计算机原理、操作系统、网络通信、DNS解析、负载均衡、页面渲染。只要结合一个实际例子讲述清楚即可。 2.什么是性能? Web 性能是客观的衡量标准,是用户对加载时间和运行时的直观…...
docker-compose部署elk(8.9.0)并开启ssl认证
docker部署elk并开启ssl认证 docker-compose部署elk部署所需yml文件 —— docker-compose-elk.yml部署配置elasticsearch和kibana并开启ssl配置基础数据认证配置elasticsearch和kibana开启https访问 配置logstash创建springboot项目进行测试kibana创建视图,查询日志…...
解决java.lang.IllegalArgumentException: servlet映射中的<url pattern>[demo1]无效
当我使用tomcat启动使用servlet项目时,出现了报错: java.lang.IllegalArgumentException: servlet映射中的<url pattern>[demo1]无效 显示路径错误,于是去检查Web.xml中的配置,发现是配置文件的路径写错了,少写了…...
软件测试学习(三)易用性测试、测试文档、软件安全性测试、网站测试
目录 易用性测试 用户界面测试 优秀Ul由什么构成 符合标准和规范 直观 一致 灵活 舒适 正确 实用 为有残疾障碍的人员测试:辅助选项测试 测试文档 软件文档的类型 文档测试的重要性 软件安全性测试 了解黑客的动机 威胁模式分析 网站测试 网页基…...
Java中,对象一定在堆中分配吗?
在我们的日常编程实践中,我们经常会遇到各种类型的对象,比如字符串、列表、自定义类等等。这些对象在内存中是如何存储的呢? 你可能会毫不犹豫地回答:“在堆中!”如果你这样回答了,那你大部分情况下是正确…...
AI:38-基于深度学习的抽烟行为检测
🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌本专栏包含以下学习方向: 机器学习、深度学…...
Hadoop 配置 Kerberos 认证
1、安装 Kerberos 服务器和客户端 1.1 规划 服务端: bigdata3 客户端(Hadoop集群): bigdata0 bigdata1 bigdata2 192.168.50.7 bigdata0.example.com bigdata0 192.168.50.8 bigdata1.example.com bigdata1 192.168.50.9 b…...
在 Elasticsearch 中实现自动完成功能 2:n-gram
在第一部分中,我们讨论了使用前缀查询,这是一种自动完成的查询时间方法。 在这篇文章中,我们将讨论 n-gram - 一种索引时间方法,它在基本标记化后生成额外的分词,以便我们稍后在查询时能够获得更快的前缀匹配。 但在此…...
美客多、亚马逊卖家如何运用自养账号进行有效测评?
到了10月,卖家朋友们都在忙着准备Q4旺季吧! 首先,祝愿所有看到这条推文的卖家朋友,今年旺季都能爆单,赚得盆满钵满! 测评是珑哥常谈,一直备受关注,不论是新老卖家都是一个逃不开的…...
MyBatis的缓存,一级缓存,二级缓存
10、MyBatis的缓存 10.1、MyBatis的一级缓存 一级缓存是SqlSession级别的,通过同一个SqlSession对象 查询的结果数据会被缓存,下次执行相同的查询语句,就 会从缓存中(缓存在内存里)直接获取,不会重新访问…...
网站导航栏内容/外贸网站优化公司
工作环境(蓝色粗体字为特别注意内容)1,系统环境:Win7 Ultimate sp1 2,软件环境:Google浏览器 3,参考文献:https://www.v2ex.com/t/120451 今天在安装Web of Science的Google浏览器插件Kopernio的时候&…...
网站开发及app开发公司/短视频代运营合作方案
免费获得《2017阿里技术年度精选》(678页),下载地址见文中说明2017年,在技术发展的历史上,一定是个特别的一年:柯洁与AlphaGo的惊世大战,无人咖啡店开放体验,AI设计师“鲁班”横空出…...
哪里有免费的网站模板下载 迅雷下载软件/seo公司外包
动态规划是一种top-down求解模式,关键在于分解和求解子问题,然后根据子问题的解不断向上递推,得出最终解 因此dp涉及到保存每个计算过的子问题的解,这样当遇到同样的子问题时就不用继续向下求解而直接可以得到结果。状态压缩就是用…...
怎样在领英上做公司网站/免费外链网
HTML介绍 HTML(HyperText MarkupLanguage)简称超文本标记语言。它和CSS、JavaScript组合完成一个网页的设计。对于一个网页,HTML定义网页的结构,CSS描述网页的样子,JavaScript则实现人机交互。 HTML语义化 说起HTML&am…...
产品毕业设计网站建设/网站开发北京公司
linux 下编译捍You must specify a valid --with-apxs path原因是:在没有安装prel就先安装apache造成的解决方法:[rootapache bin]# vi /usr/local/apache/bin/apxs修改下面的第一行#!/usr/bin/perl -w## Licensed to the Apache Software Foundation (A…...
2017做啥网站能致富/微信小程序开发费用
一、聚合函数 1.Count:如果数据库表的没有数据,count(*)返回的不是null ,而是0查看共有多少个部门 Select count(dname) from dept;2.Avg(平均) ,max(最大),minÿ…...