javascript - 如何使用 Papaya 在 JavaScript 中使用多个 DICOM 文件创建表面文件?

标签 javascript dicom volume-rendering papaya

我正在尝试使用开源项目之一进行体积渲染。我想从我的 DICOM 图像创建一个表面文件。我知道这可以通过使用 mango viewer exe 来实现;但我想用javascript来做。请帮助我。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
    <link rel="stylesheet" type="text/css" href="papaya.css" />
    <script type="text/javascript" src="papaya.js"></script>
    <script type="text/javascript">
        var finalImages = [];
        var images = window.opener.imageIds;
        for (var i = 0; i < images.length; i++)
        {
            if (images[i].substr(0, 8) == "dicomweb")
            {
                temp = images[i].substr(9, images[i].length);
                //images[i] = "http:" + images[i];
                finalImages.push("http:" + temp);
            }
        }
        var params = [];
        params["images"] = [finalImages];
        params["surfaces"] = [];       
    </script>
    <title>Papaya Viewer</title>
</head>
<body>
<div class="papaya" data-params="params">
</div>
</body>
</html>

最佳答案

不幸的是,Papaya 只支持读取 表面文件(VTK、GIFTI 等)而不生成它们。

如果您想自己用 JavaScript 完成,请查看 Marching Cubes .这就是 Mango 使用的方法,我认为这是将图像体积数据转换为表面数据的常用方法。 (参见 thisthis。)

创建表面数据(三 Angular 形、索引)后,您需要将其组织成 Papaya 可以读取的格式。 VTK可能是最简单的,但这里是 supported formats 的完整列表.

关于javascript - 如何使用 Papaya 在 JavaScript 中使用多个 DICOM 文件创建表面文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50293972/

相关文章:

matlab - 在 3D 体积数据中创建圆柱体

OpenGL如何从平截头体对齐向量计算世界空间坐标?

javascript - ng-repeat 更新所有表单

javascript - 在严格模式下实现智能/自覆盖/惰性 setter/getter

python - 在原生Python中解析DICOM文件

c# - Fellow Oak DICOM - 更改图像窗口级别

javascript - Ionic 2 - 动态改变状态栏的颜色

javascript - 语法错误 : Failed to execute 'querySelector' on 'Document' : '[object HTMLDocument]' is not a valid selector

image - Matlab DICOM 切片

opengl - 将 2D 图像堆栈转换为 3D 图像,体积渲染