从灰度图像的 2D 切片集创建 3D 体积 [英] Creating 3D volume from 2D slice set of grayscale images

查看:45
本文介绍了从灰度图像的 2D 切片集创建 3D 体积的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将使用 Matlab 从灰度图像集创建一个 3D 体积.一组包含二维灰度图像的连续和量化切片.我仍然认为自己是 Matlab 的菜鸟,但这就是我目前的想法:

I am to create a 3D volume out of grayscale image set using Matlab. A set contains a continuous and quantized slices of 2D grayscale image. I am still considered myself a rookie in Matlab, but this is what I currently have in my mind:

  • 为 3D 体积创建一个空白空间.
  • 在每张图像上,我们执行所有预处理操作,以便我们只得到我们感兴趣的部分.(在这个问题中,假设这个预处理部分总是完美无缺)
  • 遍历图像,2D 上每个像素的 x 和 y 坐标将转移到空白空间.对于 z 坐标,我们可以使用与每个切片之间的距离相关的切片编号.如果一个像素与另一个像素相邻,则 3D 点将连接在一起.
  • 重复前面的 2 个步骤,直到完成所有切片.我们现在将所有点连接起来,就像在 2D 切片中一样.

但是问题来了,我们如何将切片之间的点连接起来,让这些点成为一个体积?或者在Matlab中有更强大的方法吗?任何建议都非常感谢.

But here comes the trouble, how can we connect the points between the slices, so that these points can become a volume? Or is there a more robust way to do in Matlab? Any suggestion is highly appreciated.

推荐答案


第 0 部分 - 假设

  • 所有 2D 图像的尺寸都相同,因此您的 3D 体积可以将所有图像保存在一个矩形立方体中
  • 每张 2D 图像中的大部分像素都具有 3D 空间关系(如果每张 2D 图像中的像素具有某种随机分布,您就无法直观地看到.)

第 1 部分 - 从一堆 2D 图像中可视化 3D 体积

要从一堆 2D 图像中可视化或重建 3D 体积,您可以在 matlab 中尝试以下工具包.

To visualize or reconstruct a 3D volume from a stack of 2D images, you can try the following toolkits in matlab.

1 3D CT/MRI图像交互式滑动查看器http://www.mathworks.com/matlabcentral/fileexchange/29134-3d-ctmri-images-interactive-sliding-viewer

1 3D CT/MRI images interactive sliding viewer http://www.mathworks.com/matlabcentral/fileexchange/29134-3d-ctmri-images-interactive-sliding-viewer

[2] Viewer3Dhttp://www.mathworks.com/matlabcentral/fileexchange/21993-viewer3d

[2] Viewer3D http://www.mathworks.com/matlabcentral/fileexchange/21993-viewer3d

[3] 图 3http://www.mathworks.com/matlabcentral/fileexchange/21881-image3

[4] Surface2Volumehttp://www.mathworks.com/matlabcentral/fileexchange/8772-surface2volume

[4] Surface2Volume http://www.mathworks.com/matlabcentral/fileexchange/8772-surface2volume

[5] SliceOmatichttp://www.mathworks.com/matlabcentral/fileexchange/764

[5] SliceOMatic http://www.mathworks.com/matlabcentral/fileexchange/764

注意,如果你熟悉VTK,你可以试试这个:[6] matVTKhttp://www.cir.meduniwien.ac.at/matvtk/

Note that if you are familiar with VTK, you can try this: [6] matVTK http://www.cir.meduniwien.ac.at/matvtk/

我目前坚持使用 [5] SliceOmatic,因为它简单易用.但是,默认情况下,在 Matlab 中渲染 3D 非常慢.打开 openGL 会提供更快的渲染.(http://www.mathworks.com/help/techdoc/ref/opengl.html) 或者简单地说,set(gcf, 'Renderer', 'OpenGL').

I am currently sticking with [5] SliceOMatic for its simplicity and ease of use. However, by default, rendering 3D is quite slow in Matlab. Turning on openGL would give faster rendering. (http://www.mathworks.com/help/techdoc/ref/opengl.html) Or simply put, set(gcf, 'Renderer', 'OpenGL').

第 2 部分 - 在切片之间插入像素

要在切片之间插入像素,您需要指定一种插值方法(上述一些工具包具有此功能/灵活性.否则,为了让您领先一步,插值的一些示例是双三次、样条、多项式等..(您可以通过在 google 或 google/scholar 上查找更具体到您的问题域的插值方法来解决这个问题).

To interpolate pixels in between the slices, you need to specify an interpolation method (some of the above toolkits have this capability / flexibility. Otherwise, to give you a head start, some examples for interpolation are bicubic, spline, polynomial etc..(you can work this out by looking up on google or google/scholar for interpolation methods much more specific to your problem domain).

第 3 部分 - 3D 预处理

看看您的程序,您首先通过处理每个 2D 图像来处理体积数据.在许多高级算法中,或者在真正的 3D 处理中,您可以做的是首先处理 3D 域中的体积数据(简单地说,您首先考虑 26 个或更多的邻居.).完成此步骤后,您可以简单地将体积数据输出到一叠 2D 图像中以进行横截面查看或提供给上述工具包之一进行 3D 查看或输出到第三方 3D 查看应用程序.

Looking at your procedures, you process the volumetric data by processing each of the 2D images first. In many advanced algorithms, or in true 3D processing, what you can do is to process the volumetric data in 3D domain first (simply put, you take the 26 neighbors or more in to account first.). Once this step is done, you can simply output the volumetric data into a stack of 2D images for cross-sectional viewing or supply to one of the aforementioned toolkits for 3D viewing or output to third party 3D viewing applications.

我在自己的医学影像研究项目中遵循了上述概念,上述发现是 基于我在此处记录的研究经验(最新修订版).

I have followed the above concepts for my own medical imaging research projects and the above finding is based on my research experience documented here (with latest revisions).

这篇关于从灰度图像的 2D 切片集创建 3D 体积的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