cornerstonejs / cornerstoneTools

A framework for tools built on top of Cornerstone.
https://tools.cornerstonejs.org/
MIT License
577 stars 452 forks source link

csTools.addTool is not a function #1116

Closed pmd23 closed 4 years ago

pmd23 commented 4 years ago

Prerequisites

Description

Steps to Reproduce the issue

I am trying to apply LengthTool which is as per demo. but i am getting an error

Expected behavior: (What you expected to happen)

cornerstoneWebImageLoader.external.cornerstone = cornerstone;
cornerstone.registerImageLoader('http', cornerstoneWebImageLoader.loadImage)
cornerstone.registerImageLoader('https', cornerstoneWebImageLoader.loadImage)

// Setup tools
var csTools = cornerstoneTools.init;

// Enable Element

var element = document.querySelector('.cornerstone-element');
cornerstone.enable(element);
// Add Tool
var LengthTool = cornerstoneTools['LengthTool'];
csTools.addTool(LengthTool); <<-- error here

// Set Tool Active
console.log(csTools.store)
csTools.setToolActive('Length', { mouseButtonMask: 1 });
// Display an image
var imageId = "https://www.asteris.biz/Keystone/ImageDownload.aspx?ClinicCode=TESTKEYSTONE&ImageId=01b1755e-33d1-4b24-b9af-a4a019689d5f&ImageType=PreviewImage&FrameIndex=0";
cornerstone.loadImage(imageId).then(function (image) {
  cornerstone.displayImage(element, image);
});
 TypeError: csTools.addTool is not a function
    at new <anonymous> (controllers.js:46)

also i am not able to call the init() function like this. in my code you can see how i can calling it var csTools = cornerstoneTools.init if i call like this var csTools = cornerstoneTools.init() it will gives me an error init() undefined. Actual behavior: (What actually happened) can you please let me know what i am missing?

CodeSandbox With Reproduction of Issue:

dannyrb commented 4 years ago
  1. Try installing with npm install cornerstone-tools. @3 is no longer latest.
  2. The basic Template you linked to uses a different song and dance:
cornerstoneTools.init();
cornerstone.enable(element);

cornerstoneTools.addTool(cornerstoneTools.LengthTool);
cornerstoneTools.setToolActive('Length', { mouseButtonMask: 1 });