问题标签 [volume-rendering]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
15636 浏览

matlab - Matlab 3d 体积可视化和 3d 叠加

这个问题几乎就是标题。

我有一个作为原始数据加载的 3d 卷[256, 256, 256] = size(A)。它只包含零和一的值,其中 1 代表结构,0 代表“空气”。

我想在 MATLAB 中可视化该结构,然后在其上运行一个算法并在其上放置一个叠加层,比如说红色。

所以更准确地说:

  1. 我如何可视化 3d 体积。0是透明的,1是半透明的?
  2. 在 3d 可视化中绘制一条线作为叠加层?

我已经阅读了 MathWorks 教程,但它们没有帮助。我尝试使用该set命令,但是对于我尝试的每个属性,它完全失败了“无效的根属性”。

0 投票
1 回答
363 浏览

hadoop - Hadoop中的JoGL?Hadoop 用于图形?

在阅读了这篇文章和这篇论文之后,我决定在 MapReduce 上为大型数据集实现分布式体渲染设置,作为我的本科论文工作。Hadoop是一个合理的选择吗?是不是 Java 会扼杀一些性能提升或使与 CUDA 的集成变得困难?Phoenix++ 会是更好的工作工具吗?

0 投票
1 回答
1236 浏览

mesh - 将网格转换为元球

我正在做一个项目,我需要将现有的多边形网格转换为由元球(斑点)制成的静态形状。我已经用 binvox 将网格体素化为“.raw 文件”(根据binvox的描述),但我不知道它如何存储数据,因此不知道如何加载它。

问题1:有没有非PHD的方法可以做到这一点?从多边形网格创建元球模型。问题 2:有没有人使用过 binvox 中的上述 .raw 文件格式,如果使用过,如何使用?

0 投票
1 回答
496 浏览

graphics - 什么是体积射线投射中的射线相干性?

任何定义该术语的免费论文/教程将不胜感激(谷歌在免费部分没有太多帮助)。

0 投票
1 回答
1535 浏览

c++ - 读取原始 3D 纹理并切片立方体

使用以下命令读取原始 3d(256x256x256 单元)纹理(8 位):

图像 rgba 在哪里

我现在想在某个垂直方向“切片”立方体并显示数据:

抓住这些切片的聪明方法是什么?我试图弄清楚如何使用循环来获取数据,但我不确定数据是如何组织的,而且我不觉得这个循环是微不足道的。

我可以将数据映射成更简单的格式,以便使用直观的切片语法吗?

0 投票
2 回答
1753 浏览

opengl - 体积渲染:如何将 .raw 文件转换为对 opengl 友好的等值面?

我想使用行进四面体创建 .raw 体积医疗数据集的 3D 可视化器。

在 GPL 许可证上发现这个实现看起来不错,并且基于 Paul Bourke 的信息,但我不知道如何使用 .raw 文件,我发现人们将其加载为 3d 纹理

我不知道我是否应该:a)直接从 pValue 访问值 b)在将它们加载到 3D 纹理后访问它们

我不知道我应该如何索引 pVolume 以获得每个 x、y、z 的等值面强度。如果 pVolume 是一维数组。我知道 x,y 坐标是使用除法和模块从一维数组映射的,但是我将如何映射 x,y,z?

另一方面,如果我将 .raw 文件加载为 3d 纹理会

glTexCoord3f

给我给定 x,y,z 的等值?

澄清:问题不是“OpenGL 可以直接从中绘制等值面吗?” 问题是如何索引 .raw 几何上的等值线,这是正确评估每个四面体所必需的。在图像上,可以看到每个四面体情况都根据等值面是高于还是低于它来标记。等值面在 .raw 文件上的 x、y、z 坐标上进行索引,如何为数据集上的每个 x、y、z 访问它?glTexCoord3f 会在给定的 x、y、z 上给我它的强度吗?直接从 pVolume 数组进行 ax,y,z 转换会更好吗?

在此处输入图像描述

0 投票
1 回答
1053 浏览

c - C- 在一维字节数组中索引 x,y,z 坐标

我想评估曲面的值以实现行进四面体算法,但我不明白如何使用 .raw 未格式化的数据。

在将带有卷数据集的 .raw 文件加载到 1D 字节数组中后,应该应用什么算术变换来从中获取与 X、Y、Z 关联的值?这是我知道加载 .raw 文件的唯一方法,我可以创建一个 3D 字节数组而不是这个吗?如何?

0 投票
1 回答
976 浏览

c++ - 从 .raw 文件加载 3D 字节数组

与我之前的问题一样,我有兴趣将卷数据集的 .raw 文件加载到字节数组中。我认为在索引 X、Y、Z 坐标时使用 3D 字节数组会使事情变得更容易,但我不确定我应该用来加载卷的读取大小。这个大小声明是否允许我正确索引卷数据?

0 投票
1 回答
464 浏览

c++ - 在一维数组中索引不规则网格 X、Y、Z 坐标

与我之前的问题一样,我正在加载一个带有 .raw 文件的体积数据的一维数组。Jonathan Leffler 的回答被证明是有帮助的,但现在我正在使用不同维度的体积数据集(X、Y、Z 不一样)。How would the formula be generalized?

0 投票
1 回答
20345 浏览

opengl - 使用光线投射算法进行体积渲染(使用 glsl)

我正在使用光线投射算法学习体积渲染。我在这里找到了一个很好的演示和教程。但问题是我有一个 ATI 显卡而不是 nVidia,这使我无法在演示中使用 cg 着色器,所以我想将 cg 着色器更改为 glsl 着色器。看过OpenGL的红皮书(7版),但是对glsl和cg不熟悉。有人可以帮我将演示中的 cg 着色器更改为 glsl 吗?或者是否有任何材料可以使用光线投射(当然在 glsl 中)进行最简单的体积渲染演示。 是演示的cg着色器。它可以在我朋友的 nVidia 显卡上运行。最让我困惑的是,我不知道如何将 cg 的入口部分翻译成 glsl,例如:

更重要的是,我可以编写一个程序将具有 2 个纹理单元的 2 个纹理对象绑定到着色器,前提是我在绘制屏幕时分配了两个 texcoord,例如

glMultiTexCoord2f(GL_TEXTURE0, 1.0, 0.0);

glMultiTexCoord2f(GL_TEXTURE1, 1.0, 0.0);

在演示中,程序将绑定到两个纹理(一个 2D 对应backface_buffer一个 3D volume texture),但只有一个纹理单元,glMultiTexCoord3f(GL_TEXTURE1, x, y, z);我认为该GL_TEXTURE1单元用于体积纹理,但哪一个(纹理单元)用于backface_buffer?据我所知,为了在着色器中绑定纹理 obj,我必须获得一个纹理单元来绑定,例如:

该程序编译良好并且链接正常。但我只得到了所有三个位置(texloc、volume_texloc 和stepsizeloc)中的-1。我知道它可能会被优化。任何人都可以帮我将 cg 着色器转换为 glsl 着色器吗?

编辑:如果您对使用 glsl 的现代 OpenGL API 实现(C++ 源代码)感兴趣:Volume_Rendering_Using_GLSL