By default other tool state not loaded into the viewport. (set disabled)

This commit is contained in:
James A. Petts committed 2020-06-15 13:09:48 +02:00
1 parent e7501933dd
commit 00f0ae4bbc
6 files changed
+96 -14

No files matched your search

@@ -1,6 +1,7 @@
import React, { useEffect, useState } from 'react';
import PropTypes from 'prop-types';
import cornerstoneTools from 'cornerstone-tools';
import cornerstone from 'cornerstone-core';
import CornerstoneViewport from 'react-cornerstone-viewport';
import OHIF from '@ohif/core';
@@ -8,6 +9,10 @@ import { ViewportActionBar, useViewportGrid } from '@ohif/ui';
import TOOL_NAMES from './constants/toolNames';
import id from './id';
const BaseAnnotationTool = cornerstoneTools.importInternal(
'base/BaseAnnotationTool'
);
// const cine = viewportSpecificData.cine;
// isPlaying = cine.isPlaying === true;
@@ -33,19 +38,65 @@ function OHIFCornerstoneSRViewport({
const onElementEnabled = evt => {
const eventData = evt.detail;
const { element } = eventData;
const targetElement = eventData.element;
debugger;
// TODO -> This will only be temporary until we set a tool on, and isn't very customizable.
const globalTools = cornerstoneTools.store.state.globalTools;
const toolNames = Object.keys(globalTools);
Object.keys(globalTools).forEach(globalToolName => {
cornerstoneTools.setToolDisabledForElement(targetElement, globalToolName);
});
debugger;
cornerstoneTools.setToolEnabledForElement(
targetElement,
TOOL_NAMES.DICOM_SR_DISPLAY_TOOL
);
cornerstoneTools.setToolActiveForElement(targetElement, 'PanMultiTouch', {
pointers: 2,
});
cornerstoneTools.setToolActiveForElement(
targetElement,
'ZoomTouchPinch',
{}
);
cornerstoneTools.setToolActiveForElement(targetElement, 'Wwwc', {
mouseButtonMask: 1,
});
cornerstoneTools.setToolActiveForElement(targetElement, 'Pan', {
mouseButtonMask: 4,
});
cornerstoneTools.setToolActiveForElement(targetElement, 'Zoom', {
mouseButtonMask: 2,
});
cornerstoneTools.setToolActiveForElement(
targetElement,
'StackScrollMouseWheel',
{}
);
setTrackingUniqueIdentifiersForElement(targetElement);
setElement(targetElement);
};
const setTrackingUniqueIdentifiersForElement = targetElement => {
const { measurements } = displaySet;
const srModule = cornerstoneTools.getModule(id);
srModule.setters.trackingUniqueIdentifiersForElement(
element,
targetElement,
measurements.map(measurement => measurement.TrackingUniqueIdentifier),
measurementSelected
);
setElement(element);
};
useEffect(() => {
@@ -85,17 +136,34 @@ function OHIFCornerstoneSRViewport({
).then(({ viewportData, activeDisplaySetData }) => {
setViewportData({ ...viewportData });
setActiveDisplaySetData({ ...activeDisplaySetData });
if (element !== null) {
cornerstone.updateImage(element);
}
});
};
useEffect(() => {
updateViewport();
if (element !== null) {
debugger;
setTrackingUniqueIdentifiersForElement(element);
}
}, [
dataSource,
displaySet,
displaySet.StudyInstanceUID,
displaySet.displaySetInstanceUID,
]);
useEffect(() => {
updateViewport();
}, [
measurementSelected,
dataSource,
displaySet,
displaySet.StudyInstanceUID,
displaySet.displaySetInstanceUID,
element,
]);
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -142,8 +210,6 @@ function OHIFCornerstoneSRViewport({
SeriesNumber,
} = activeDisplaySetData;
debugger;
const onMeasurementChange = direction => {
let newMeausrementSelected = measurementSelected;
@@ -306,8 +372,6 @@ async function _getViewportAndActiveDisplaySetData(
SeriesNumber: image0.SeriesNumber,
};
debugger;
return { viewportData, activeDisplaySetData };
}
@@ -9,6 +9,7 @@ const draw = importInternal('drawing/draw');
const drawJoinedLines = importInternal('drawing/drawJoinedLines');
const drawCircle = importInternal('drawing/drawCircle');
const drawEllipse = importInternal('drawing/drawEllipse');
const drawHandles = importInternal('drawing/drawHandles');
const getNewContext = importInternal('drawing/getNewContext');
const BaseTool = importInternal('base/BaseTool');
@@ -1,13 +1,14 @@
import cornerstoneTools from 'cornerstone-tools';
import cornerstoneMath from 'cornerstone-math';
import cornerstone from 'cornerstone-core';
import TOOL_NAMES from '../constants/toolNames';
import SCOORD_TYPES from '../constants/scoordTypes';
import { cornerstone } from '../../../../platform/core/src';
window.cornerstone = cornerstone;
const globalImageIdSpecificToolStateManager =
cornerstoneTools.globalImageIdSpecificToolStateManager;
console.log(globalImageIdSpecificToolStateManager);
export default function addMeasurement(
measurement,
imageId,