我正在尝试使用开源项目之一进行体积渲染。我想从我的 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 使用的方法,我认为这是将图像体积数据转换为表面数据的常用方法。 (参见 this 和 this。)
创建表面数据(三 Angular 形、索引)后,您需要将其组织成 Papaya 可以读取的格式。 VTK可能是最简单的,但这里是 supported formats 的完整列表.
关于javascript - 如何使用 Papaya 在 JavaScript 中使用多个 DICOM 文件创建表面文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50293972/