Merge branch 'master' into vtk-extension-changes
This commit is contained in:
commit
1bf199786c
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@ohif/extension-cornerstone",
|
"name": "@ohif/extension-cornerstone",
|
||||||
"version": "0.0.34",
|
"version": "0.0.36",
|
||||||
"description": "OHIF extension for Cornerstone",
|
"description": "OHIF extension for Cornerstone",
|
||||||
"author": "OHIF",
|
"author": "OHIF",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|||||||
@ -47,10 +47,6 @@ const mapDispatchToProps = (dispatch, ownProps) => {
|
|||||||
dispatch(setViewportSpecificData(viewportIndex, data));
|
dispatch(setViewportSpecificData(viewportIndex, data));
|
||||||
},
|
},
|
||||||
|
|
||||||
clearViewportSpecificData: () => {
|
|
||||||
dispatch(clearViewportSpecificData(viewportIndex));
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Our component "enables" the underlying dom element on "componentDidMount"
|
* Our component "enables" the underlying dom element on "componentDidMount"
|
||||||
* It listens for that event, and then emits the enabledElement. We can grab
|
* It listens for that event, and then emits the enabledElement. We can grab
|
||||||
|
|||||||
@ -54,31 +54,60 @@ class OHIFCornerstoneViewport extends Component {
|
|||||||
StackManager.clearStacks();
|
StackManager.clearStacks();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Obtain the CornerstoneTools Stack for the specified display set.
|
||||||
|
*
|
||||||
|
* @param {Object[]} studies
|
||||||
|
* @param {String} studyInstanceUid
|
||||||
|
* @param {String} displaySetInstanceUid
|
||||||
|
* @param {String} [sopInstanceUid]
|
||||||
|
* @param {Number} [frameIndex=1]
|
||||||
|
* @return {Object} CornerstoneTools Stack
|
||||||
|
*/
|
||||||
static getCornerstoneStack(
|
static getCornerstoneStack(
|
||||||
studies,
|
studies,
|
||||||
studyInstanceUid,
|
studyInstanceUid,
|
||||||
displaySetInstanceUid,
|
displaySetInstanceUid,
|
||||||
sopInstanceUid,
|
sopInstanceUid,
|
||||||
frameIndex
|
frameIndex = 0
|
||||||
) {
|
) {
|
||||||
|
if (!studies || !studies.length) {
|
||||||
|
throw new Error('Studies not provided.');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!studyInstanceUid) {
|
||||||
|
throw new Error('StudyInstanceUID not provided.')
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!displaySetInstanceUid) {
|
||||||
|
throw new Error('StudyInstanceUID not provided.')
|
||||||
|
}
|
||||||
|
|
||||||
// Create shortcut to displaySet
|
// Create shortcut to displaySet
|
||||||
const study = studies.find(
|
const study = studies.find(
|
||||||
study => study.studyInstanceUid === studyInstanceUid
|
study => study.studyInstanceUid === studyInstanceUid
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if (!study) {
|
||||||
|
throw new Error('Study not found.');
|
||||||
|
}
|
||||||
|
|
||||||
const displaySet = study.displaySets.find(set => {
|
const displaySet = study.displaySets.find(set => {
|
||||||
return set.displaySetInstanceUid === displaySetInstanceUid;
|
return set.displaySetInstanceUid === displaySetInstanceUid;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (!displaySet) {
|
||||||
|
throw new Error('Display Set not found.');
|
||||||
|
}
|
||||||
|
|
||||||
// Get stack from Stack Manager
|
// Get stack from Stack Manager
|
||||||
const storedStack = StackManager.findOrCreateStack(study, displaySet);
|
const storedStack = StackManager.findOrCreateStack(study, displaySet);
|
||||||
|
|
||||||
// Clone the stack here so we don't mutate it
|
// Clone the stack here so we don't mutate it
|
||||||
const stack = Object.assign({}, storedStack);
|
const stack = Object.assign({}, storedStack);
|
||||||
|
stack.currentImageIdIndex = frameIndex;
|
||||||
|
|
||||||
if (frameIndex !== undefined) {
|
if (sopInstanceUid) {
|
||||||
stack.currentImageIdIndex = frameIndex;
|
|
||||||
} else if (sopInstanceUid) {
|
|
||||||
const index = stack.imageIds.findIndex(imageId => {
|
const index = stack.imageIds.findIndex(imageId => {
|
||||||
const sopCommonModule = cornerstone.metaData.get(
|
const sopCommonModule = cornerstone.metaData.get(
|
||||||
'sopCommonModule',
|
'sopCommonModule',
|
||||||
@ -94,10 +123,8 @@ class OHIFCornerstoneViewport extends Component {
|
|||||||
if (index > -1) {
|
if (index > -1) {
|
||||||
stack.currentImageIdIndex = index;
|
stack.currentImageIdIndex = index;
|
||||||
} else {
|
} else {
|
||||||
stack.currentImageIdIndex = 0;
|
console.warn('SOPInstanceUID provided was not found in specified DisplaySet');
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
stack.currentImageIdIndex = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return stack;
|
return stack;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user