首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于二维切片的三维CT图像重建

基于二维切片的三维CT图像重建
EN

Stack Overflow用户
提问于 2012-10-09 12:44:13
回答 1查看 12.2K关注 0票数 2

我有3D CT图像的二维切片。它们是DICOM格式的,其中有250个。我想用MATLAB重建三维图像。我怎么才能在循环中做到这一点呢?

  • 我正在我的Ubuntu系统上使用MATLAB R2010b。
  • 图像的位置是:/home/amadeus/Desktop/images
  • 图片命名为: 我是-0001-0001.dcm IM-0001-0002.dcm IM-0001-0003.dcm .IM-0001-0250.dcm
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-09 13:55:51

显然,有一个函数只用于读取DICOM文件:双读,我建议使用它来加载图像,然后将它们存储在3D矩阵中。斯普林特可以用来构造图像的文件名(使用%04d生成带前导零的四位数字)。

假设所有图像都对齐,大小相同:

代码语言:javascript
复制
N = 250;
img_dir = '/home/amadeus/Desktop/images'

% read the first image separately just to get the size
strfile = 'IM-0001-0001.dcm';
img = dicomread(fullfile(img_dir, strfile));
siz_img = size(img);

% create result matrix:
ct3d = NaN([siz_img N]);
ct3d(:,:,1) = img;    

% load all the remaining images and put them in the matrix
for ii=2:N
    strfile = sprintf('IM-0001-%04d.dcm',ii);
    ct3d(:,:,ii)= dicomread(fullfile(img_dir, strfile));
end

编辑:这假设图像是灰度(2d)。如果它们是完全彩色的(宽度x高度x3),您应该在赋值给ct3d中添加另一个冒号运算符。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12800333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档