matlab dcm文件,CT的原始图像.dcm文件的读取
在做CT图像的深度学习研究时,需要用到大量的CT数据,我从TCIA上下载的CT图像是.dcm文件的,每个.dcm文件代表一个slice,如图所示,下载的是Head-neck数据,
用matlab读取时,使用到dicomread()函数,如下
filepath = '000000.dcm'
info = dicominfo(fullfile(filepath));
image = dicomread(info);
这里只读取了一个slice,我们该如何批量读取.dcm文件呢?又如何把每层的图像数据进行排序?以下是参考代码:
主要有几点需要注意:
读取info中的层数信息,用于排序
把多余的空白数据删除
clear,clc
%% reading files path
folder = './4/'; %%% 所有slice的文件夹
ext = {'*.dcm'};
filepaths = [];
for i = 1 : length(ext)
filepaths = cat(1,filepaths,dir(fullfile(folder, ext{i}))); %%% 读取所有.dcm的文件
end
a = length(filepaths);
data = zeros(512,512,a); %%% 图片大小
Num = zeros(1,a);
for i = 1:a
info = dicominfo(fullfile(folder,filepaths(i).name)); %%% 读取CT图像的扫描信息
No = info.SliceLocation; %%% 读取该层的序号
Num(i) = floor(No);
end
value = min(Num(:));
%% extrating number of slices
for i = 1:a
info = dicominfo(fullfile(folder,filepaths(i).name));
No = info.SliceLocation;
Num0 = floor(No)+ abs(value)+1; %%% 对slicelocation进行从小到大的排序
image = dicomread(info);
data(:,:,Num0) = image; % saving data, including blanks
end
%% delete the blank
n_dim = size(data,3);
t = 1;
for j = 1: n_dim
img = data(:,:,j);
if mean(img)==0
rem(t) = j;
t = t + 1;
else
end
end
data(:,:,rem) = []; %% 删掉空白的层
n = size(data,3);
temp = data;
%% show and save the result
for i = 1:n
data(:,:,n-i+1) = temp(:,:,i);
end
for i = 1:n
imshow(data(:,:,i),[])
end
save pat4.mat data %%% 保存数据
matlab dcm文件,CT的原始图像.dcm文件的读取相关推荐
- CT的原始图像.dcm文件的读取
在做CT图像的深度学习研究时,需要用到大量的CT数据,我从TCIA上下载的CT图像是.dcm文件的,每个.dcm文件代表一个slice,如图所示,下载的是Head-neck数据, 用matlab读取时 ...
- dicom文件的后缀_dcm文件扩展名,dcm文件怎么打开?
.dcm 文件类型1:DiskCatalogMaker Catalog File 文件说明:Catalog format used by DiskCatalogMaker, a file catalo ...
- python将医学dcm文件数据信息转换为excel文件
分析结果展示 打开解析dcm信息后对应的excel文件,所有关键字段都录入到excel中,解决了日常处理异常dcm文件的复杂问题 fileutil文件 import os import shutil ...
- MATLAB遍历子文件夹及其下文件
MATLAB遍历子文件夹及其下文件 以前从未遇到过用MATLAB批处理文件的情况,此次项目需要批量将wav文件导入matlab进行处理,现将matlab遍历子文件夹及其文件的方法记录下来. 文件目录结 ...
- Matlab 读取文件夹里所有的文件
Matlab 读取文件夹里所有的文件 (image = dir('D:\gesture\*.*'); % dir是指定文件夹得位置,他与dos下的dir用法相同. 用法有三种: 1. dir 是指工作 ...
- matlab读int16读文件_Matlab文件操作及读txt文件(fopen,fseek,fread,fclose)
Matlab 文件操作及读 txt 文件 (fopen,fseek,fread,fclose) matlab 文件操作 文件操作是一种重要的输入输出方式,即从数据文件读取数据或将 结果写入数据文件. ...
- matlab主程序和子函数不在一个文件夹下,怎么调用?
转自:https://blog.csdn.net/qq_31811537/article/details/79036152 在程序前添加代码:addpath(genpath(pwd)); 将当前文件夹 ...
- matlab 2014a 安装教程(内附破解文件)
matlab 2014a 安装教程(内附破解文件) 这几天在准备数模,决心好好研究一下matlab,几经折腾,终于完成了安装与破解过程,下面是基本的步骤: 1:下载安装文件和破解文件 链接:h ...
- matlab7 fig exe 阴影,Matlab 生成完全独立运行的 EXE文件的问题请教
如何将matlab gui文件编辑成exe可执行文件 我现在用Matlab M文件写了一个计算程序,当输入一些数时,通过程序,计算出一些结果.(比如我的 程序是sum=(a+b+c)/d,即给定a,b ...
- MATLAB程序设计与应用 4.1 M文件
MATLAB程序设计与应用 文章目录 MATLAB程序设计与应用 4. 第4章 MATLAB程序流程控制 4.1 M文件 4.1.1 M文件的建立与打开 4.1.2 M文件的分类 4. 第4章 MAT ...
最新文章
- Fastsocket学习笔记之小结篇
- python代码打开可执行文件_将自己的Python代码打包成exe文件(更换设备可运行的)...
- MySQL优化之三:SQL语句优化
- Ubuntu下MySQL忘记root密码重置
- es springboot 不设置id_springboot整合ES_文档ID删除
- (JAVA)红黑树之自然顺序排序和自定义排序方式
- 专访阿里数据库备份专家 教你pick最有效的备份系统
- 中职计算机基础课教学策略研究,计算机-研究教学方法中职学校计算机基础课程教学策略的论文开题报告-优度********网...
- Oracle EBS之把自定义concurrent加入Pick Release Document Set(All Pick Release Documents)的几个注意点...
- js 原生拖拽,返回到原点
- 自动摘要学习计划(英语)
- 计算机科学与技术专业导论mooc答案,中国大学MOOC人工智能导论(2017级)网课答案...
- 基于OPENCV的OCR身份证号识别技术
- Firefox 无法播放视频
- 微信小程序仿支付宝滑动图标
- java 微信群组头像_仿微信生成群组头像
- 如何保养COMAPQ/HP 电池
- 资源分享——免费的高端PPT模板网址
- No mapping found for HTTP request with URI问题解决
- SecureCRT教程——如何使用SecureCRT命令窗口将命令发送到多个会话