Ошибка 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 })