1

我正在尝试使用其中一个开源项目进行体积渲染。我想从我的 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>
4

1 回答 1

2

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

如果你想用 JavaScript 自己做,请查看Marching Cubes。这是 Mango 使用的,我认为这是将图像体积数据转换为表面数据的常用方法。(见这个这个。)

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

于 2018-05-11T15:02:59.520 回答