ohif-viewer/Packages/ohif-lesiontracker/client/tools.js

57 lines
1.8 KiB
JavaScript
Raw Normal View History

2017-01-16 21:34:06 +01:00
import { Meteor } from 'meteor/meteor';
import { Viewerbase } from 'meteor/ohif:viewerbase';
Meteor.startup(function() {
2017-01-16 21:34:06 +01:00
const toolManager = Viewerbase.toolManager;
toolManager.addTool('bidirectional', {
mouse: cornerstoneTools.bidirectional,
touch: cornerstoneTools.bidirectionalTouch
});
2015-11-09 14:08:50 +01:00
toolManager.addTool('nonTarget', {
mouse: cornerstoneTools.nonTarget,
touch: cornerstoneTools.nonTargetTouch
});
toolManager.addTool('scaleOverlayTool', {
mouse: cornerstoneTools.scaleOverlayTool,
touch: cornerstoneTools.scaleOverlayTool
});
toolManager.addTool('deleteLesionKeyboardTool', {
mouse: cornerstoneTools.deleteLesionKeyboardTool,
touch: cornerstoneTools.deleteLesionKeyboardTool
});
toolManager.addTool('targetCR', {
mouse: cornerstoneTools.targetCR,
touch: cornerstoneTools.targetCRTouch
});
toolManager.addTool('targetUN', {
mouse: cornerstoneTools.targetUN,
touch: cornerstoneTools.targetUNTouch
});
// Update default state for tools making sure each tool is only inserted once
let currentDefaultStates = toolManager.getToolDefaultStates();
let newDefaultStates = {
2016-12-29 22:01:30 +01:00
enable: [ 'scaleOverlayTool' ],
2017-11-10 10:41:18 +01:00
deactivate: ['bidirectional', 'nonTarget', 'length', 'targetCR', 'targetUN'],
activate: ['deleteLesionKeyboardTool']
};
2017-11-10 10:41:18 +01:00
Object.keys(newDefaultStates).forEach(state => {
newDefaultStates[state].forEach(tool => {
let tools = currentDefaultStates[state];
// make sure each tool is only inserted once
if (tools && tools.indexOf(tool) < 0) {
tools.push(tool);
}
});
2017-11-10 10:41:18 +01:00
});
toolManager.setToolDefaultStates(currentDefaultStates);
});