VTK文件格式是用作XTK输入的文件格式。

8
我有一个.vtk文件在远程服务器上。我通过http进行访问(我验证了文件的url是正确的,事实上我可以从浏览器下载它)。我也尝试过按照xtk volume rendering with .vtk file created from matlab建议去掉文件中的空格。
但是我收到了一个异常。
Unable to get property 'length' of undefined or null reference.

请问可以指导我应该使用哪种.vtk文件格式,以便使其顺利工作吗? 我正在按照xtk教程http://jsfiddle.net/gh/get/toolkit/edge/xtk/lessons/tree/master/05/#run进行操作,以下是我的代码。
window.onload = function () {

    // create and initialize a 3D renderer
    var r = new X.renderer3D();
    r.init();

    // create a new X.mesh
    var skull = new X.mesh();
    // .. and associate the .vtk file to it
     skull.file = 'http://localhost/startup/bunnycheck.vtk';  //using other .vtk file
    //skull.file = 'http://x.babymri.org/?skull.vtk';     

    // .. make it transparent
    skull.opacity = 0.5;

    // .. add the mesh
    r.add(skull);

    // re-position the camera to face the skull
    r.camera.position = [0, 400, 0];

    // animate..
    r.onRender = function () {
         r.camera.rotate([1,0]);
    };

    r.render();

};

你可以看到我编辑过的问题 :)..由于.vtk文件太大,我没有在这里上传它... - AkshayJ
是的,我可以正确下载指定的文件...但在我使用于渲染的xtk.js库中出现了异常。此外,我也按一些极客的建议移除了.vtk文件中所有的空格。 - AkshayJ
我对xtk没有太多经验,恐怕你需要深入调试库(从Chrome的“开发者工具”中分析异常的调用堆栈开始)。 - lib
调试库是我最后的选择 :(....虽然我能够让xtk库示例中显示的演示skull.vtk文件正常工作... - AkshayJ
2个回答

2

我刚遇到了一个类似的异常,问题在于文件是二进制vtk文件,但应该是ASCII格式。


1
由于只有1个文件,我只需在Paraview中打开它,然后选择正确的标志再保存即可。否则,您可以使用VTK api,在编写器中记得调用SetFileTypeToASCII()。 - lib
如何在VTK API中调用SetFileTypeToASCII()函数?我不知道怎么做。 - AkshayJ
http://www.vtk.org/Wiki/VTK/Examples/Cxx#Input_and_Output,但如果您尚未使用vtk api,则建议您只使用paraview或slicer等GUI程序。 - lib

vtk 数据文件版本 3.0

vtk 输出 ASCII 数据集 POLYDATA 点 98 浮点数.......是我的 vtk 文件的头,它表示它已经是 ASCII 格式了 :(
- AkshayJ
现在可能出了什么问题?:( - AkshayJ
显示剩余3条评论

0

你应该注意 vtk 的版本。

据我所知,xtk 无法支持 vtk9.0.1,因为在 vtk9.0.1 中,vtk 格式发生了很大的变化。
你可以回退到 vtk 版本 8.1.2 或更早的版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接