MTLAB 批量下载 脑医学图像数据集BrainWeb: Simulated Brain Database

MTLAB 批量下载 脑医学图像数据集BrainWeb: Simulated Brain Database

BrainWeb数据集的网址:https://brainweb.bic.mni.mcgill.ca/brainweb/

1. 了解 BrainWeb: Simulated Brain Database

这是一个模拟大脑数据的数据库(SBD,Simulated Brain Database)。
SBD包含:一组MRI模拟器产生的真实的MRI数据量。
两组模拟器,一组基于正常的解剖模型(Normal),一组基于多发性硬化症的解剖模型(MS)。
其中,模拟脑MRI数据是三种序列(T1-、T2-和质子密度PD-),可以设置各种切片厚度噪声水平强度不均匀水平模拟完整三维数据体。

2.MRI模拟器

MRI模拟器由McConnell Brain Imagingl中心开发,允许用户独立控制各种采集参数并获得真实的大脑MR图像。
该模拟器采用基于Bloch方程的第一性原理建模实现了核磁共振信号产生的离散事件模拟,并逼真地模拟了图像产生过程中的噪声和部分体积效应。

3.模拟正常大脑的三维数据体

使用Anatomical Model of Normal Brain模型模拟正常大脑的解剖数据。

可以自定义的参数为固定的3种模态、5种切片厚度、6种噪声水平和3种强度不均匀水平。
在这里插入图片描述

4. 下载正常大脑的三维数据体

以 模态= T1,协议= ICBM,幻像名称=正常,切片厚度= 1mm,噪声= 0%,INU = 0%为例,选择好参数后,点击下载【Download】

  • 文件命名规则
    • 模态 T1,T2,PD
    • 协议 icmb
    • 脑图像名字:正常
    • 切片厚度 1mm,3mm,5mm,7mm,9mm
    • 噪声水平 pn0=0%;1%,3%,5%,7%,9%
    • 灰度不均匀水平 rf0=0%;20%,40%

下载的数据格式:
在这里插入图片描述
点击【start download】后,下载的文件格式为 .rawb,文件名为:t1_icbm_normal_1mm_pn0_rf0.rawb。图片的空间大小是181217181。

matlab打开文件及数据:

function g = readrawb(filename, num)
% 函数readrawb(filename, num)中的第一个参数filename是欲读取的rawb文件的文件名,第二个参数num就是第多少张。
fid = fopen(filename);
% 连续读取181*217*181个数据,这时候temp是一个长度为181*217*181的向量。
% 先将rawb中的所有数据传递给temp数组,然后将tempreshape成图片集。
temp = fread(fid, 181 * 217 * 181);
% 所以把它变成了一个181*217行,181列的数组,按照它的代码,这就是181张图片的数据,每一列对应一张图。
% 生成图片集数组。图片集images数组中每一列表示一张图片。
images = reshape(temp, 181 * 217, 181);  
% 读取数组中的第num行,得到数组再reshape成图片原来的行数和列数:181*217。
image = images(:, num);
image = reshape(image, 181, 217);
g = image;
fclose(fid);
endfunction init_image(filename,num)
% 函数init_image(filename,num)中的第一个参数filename是欲读取的rawb文件的文件名,第二个参数num就是第多少张。输出为原始图像,未处理
%例如:init_image('t1_icbm_normal_1mm_pn0_rf0.rawb',90), init_image('phantom_1.0mm_normal_csf.rawb',90)
read=readrawb(filename, num);
% 旋转90°并显示出来
read=imrotate(read, 90);                                       
imshow(uint8(read));
end

在命令行窗口输入:

init_image('t1_icbm_normal_1mm_pn0_rf0.rawb',90)

即可获得第90层的脑MR图像。

在这里插入图片描述

5.批量保存数据体的全部数据为mat文件与jpg图像文件

将全部181层的217*181大小的数据保存为mat文件与jpg图像文件,方便后续调用某一层的图像数据。
前提需要新建一个空白文件夹“results”。

