我目前正在写我的学士论文,关于在浏览器中显示三维医学数据。因此,我正在编写一个应用程序,可以显示DICOM图像和网格。
据我所见,目前DICOM的体绘制在XTK上比使用ami.js更好。在ami.js中的DICOMs的3D渲染被证明不是非常有用的(只有最大)。12 fps)。我试着呈现DICOM,就像第6课卷呈现示例中的那样。
,所以我的问题是:
我如何组合这两个框架,以便我可以使用XTK的3D体绘制的DICOM,但所有其他功能来自ami.js?
或者,如何使用ami.js的体绘制,这样就可以了?
发布于 2018-03-16 08:26:23
编辑:(2)中建议的改进已经实现,并在singlepass上运行。
AMI和XTK使用不同的技术进行体绘制:
阿美投资支持:
XTK支持:
根据您的需要,我建议只使用一个框架。
您看过AMI:singlepass的卷呈现吗?
可以使用许多技术来提高性能:
AMI VR示例实现(1)。
执行(2):
用setPixelRatio初始化THREEJS渲染器
threeD = document.getElementById('r3d');
renderer = new THREE.WebGLRenderer({
alpha: true,
});
renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(threeD.offsetWidth, threeD.offsetHeight);在一个地方编辑onStart():
// vrHelper.uniforms.uSteps.value = Math.floor(myStack.steps / 2);
// vrHelper.interpolation = 0;
renderer.setPixelRatio(.1 * window.devicePixelRatio);
renderer.setSize(threeD.offsetWidth, threeD.offsetHeight);在一个位置编辑onEnd():
// vrHelper.uniforms.uSteps.value = myStack.steps;
// vrHelper.interpolation = myStack.interpolation;
renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(threeD.offsetWidth, threeD.offsetHeight);在两个位置编辑onWheel():
// vrHelper.uniforms.uSteps.value = Math.floor(myStack.steps / 2);
// vrHelper.interpolation = 0;
renderer.setPixelRatio(.1 * window.devicePixelRatio);
renderer.setSize(threeD.offsetWidth, threeD.offsetHeight);和
wheelTO = setTimeout(function() {
// vrHelper.uniforms.uSteps.value = myStack.steps;
// vrHelper.interpolation = myStack.interpolation;
renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(threeD.offsetWidth, threeD.offsetHeight);HTH,
https://stackoverflow.com/questions/49315482
复制相似问题