Отображение нескольких изображений с использованием одного краеугольного объекта - PullRequest
0 голосов
/ 11 марта 2019

Я пытаюсь реализовать представление с несколькими загруженными изображениями (скажем, 4 * 4 изображения в одном элементе) с использованием cornerstonejs / tools.Мне не нужно сохранять состояния для всех этих изображений, кроме первого.Для этого изображения у меня уже есть менеджер состояния и краеугольный элемент.

Насколько я знаю, в базовых инструментах нет инструмента, который позволял бы показывать несколько изображений на одном холсте.Каков будет правильный путь реализации этого?Моя идея состоит в том, чтобы загрузить отдельные краеугольные объекты для отдельных изображений и, таким образом, использовать разные холсты для каждого изображения, как показано в этом примере из здесь .

<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 голосов
/ 11 апреля 2019

Лучше всего, как вы предлагаете, создать отдельный элемент, включающий краеугольный камень, для каждого стека вида / изображения / изображения. Cornerstone внутренне использует включенный элемент для отслеживания различных вещей, таких как события, масштабирование изображения / окна / уровень, а также определение размера изображения на основе элемента canvas, поэтому попытка заставить несколько изображений отображаться в одном и том же элементе будет очень грязной.

...