Ошибка JS в краеугольном камне Javascript: apiTool не является конструктором

Я пробую краеугольную библиотеку js. В котором я пытаюсь использовать некоторые краеугольные инструменты

Все, что я делаю, используя обычный JS.

Ниже мой код:

HTML

      <div class="cornerstone-element-wrapper">
  <div class="cornerstone-element" data-index="0" oncontextmenu="return false"></div>
</div>

JS

      // Setup image loader
cornerstoneWebImageLoader.external.cornerstone = cornerstone;
cornerstone.registerImageLoader('http', cornerstoneWebImageLoader.loadImage)
cornerstone.registerImageLoader('https', cornerstoneWebImageLoader.loadImage)
 
// Setup tools
csTools = cornerstoneTools.init();
  
// Enable Element
const element = document.querySelector('.cornerstone-element');
cornerstone.enable(element);

// Display an image
const imageId = 'https://cdn.pixabay.com/photo/2015/04/23/22/00/tree-736885_960_720.jpg';
cornerstone.loadImage(imageId).then(function (image) {
  cornerstone.displayImage(element, image); 
 
}); 
 
// Freehand ROI 
// Add our tool, and set it's mode
const FreehandRoiTool = cornerstoneTools.FreehandRoiTool;
 
csTools.addTool(FreehandRoiTool)
csTools.setToolActive('FreehandRoi', { mouseButtonMask: 1 })

насколько я мог понять документы, я не вижу никакой ошибки в приведенном выше коде. но все равно в консоли отображается следующая ошибка.

Uncaught TypeError: apiTool не является конструктором

Ниже приведен скрипт JS приведенного выше кода:

Скрипка

2 ответа

Проведя некоторые исследования, я обнаружил, что FreehandRoiToolфункция отсутствует в краеугольном камне. Итак, я решил свою проблему, используя функцию FreehandMouseTool, и, кажется, теперь все работает нормально.

Вот следующий код, который я изменил.

      // Setup image loader
cornerstoneWebImageLoader.external.cornerstone = cornerstone;
cornerstone.registerImageLoader('http', cornerstoneWebImageLoader.loadImage)
cornerstone.registerImageLoader('https', cornerstoneWebImageLoader.loadImage)
 
// Setup tools
csTools = cornerstoneTools.init();
console.log(cornerstoneTools);
// Enable Element
const element = document.querySelector('.cornerstone-element');
cornerstone.enable(element);

// Display an image
const imageId = 'https://cdn.pixabay.com/photo/2015/04/23/22/00/tree-736885_960_720.jpg';
cornerstone.loadImage(imageId).then(function (image) {
  cornerstone.displayImage(element, image);  
}); 
 
// Freehand ROI 
// Add our tool, and set it's mode
const FreehandMouseTool = cornerstoneTools.FreehandMouseTool;
 
csTools.addTool(FreehandMouseTool)
csTools.setToolActive('FreehandMouse', { mouseButtonMask: 1 })
 

Вы можете использоватьFreehandRoiToolфункция, когда требуется добавить инструмент для рисования точек на медицинских изображениях с возможностью последующего сохранения координат. Например, когда вы хотите использовать его для проектов машинного обучения. Имейте в виду, что это может измениться в зависимости от того, выполняется ли это для браузера или мобильной среды .

      // Init cornerstone tools
cornerstoneTools.init();

// Enable any elements, and display images
// ...

// Add our tool, and set it's mode
const FreehandRoiTool = cornerstoneTools.FreehandRoiTool;

cornerstoneTools.addTool(FreehandRoiTool)
cornerstoneTools.setToolActive('FreehandRoi', { mouseButtonMask: 1 })
Другие вопросы по тегам