使用单个基石对象显示多个图像

时间:2019-03-11 15:16:24

标签: javascript canvas cornerstone

我正在尝试使用Cornerstonejs /工具实现加载了多个图像的视图(假设一个元素中有4 * 4个图像)。除了第一个图像外,我不需要为所有这些图像保存状态。对于此图像,我已经有一个状态管理器和一个基石元素。

据我所知,基石工具中没有工具可以在同一画布上显示多个图像。实施此方法的正确方法是什么? 我的想法是为单独的图像加载单独的基石对象,从而为每个图像使用不同的画布,如here中的示例所示。

<script>
    // image enable the elements
    const mr1 = document.getElementById('mr1');
    cornerstone.enable(mr1);
    const mr2 = document.getElementById('mr2');
    cornerstone.enable(mr2);
    const ct1 = document.getElementById('ct1');
    cornerstone.enable(ct1);
    // load and display the images
    cornerstone.loadAndCacheImage('example://1').then(function(image) {
        cornerstone.displayImage(mr1, image);
    });
    cornerstone.loadAndCacheImage('example://2').then(function(image) {
        cornerstone.displayImage(mr2, image);
    });
    cornerstone.loadAndCacheImage('ctexample://1').then(function(image) {
        cornerstone.displayImage(ct1, image);
    });
</script>

有没有更好的方法来实现此目的,我不必为每个图像创建基石对象,而是为图像具有独立的基本功能(不需要保存的缩放,平移等)。

1 个答案:

答案 0 :(得分:0)

最好的方法是根据您的建议,为每个视口/图像/图像堆栈创建一个启用了基石的单独元素。 Cornerstone内部使用启用的元素来跟踪各种事件,例如事件,图像缩放/窗口/级别,以及基于canvas元素调整图像的大小,因此,试图强制多个图像显示在同一元素中将非常混乱。 / p>