By default other tool state not loaded into the viewport. (set disabled)
This commit is contained in:
parent
e7501933dd
commit
00f0ae4bbc
@ -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,
|
||||
|
||||
@ -93,7 +93,11 @@ export default function mode({ modeConfiguration }) {
|
||||
},
|
||||
},
|
||||
],
|
||||
extensions: ['org.ohif.default', 'org.ohif.cornerstone'],
|
||||
extensions: [
|
||||
'org.ohif.default',
|
||||
'org.ohif.cornerstone',
|
||||
'org.ohif.dicom-sr',
|
||||
],
|
||||
sopClassHandlers: [
|
||||
'org.ohif.default.sopClassHandlerModule.stack',
|
||||
'org.ohif.dicom-sr.sopClassHandlerModule.dicom-sr',
|
||||
|
||||
@ -10,6 +10,11 @@ const tracked = {
|
||||
viewport: 'org.ohif.measurement-tracking.viewportModule.cornerstone-tracked',
|
||||
};
|
||||
|
||||
const dicomsr = {
|
||||
sopClassHandler: 'org.ohif.dicom-sr.sopClassHandlerModule.dicom-sr',
|
||||
viewport: 'org.ohif.dicom-sr.viewportModule.dicom-sr',
|
||||
};
|
||||
|
||||
export default function mode({ modeConfiguration }) {
|
||||
return {
|
||||
// TODO: We're using this as a route segment
|
||||
@ -60,6 +65,10 @@ export default function mode({ modeConfiguration }) {
|
||||
namespace: tracked.viewport,
|
||||
displaySetsToDisplay: [ohif.sopClassHandler],
|
||||
},
|
||||
{
|
||||
namespace: dicomsr.viewport,
|
||||
displaySetsToDisplay: [dicomsr.sopClassHandler],
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
@ -70,8 +79,9 @@ export default function mode({ modeConfiguration }) {
|
||||
'org.ohif.default',
|
||||
'org.ohif.cornerstone',
|
||||
'org.ohif.measurement-tracking',
|
||||
'org.ohif.dicom-sr',
|
||||
],
|
||||
sopClassHandlers: [ohif.sopClassHandler],
|
||||
sopClassHandlers: [ohif.sopClassHandler, dicomsr.sopClassHandler],
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@ -6,6 +6,8 @@ import fetchPaletteColorLookupTableData from '../utils/metadataProvider/fetchPal
|
||||
import fetchOverlayData from '../utils/metadataProvider/fetchOverlayData';
|
||||
import DicomMetadataStore from '../services/DicomMetadataStore';
|
||||
|
||||
window.dcmjs = dcmjs;
|
||||
|
||||
class MetadataProvider {
|
||||
constructor() {
|
||||
// Define the main "metadataLookup" private property as an immutable property.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user