文档章节

关于显示.mnc格式的文件与.rawb格式的文件的问题

天蚕宝衣
 天蚕宝衣
发布于 2017/08/11 09:54
字数 491
阅读 103
收藏 0

前几天在网站http://brainweb.bic.mni.mcgill.ca/cgi/bw/submit_request填写仿真数据后,网站生成了纯二进制数据的文件提供下载,文件格式是.mnc和.rawb,一开始下载.mnc格式的文件,但研究多个文章后仍然打不开。最后下载了.rawb格式的文件,用matlab打开。

rawb的全称是raw byte (unsigned),介绍如下:

One (unsigned) byte is used for each voxel, and the data is scaled such that it will use the entire 0...255 range of values. Exception: the "crisp" anatomical models are not scaled -- their byte values will be in the range 0...10.

填写的仿真数据如下图所示:

提交的数据如下图所示:

用matlab读取.rawb文件的代码如下所示:

调用的readrawb.m函数:

function g = readrawb(filename, 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);
end

方法一

写主函数,通过主函数调用。

主函数main.m:

% 函数readrawb(filename, num)中的第一个参数filename是欲读取的rawb文件的文件名,第二个参数num就是第多少张。
read = readrawb('brainweb.rawb', 33);  
read = imrotate(read, 270);                     % 旋转270°                       
imshow(uint8(read));

生成的图像如图所示: 

方法二

不写主函数,在readraw.m文件下的命令行窗口直接输入命令。

如下图所示:

生成的图像如图所示: 

© 著作权归作者所有

共有 人打赏支持
天蚕宝衣
粉丝 22
博文 239
码字总数 179255
作品 0
天津
私信 提问
BrainWeb: Simulated Brain Database使用说明

作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ BrainWeb: Simulated Brain Database http://brainweb.bic.mni.mcgill.ca/brainweb/ 数据集选自McGill大学Montreal神经所大脑成......

凯鲁嘎吉
10/30
0
0
深度学习下的医学图像分析(四)

雷锋网按:本文由图普科技编译自《Medical Image Analysis with Deep Learning Part4》,是最近发表的《深度学习下的医学图像分析(三)》的后续文章。雷锋网独家首发。 对与深度学习相关的医...

图普科技
2017/07/19
0
0
Cellid、Lac定位经纬度问题。急!

网上查阅了一些资料,有google提供可定位经纬度,大概四个参数:Cellid、Lac、mnc、mcc,POST请求到http://www.google.com/glm/mmap,json或xml格式的。查了半天没查到此API文档或具体请求格...

anfield
2011/07/07
2.9K
1
嵌入式Qt方案中文显示系列:Qte中的字体支持和使用

前话:工作以来在项目中主要的开发工作都是用嵌入式QT开发界面,从一开始的从零摸索,到现在有点头绪和经验,很多东西和用法依然只是知其然,不知其所以然,甚至一些还仅仅是模仿阶段。在这期...

水海云
2013/04/01
0
0
移动联通基站定位API以及电信基站定位API

什么是基站定位? 基站定位是指手机发射基站根据与手机的距离来计算手机坐标地理位置的一种功能,基站定位一般应用于手机用户,手机基站定位服务又叫做移动位置服务(LBS服务),它是通过电信...

白jian
2016/09/14
479
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS配置Tomcat监听80端口,虚拟主机

Tomcat更改默认端口为80 更改的配置文件是: /usr/local/tomcat/conf/server.xml [root@test-a ~]# vim /usr/local/tomcat/conf/server.xml # 找到 Connector port="8080" protocol="HTTP/1......

野雪球
今天
5
0
《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
今天
3
0
java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
今天
4
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部