clear
clc
filename='t1_icbm_normal_1mm_pn0_rf0.rawb';
for i=1:181read{i}=readrawb(filename, i);read{i}=imrotate(read{i}, 90); % imshow(uint8(read{i}));imwrite(uint8(read{i}),['.\results\', int2str(i), '.jpg']);
end
save image_data read

在这里插入图片描述

新:现在有20种正常解剖模型 。
下载基于 BrainWeb数据集 的 20 个正常大脑的多模态模型模拟得到的脑图
如果帮到你了,请帮我点个赞吧😄😄😄😄😄

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

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

相关文章

C#重新认识笔记_ 点乘,叉乘

C#重新认识笔记_ 点积,叉乘 一、Dot Product 点乘: (Ax*Bx)(Ay*By)(Az*Bz)Dot Product 点积 利用点积,可以了解,两个向量(vector)的相关信息, …

【系统架构设计师】软件架构设计 02

系统架构设计师 - 系列文章目录 01 系统工程与信息系统基础 02 软件架构设计 文章目录 系统架构设计师 - 系列文章目录 文章目录 前言 一、软件架构的概念 ★★★ 二、基于架构的软件开发 ★★★★ 三、软件架构风格 ★★★★ 1.数据流风格 2.调用/返回风格 3.独立构件风格…

python之json数据格式

json 本质上是一个字符串,有一些特定格式,且每一种编程语言偶有这种格式实现数据传输 #序列化 info{code:100,"data":1} import json data_stringjson.dumps(info) print(data_string) #{"code": 100, "data": 1} …

Qt学习--继承(并以分文件实现)

基类 & 派生类 一个类可以派生自多个类,这意味着,它可以从多个基类继承数据和函数。定义一个派生类,我们使用一个类派生列表来指定基类。类派生列表以一个或多个基类命名。 总结:简单来说,父类有的,子…

操作系统系列学习——信号量临界区保护

文章目录 前言信号量临界区保护 前言 一个本硕双非的小菜鸡,备战24年秋招,计划学习操作系统并完成6.0S81,加油! 本文总结自B站【哈工大】操作系统 李治军(全32讲) 老师课程讲的非常好,感谢 【哈…

【力扣精选算法100道】——带你了解(数组模拟栈)算法

目录 💻比较含退格的字符串 🎈了解题意 🎈分析题意 🚩栈 🚩数组模拟栈 🎈实现代码 844. 比较含退格的字符串 - 力扣(LeetCode) 💻比较含退格的字符串 &#x1f3…

Maven项目 快速修复log4j 漏洞

1、log4j 漏洞介绍 log4j的漏洞介绍以及原理请参考文章 ,网址详见下面文章 Log4j漏洞原理及修复_linux log4j漏洞修复方案-CSDN博客,遇到这个漏洞要升级log4j 的jar包到2.17.0 以上。 2、项目快速处理方案 由于maven 管理jar 的spring 项目或者…

通过点击按钮实现查看全屏和退出全屏的效果

动态效果如图&#xff1a; 可以通过点击按钮&#xff0c;或者esc键实现全屏和退出全屏的效果 实现代码&#xff1a; <template><div class"hello"><el-button click"fullScreen()" v-if"!isFullscreen">查看全屏</el-butt…

DevExpress WinForms crack,DevExpress WinForms组件套件和库

DevExpress WinForms crack,DevExpress WinForms组件套件和库 Reporting & Analytics - Reports, Pivot Tables, PDF Viewer. The DevExpress WinForms Subscription includes royalty-free user interface components for next-gen decision support systems. Whether you…

PTA模拟+数学分析

作者 李曲 单位 浙江工业大学 生物学家发现了一种奇怪的DNA分子&#xff0c;最好用集合{A&#xff0c;B}中的N个字符序列来描述。一个不太可能的突变序列导致了一条由A‟s组成的DNA链。生物学家发现这很奇怪&#xff0c;所以他们开始更详细地研究突变。 他们发现了两种类型的…

泡澡——前缀和

题目链接&#xff1a;1.泡澡 - 蓝桥云课 (lanqiao.cn) 主要应用前缀和方法解决问题 package lanqiao;import java.util.Scanner;/*** 2023/11/29*/ public class lanqiao3898_泡澡 {static final int MAX (int) 2e5;public static void main(String[] args) {Scanner scan ne…

KY198 找最小数

描述&#xff1a; 第一行输入一个数n&#xff0c;1 < n < 1000&#xff0c;下面输入n行数据&#xff0c;每一行有两个数&#xff0c;分别是x y。输出一组x y&#xff0c;该组数据是所有数据中x最小&#xff0c;且在x相等的情况下y最小的。 输入描述&#xff1a; 输入有多…

Java网络编程:探索奥秘与实践

欢迎来到我的博客&#xff01;今天我们将一起探索Java网络编程的奥秘。网络编程是计算机科学中的一个重要领域&#xff0c;它使得不同的计算机系统可以相互通信和共享数据。Java的网络编程库提供了一套全面而强大的工具&#xff0c;让我们能够轻松地实现这些功能。我们将通过一…

【活动】政府工作报告视角下的计算机行业发展前瞻与策略探讨

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 引言正文计算机行业在政府工作报告中的定位与发展态势政策导向解析未来机遇展望…

Java中的悲观锁机制----synchronized 关键字原理

上篇铺垫&#xff1a;Java中的锁机制&#xff1f;&#xff08;体系梳理篇&#xff09;-CSDN博客 一、sychronized的介绍 sychronized是Java原生的一个同步锁机制&#xff0c;可以保证在多线程并发的情况下&#xff0c;仅允许一个线程执行加锁的方法和代码块&#xff0c;保证了…

修改multiprocessing.Manager().dict()中对象的变量的值

类 class SystemSta:def __init__(self):self.AllJointsFindedHome False创建字典 manager multiprocessing.Manager() shared_data manager.dict() shared_data[SystemSta] SystemSta()更改字典中对象的变量的值 错误示范 shared_data[SystemSta].AllJointsFindedHome…

深度剖析:数字经济下人工智能水平的新测算模型数据集

数据来源&#xff1a;企业年报时间跨度&#xff1a;1991-2022年数据范围&#xff1a;各企业数据指标&#xff1a; 年份 股票代码 公司名称 总词频 词频加1取对数 人工智能 计算机视觉 图像识别 知识图谱 智能教育 增强现实 智能政务 特征提…

数据分析-Pandas序列时间移动窗口化操作

数据分析-Pandas序列时间移动窗口化操作 数据分析和处理中&#xff0c;难免会遇到各种数据&#xff0c;那么数据呈现怎样的规律呢&#xff1f;不管金融数据&#xff0c;风控数据&#xff0c;营销数据等等&#xff0c;莫不如此。如何通过图示展示数据的规律&#xff1f; 数据表…

Machine Learning ---- Feature Scaling

目录 一、What is feature scaling:&#xff1a; 二、Why do we need to perform feature scaling? 三、How to perform feature scaling: 1、Normalization: 2、Mean normalization: 3、Standardization (data needs to follow a normal distribution): 一、What is featur…

高效使用git流程分享

准备 假设你已经 clone 了当前仓库&#xff0c;并且你的终端位置已经位于仓库目录中。 查询状态 查询状态常用的命令有 git status 和 git branch。 前者用于查询更改文件情况&#xff0c;后者用于展示所有分支。 chatbot-system$ git status On branch develop Your bran…