Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xtk 从体积中获取体素的值_Xtk - Fatal编程技术网

Xtk 从体积中获取体素的值

Xtk 从体积中获取体素的值,xtk,Xtk,我需要一个函数来从X.volume对象获取体素(3d像素)的值,给定X,y,z坐标作为输入。这是使用标签映射作为atlas函数的参考。有办法做到这一点吗 非常感谢, 爱德华目前没有,尽管XTK开发人员正在创建类似于中所述的东西,尽管我相信他们正在做的是一个非投影函数和光线/三角形相交测试。光线/三角形相交测试只是将光线从屏幕投射到3d世界,并返回第一个相交的三角形坐标,但当然需要找到体素。您可以尝试创建一个未投影函数和类似于光线/三角形交点的东西,但可以查找最近的相交体素,而不是三角形。这里有一

我需要一个函数来从X.volume对象获取体素(3d像素)的值,给定X,y,z坐标作为输入。这是使用标签映射作为atlas函数的参考。有办法做到这一点吗

非常感谢,


爱德华

目前没有,尽管XTK开发人员正在创建类似于中所述的东西,尽管我相信他们正在做的是一个非投影函数和光线/三角形相交测试。光线/三角形相交测试只是将光线从屏幕投射到3d世界,并返回第一个相交的三角形坐标,但当然需要找到体素。您可以尝试创建一个未投影函数和类似于光线/三角形交点的东西,但可以查找最近的相交体素,而不是三角形。这里有一个Unproject函数的帮助,但是请记住链接解释了OpenGL的GluUnproject,但仍然解释了我们需要做什么,我们只是为WebGL制作了GluUnproject的替代版本。如果您能为XTK提供任何解决方案,我们将不胜感激。或者您可以等待未投影函数,该函数可能来自查找三维坐标的相关问题。

您的(x,y,z)是什么?它们是世界坐标还是体积坐标?在这两种情况下,都可以计算出一个解决方案(在第一种情况下会稍微复杂一点),但我认为需要对源代码进行一些更改

您想在源代码中编写一些代码并参与其中吗?这将是伟大的xtk用户像我们一样!您只需遍历卷的层次结构并执行一些操作:

  • 如果(x,y,z)是世界基准的坐标:复杂。必须做一些测试:-)
  • 选择一个工作方向(1个卷可以有3个方向的切片),对于第一个方向的ex-slicesX
  • 通过体积的中心X坐标、体积X间距和拾取点的X坐标,可以在切片X中找到好的切片
  • 通过体积的中心(y,z),体积y和z间距以及拾取点的y和z坐标在choosen切片的纹理贴图上获得(x',y')坐标
  • 使用choosen切片的纹理大小获取(x'',y'')切片纹理图像上的坐标
  • 读取纹理的(x'',y'')点

很抱歉,本周我没有时间进一步查看,但可能以后再看。

此链接还将解释更多内容,包括多边形相交的解释。我还不知道xtk的体积,但它是纹理的集合,因此可能会更复杂。您好,谢谢您的帮助,世界坐标和图像坐标是相同的,因为我的体积是MNI空间中的大脑,我移动体积,使前连合与原点对齐。所以我的问题更简单,我可以互换使用世界坐标和图像坐标。我需要做的就是读取x,y,z位置的体素值。Ricola如果我理解正确,可以使用z坐标选择正确的纹理切片,然后使用x和y读取该纹理上的像素值。这是我不知道该怎么做的一步。再次感谢。在解析过程中,我们确实为卷提供了一个3d数组,因此我们可以将其公开。嗨,各位,这个问题已经有解决方案了吗?如果有这个功能就好了。