update
This commit is contained in:
parent
e41ba2bfde
commit
e421bc7df9
@ -155,7 +155,9 @@ const SegmentationPanel = ({
|
|||||||
|
|
||||||
const brushStackState = getBrushStackState();
|
const brushStackState = getBrushStackState();
|
||||||
brushStackState.activeLabelmapIndex = newLabelmapIndex;
|
brushStackState.activeLabelmapIndex = newLabelmapIndex;
|
||||||
setState(state => ({ ...state, selectedSegmentation }));
|
if (selectedSegmentation) {
|
||||||
|
setState(state => ({ ...state, selectedSegmentation }));
|
||||||
|
}
|
||||||
|
|
||||||
refreshViewports();
|
refreshViewports();
|
||||||
|
|
||||||
@ -189,10 +191,9 @@ const SegmentationPanel = ({
|
|||||||
'extensiondicomsegmentationsegloaded',
|
'extensiondicomsegmentationsegloaded',
|
||||||
refreshSegmentations
|
refreshSegmentations
|
||||||
);
|
);
|
||||||
|
|
||||||
document.addEventListener(
|
document.addEventListener(
|
||||||
'extensiondicomsegmentationsegloadingfailed',
|
'extensiondicomsegmentationsegselected',
|
||||||
cleanSegmentationComboBox
|
updateSegmentationComboBox
|
||||||
);
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -213,8 +214,8 @@ const SegmentationPanel = ({
|
|||||||
refreshSegmentations
|
refreshSegmentations
|
||||||
);
|
);
|
||||||
document.removeEventListener(
|
document.removeEventListener(
|
||||||
'extensiondicomsegmentationsegloadingfailed',
|
'extensiondicomsegmentationsegselected',
|
||||||
cleanSegmentationComboBox
|
updateSegmentationComboBox
|
||||||
);
|
);
|
||||||
cornerstoneTools.store.state.enabledElements.forEach(enabledElement =>
|
cornerstoneTools.store.state.enabledElements.forEach(enabledElement =>
|
||||||
enabledElement.removeEventListener(
|
enabledElement.removeEventListener(
|
||||||
@ -225,6 +226,15 @@ const SegmentationPanel = ({
|
|||||||
};
|
};
|
||||||
}, [activeIndex, viewports]);
|
}, [activeIndex, viewports]);
|
||||||
|
|
||||||
|
const updateSegmentationComboBox = (e) => {
|
||||||
|
const index = e.detail.activatedLabelmapIndex;
|
||||||
|
if (index !== -1) {
|
||||||
|
setState(state => ({ ...state, selectedSegmentation: index }));
|
||||||
|
} else {
|
||||||
|
cleanSegmentationComboBox();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const cleanSegmentationComboBox = () => {
|
const cleanSegmentationComboBox = () => {
|
||||||
setState(state => ({
|
setState(state => ({
|
||||||
...state,
|
...state,
|
||||||
|
|||||||
@ -1,117 +1,16 @@
|
|||||||
import setActiveLabelmap from './utils/setActiveLabelMap';
|
import setActiveLabelmap from './utils/setActiveLabelMap';
|
||||||
import { classes } from '@ohif/core';
|
import { getReferencedDisplaySet } from '../../../platform/core/src/classes/metadata/StudyMetadata.js';
|
||||||
|
|
||||||
const { ImageSet } = classes;
|
|
||||||
|
|
||||||
export default function getSourceDisplaySet(studies, segDisplaySet, activateLabelMap = true, onDisplaySetLoadFailureHandler) {
|
export default function getSourceDisplaySet(studies, segDisplaySet, activateLabelMap = true, onDisplaySetLoadFailureHandler) {
|
||||||
const referencedDisplaySet = _getReferencedDisplaySet(segDisplaySet, studies);
|
const referencedDisplaySet = getReferencedDisplaySet(segDisplaySet, studies);
|
||||||
|
|
||||||
|
let activatedLabelmapPromise;
|
||||||
if (activateLabelMap) {
|
if (activateLabelMap) {
|
||||||
setActiveLabelmap(referencedDisplaySet, studies, segDisplaySet, undefined, onDisplaySetLoadFailureHandler);
|
activatedLabelmapPromise = setActiveLabelmap(referencedDisplaySet, studies, segDisplaySet, undefined, onDisplaySetLoadFailureHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
return referencedDisplaySet;
|
return {
|
||||||
}
|
referencedDisplaySet : referencedDisplaySet,
|
||||||
|
activatedLabelmapPromise : activatedLabelmapPromise
|
||||||
const _getReferencedDisplaySet = (segDisplaySet, studies) => {
|
}
|
||||||
let allDisplaySets = [];
|
|
||||||
|
|
||||||
studies.forEach(study => {
|
|
||||||
allDisplaySets = allDisplaySets.concat(study.displaySets);
|
|
||||||
});
|
|
||||||
|
|
||||||
const otherDisplaySets = allDisplaySets.filter(
|
|
||||||
ds => ds.displaySetInstanceUID !== segDisplaySet.displaySetInstanceUID
|
|
||||||
);
|
|
||||||
|
|
||||||
const { metadata } = segDisplaySet;
|
|
||||||
|
|
||||||
let referencedSeriesInstanceUIDs;
|
|
||||||
|
|
||||||
if (metadata.ReferencedSeriesSequence) {
|
|
||||||
const ReferencedSeriesSequence = _toArray(
|
|
||||||
metadata.ReferencedSeriesSequence
|
|
||||||
);
|
|
||||||
|
|
||||||
referencedSeriesInstanceUIDs = ReferencedSeriesSequence.map(
|
|
||||||
ReferencedSeries => ReferencedSeries.SeriesInstanceUID
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (metadata.ReferencedImageSequence &&
|
|
||||||
(!referencedSeriesInstanceUIDs || referencedSeriesInstanceUIDs.length === 0)) {
|
|
||||||
const referencedImageArray = _toArray(metadata.ReferencedImageSequence);
|
|
||||||
for (let i = 0; i < referencedImageArray.length; i++) {
|
|
||||||
const { ReferencedSOPInstanceUID } = referencedImageArray[i];
|
|
||||||
|
|
||||||
referencedSeriesInstanceUIDs = _findReferencedSeriesInstanceUIDsFromSOPInstanceUID(
|
|
||||||
otherDisplaySets,
|
|
||||||
ReferencedSOPInstanceUID
|
|
||||||
);
|
|
||||||
|
|
||||||
if (referencedSeriesInstanceUIDs && referencedSeriesInstanceUIDs.length !== 0) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!referencedSeriesInstanceUIDs || referencedSeriesInstanceUIDs.length === 0) {
|
|
||||||
let SourceImageSequence;
|
|
||||||
|
|
||||||
if (metadata.SourceImageSequence) {
|
|
||||||
SourceImageSequence = metadata.SourceImageSequence;
|
|
||||||
} else {
|
|
||||||
const { PerFrameFunctionalGroupsSequence } = metadata;
|
|
||||||
const firstFunctionalGroups = _toArray(
|
|
||||||
PerFrameFunctionalGroupsSequence
|
|
||||||
)[0];
|
|
||||||
const { DerivationImageSequence } = firstFunctionalGroups;
|
|
||||||
|
|
||||||
SourceImageSequence = DerivationImageSequence;
|
|
||||||
}
|
|
||||||
|
|
||||||
const sourceImageArray = _toArray(SourceImageSequence);
|
|
||||||
for (let i = 0; i < sourceImageArray.length; i++) {
|
|
||||||
const { ReferencedSOPInstanceUID } = sourceImageArray[i];
|
|
||||||
|
|
||||||
referencedSeriesInstanceUIDs = _findReferencedSeriesInstanceUIDsFromSOPInstanceUID(
|
|
||||||
otherDisplaySets,
|
|
||||||
ReferencedSOPInstanceUID
|
|
||||||
);
|
|
||||||
|
|
||||||
if (referencedSeriesInstanceUIDs && referencedSeriesInstanceUIDs.length !== 0) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!referencedSeriesInstanceUIDs || referencedSeriesInstanceUIDs.length === 0) {
|
|
||||||
return undefined;
|
|
||||||
}
|
|
||||||
|
|
||||||
const referencedDisplaySet = otherDisplaySets.find(ds =>
|
|
||||||
referencedSeriesInstanceUIDs.includes(ds.SeriesInstanceUID)
|
|
||||||
);
|
|
||||||
|
|
||||||
return referencedDisplaySet;
|
|
||||||
};
|
|
||||||
|
|
||||||
const _findReferencedSeriesInstanceUIDsFromSOPInstanceUID = (
|
|
||||||
displaySets,
|
|
||||||
SOPInstanceUID
|
|
||||||
) => {
|
|
||||||
const imageSets = displaySets.filter(ds => ds instanceof ImageSet);
|
|
||||||
|
|
||||||
for (let i = 0; i < imageSets.length; i++) {
|
|
||||||
const { images } = imageSets[i];
|
|
||||||
for (let j = 0; j < images.length; j++) {
|
|
||||||
if (images[j].SOPInstanceUID === SOPInstanceUID) {
|
|
||||||
return [images[j].getData().metadata.SeriesInstanceUID];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
function _toArray(arrayOrObject) {
|
|
||||||
return Array.isArray(arrayOrObject) ? arrayOrObject : [arrayOrObject];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -55,10 +55,7 @@ export default async function setActiveLabelmap(
|
|||||||
displaySet.loadError = true;
|
displaySet.loadError = true;
|
||||||
onDisplaySetLoadFailure(error);
|
onDisplaySetLoadFailure(error);
|
||||||
|
|
||||||
const event = new CustomEvent('extensiondicomsegmentationsegloadingfailed');
|
return -1;
|
||||||
document.dispatchEvent(event);
|
|
||||||
|
|
||||||
return activeLabelmapIndex;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -13,7 +13,7 @@ import { isDisplaySetReconstructable, isSpacingUniform } from '../../utils/isDis
|
|||||||
import errorHandler from '../../errorHandler';
|
import errorHandler from '../../errorHandler';
|
||||||
import isLowPriorityModality from '../../utils/isLowPriorityModality';
|
import isLowPriorityModality from '../../utils/isLowPriorityModality';
|
||||||
|
|
||||||
export class StudyMetadata extends Metadata {
|
class StudyMetadata extends Metadata {
|
||||||
constructor(data, uid) {
|
constructor(data, uid) {
|
||||||
super(data, uid);
|
super(data, uid);
|
||||||
// Initialize Private Properties
|
// Initialize Private Properties
|
||||||
@ -241,7 +241,6 @@ export class StudyMetadata extends Metadata {
|
|||||||
referencedFrameOfReferenceUID,
|
referencedFrameOfReferenceUID,
|
||||||
} = filter;
|
} = filter;
|
||||||
|
|
||||||
let tempReferencedFrameOfReferenceUID = referencedFrameOfReferenceUID;
|
|
||||||
let filteredDerivedDisplaySets = this._derivedDisplaySets;
|
let filteredDerivedDisplaySets = this._derivedDisplaySets;
|
||||||
|
|
||||||
if (Modality) {
|
if (Modality) {
|
||||||
@ -250,50 +249,23 @@ export class StudyMetadata extends Metadata {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
let finalDerivedDisplaySets;
|
|
||||||
if (referencedSeriesInstanceUID) {
|
if (referencedSeriesInstanceUID) {
|
||||||
finalDerivedDisplaySets = filteredDerivedDisplaySets.filter(
|
filteredDerivedDisplaySets = filteredDerivedDisplaySets.filter(
|
||||||
displaySet => {
|
displaySet => {
|
||||||
if (!displaySet.metadata.ReferencedSeriesSequence) {
|
return getReferencedDisplaySet(displaySet, [this]).SeriesInstanceUID === referencedSeriesInstanceUID;
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
const ReferencedSeriesSequence = Array.isArray(
|
|
||||||
displaySet.metadata.ReferencedSeriesSequence
|
|
||||||
)
|
|
||||||
? displaySet.metadata.ReferencedSeriesSequence
|
|
||||||
: [displaySet.metadata.ReferencedSeriesSequence];
|
|
||||||
|
|
||||||
return ReferencedSeriesSequence.some(
|
|
||||||
ReferencedSeries =>
|
|
||||||
ReferencedSeries.SeriesInstanceUID === referencedSeriesInstanceUID
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((!finalDerivedDisplaySets || finalDerivedDisplaySets.length === 0)
|
if (referencedFrameOfReferenceUID) {
|
||||||
&& !tempReferencedFrameOfReferenceUID) {
|
filteredDerivedDisplaySets = filteredDerivedDisplaySets.filter(
|
||||||
const referencedDisplaySets = this._displaySets.filter(
|
|
||||||
displaySet =>
|
|
||||||
displaySet.SeriesInstanceUID ===
|
|
||||||
referencedSeriesInstanceUID
|
|
||||||
);
|
|
||||||
|
|
||||||
if (referencedDisplaySets[0]) {
|
|
||||||
tempReferencedFrameOfReferenceUID = referencedDisplaySets[0].images[0]._study.FrameOfReferenceUID
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (tempReferencedFrameOfReferenceUID) {
|
|
||||||
finalDerivedDisplaySets = filteredDerivedDisplaySets.filter(
|
|
||||||
displaySet =>
|
displaySet =>
|
||||||
displaySet.FrameOfReferenceUID ===
|
displaySet.FrameOfReferenceUID ===
|
||||||
tempReferencedFrameOfReferenceUID
|
referencedFrameOfReferenceUID
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return finalDerivedDisplaySets;
|
return filteredDerivedDisplaySets;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -931,3 +903,184 @@ function _getDisplaySetFromSopClassModule(
|
|||||||
}
|
}
|
||||||
return displaySet;
|
return displaySet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the source display set of the derivated display set.
|
||||||
|
* @param {object} derivatedDisplaySet
|
||||||
|
* @param {array[StudyMetadata]} studies
|
||||||
|
* @return {object} source display set.
|
||||||
|
*/
|
||||||
|
function getReferencedDisplaySet(derivatedDisplaySet, studies) {
|
||||||
|
let allDisplaySets = [];
|
||||||
|
|
||||||
|
studies.forEach(study => {
|
||||||
|
allDisplaySets = allDisplaySets.concat(study.displaySets);
|
||||||
|
});
|
||||||
|
|
||||||
|
const otherDisplaySets = allDisplaySets.filter(
|
||||||
|
ds => ds.displaySetInstanceUID !== derivatedDisplaySet.displaySetInstanceUID
|
||||||
|
);
|
||||||
|
|
||||||
|
const { metadata } = derivatedDisplaySet;
|
||||||
|
|
||||||
|
let referencedSeriesInstanceUIDs = _findReferencedSeriesInstanceUIDsFromSourceImageSequence
|
||||||
|
(metadata, otherDisplaySets);
|
||||||
|
|
||||||
|
let noReferencedSeriesAvailable = !referencedSeriesInstanceUIDs ||
|
||||||
|
referencedSeriesInstanceUIDs.length === 0;
|
||||||
|
if (noReferencedSeriesAvailable) {
|
||||||
|
referencedSeriesInstanceUIDs =
|
||||||
|
_findReferencedSeriesInstanceUIDsFromReferencedSeriesSequence
|
||||||
|
(metadata);
|
||||||
|
}
|
||||||
|
|
||||||
|
noReferencedSeriesAvailable = !referencedSeriesInstanceUIDs ||
|
||||||
|
referencedSeriesInstanceUIDs.length === 0;
|
||||||
|
if (noReferencedSeriesAvailable) {
|
||||||
|
referencedSeriesInstanceUIDs =
|
||||||
|
_findReferencedSeriesInstanceUIDsFromReferencedImageSequence
|
||||||
|
(metadata, otherDisplaySets);
|
||||||
|
}
|
||||||
|
|
||||||
|
const referencedSeriesAvailable = referencedSeriesInstanceUIDs &&
|
||||||
|
referencedSeriesInstanceUIDs.length !== 0;
|
||||||
|
if (referencedSeriesAvailable) {
|
||||||
|
const referencedDisplaySet = otherDisplaySets.find(ds =>
|
||||||
|
referencedSeriesInstanceUIDs.includes(ds.SeriesInstanceUID)
|
||||||
|
);
|
||||||
|
;
|
||||||
|
return referencedDisplaySet;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the referenced series instance UIDs by searching the information in the
|
||||||
|
* ReferencedSeriesSequence.
|
||||||
|
* @param {object} derivatedDisplaySet.metadata
|
||||||
|
* @return {array[string]} referenced series instance UIDs.
|
||||||
|
*/
|
||||||
|
function _findReferencedSeriesInstanceUIDsFromReferencedSeriesSequence (
|
||||||
|
metadata,
|
||||||
|
) {
|
||||||
|
if (!metadata.ReferencedSeriesSequence) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let referencedSeriesInstanceUIDs;
|
||||||
|
const ReferencedSeriesSequence = _toArray(
|
||||||
|
metadata.ReferencedSeriesSequence
|
||||||
|
);
|
||||||
|
|
||||||
|
referencedSeriesInstanceUIDs = ReferencedSeriesSequence.map(
|
||||||
|
ReferencedSeries => ReferencedSeries.SeriesInstanceUID
|
||||||
|
);
|
||||||
|
|
||||||
|
return referencedSeriesInstanceUIDs;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the referenced series instance UIDs by searching the information in the
|
||||||
|
* ReferencedImageSequence.
|
||||||
|
* @param {object} derivatedDisplaySet.metadata
|
||||||
|
* @param {array[object]} displaysets
|
||||||
|
* @return {array[string]} referenced series instance UIDs.
|
||||||
|
*/
|
||||||
|
function _findReferencedSeriesInstanceUIDsFromReferencedImageSequence (
|
||||||
|
metadata,
|
||||||
|
displaySets
|
||||||
|
) {
|
||||||
|
if (!metadata.ReferencedImageSequence) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let referencedSeriesInstanceUIDs;
|
||||||
|
const referencedImageArray = _toArray(metadata.ReferencedImageSequence);
|
||||||
|
for (let i = 0; i < referencedImageArray.length; i++) {
|
||||||
|
const { ReferencedSOPInstanceUID } = referencedImageArray[i];
|
||||||
|
|
||||||
|
referencedSeriesInstanceUIDs = _findReferencedSeriesInstanceUIDsFromSOPInstanceUID(
|
||||||
|
displaySets,
|
||||||
|
ReferencedSOPInstanceUID
|
||||||
|
);
|
||||||
|
|
||||||
|
if (referencedSeriesInstanceUIDs && referencedSeriesInstanceUIDs.length !== 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return referencedSeriesInstanceUIDs;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the referenced series instance UIDs by searching the information in the
|
||||||
|
* SourceImageSequence.
|
||||||
|
* @param {object} derivatedDisplaySet.metadata
|
||||||
|
* @param {array[object]} displaysets
|
||||||
|
* @return {array[string]} referenced series instance UIDs.
|
||||||
|
*/
|
||||||
|
function _findReferencedSeriesInstanceUIDsFromSourceImageSequence (
|
||||||
|
metadata,
|
||||||
|
displaySets
|
||||||
|
) {
|
||||||
|
let SourceImageSequence;
|
||||||
|
|
||||||
|
if (metadata.SourceImageSequence) {
|
||||||
|
SourceImageSequence = metadata.SourceImageSequence;
|
||||||
|
} else {
|
||||||
|
const { PerFrameFunctionalGroupsSequence } = metadata;
|
||||||
|
const firstFunctionalGroups = _toArray(
|
||||||
|
PerFrameFunctionalGroupsSequence
|
||||||
|
)[0];
|
||||||
|
const { DerivationImageSequence } = firstFunctionalGroups;
|
||||||
|
SourceImageSequence = DerivationImageSequence;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!SourceImageSequence) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const sourceImageArray = _toArray(SourceImageSequence);
|
||||||
|
|
||||||
|
let referencedSeriesInstanceUIDs;
|
||||||
|
for (let i = 0; i < sourceImageArray.length; i++) {
|
||||||
|
const { ReferencedSOPInstanceUID } = sourceImageArray[i];
|
||||||
|
referencedSeriesInstanceUIDs = _findReferencedSeriesInstanceUIDsFromSOPInstanceUID(
|
||||||
|
displaySets,
|
||||||
|
ReferencedSOPInstanceUID
|
||||||
|
);
|
||||||
|
if (referencedSeriesInstanceUIDs && referencedSeriesInstanceUIDs.length !== 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return referencedSeriesInstanceUIDs;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the referenced series instance UIDs by searching the information in the
|
||||||
|
* SOPInstanceUID of the displaySets.
|
||||||
|
* @param {array[object]} displaysets
|
||||||
|
* @param {string} SOPInstanceUID
|
||||||
|
* @return {array[string]} referenced series instance UIDs.
|
||||||
|
*/
|
||||||
|
function _findReferencedSeriesInstanceUIDsFromSOPInstanceUID (
|
||||||
|
displaySets,
|
||||||
|
SOPInstanceUID
|
||||||
|
) {
|
||||||
|
const imageSets = displaySets.filter(ds => ds instanceof ImageSet);
|
||||||
|
|
||||||
|
for (let i = 0; i < imageSets.length; i++) {
|
||||||
|
const { images } = imageSets[i];
|
||||||
|
for (let j = 0; j < images.length; j++) {
|
||||||
|
if (images[j].SOPInstanceUID === SOPInstanceUID) {
|
||||||
|
return [images[j].getData().metadata.SeriesInstanceUID];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function _toArray(arrayOrObject) {
|
||||||
|
return Array.isArray(arrayOrObject) ? arrayOrObject : [arrayOrObject];
|
||||||
|
}
|
||||||
|
|
||||||
|
export {StudyMetadata, getReferencedDisplaySet};
|
||||||
|
|||||||
@ -61,7 +61,20 @@ const mapDispatchToProps = (dispatch, ownProps) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
displaySet = displaySet.getSourceDisplaySet(ownProps.studyMetadata, true, onDisplaySetLoadFailureHandler);
|
const {referencedDisplaySet, activatedLabelmapPromise} = displaySet.getSourceDisplaySet(
|
||||||
|
ownProps.studyMetadata,
|
||||||
|
true,
|
||||||
|
onDisplaySetLoadFailureHandler
|
||||||
|
);
|
||||||
|
displaySet = referencedDisplaySet;
|
||||||
|
|
||||||
|
activatedLabelmapPromise.then((activatedLabelmapIndex) => {
|
||||||
|
const selectionFired = new CustomEvent("extensiondicomsegmentationsegselected", {
|
||||||
|
"detail": {"activatedLabelmapIndex":activatedLabelmapIndex}
|
||||||
|
});
|
||||||
|
document.dispatchEvent(selectionFired);
|
||||||
|
});
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
displaySet = displaySet.getSourceDisplaySet(ownProps.studyMetadata);
|
displaySet = displaySet.getSourceDisplaySet(ownProps.studyMetadata);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -433,12 +433,12 @@ const _checkForSeriesInconsistencesWarnings = async function (displaySet, studie
|
|||||||
return warningsList;
|
return warningsList;
|
||||||
}
|
}
|
||||||
|
|
||||||
const sourceDisplaySet = displaySet.getSourceDisplaySet(studies, false);
|
const { referencedDisplaySet } = displaySet.getSourceDisplaySet(studies, false);
|
||||||
if (!sourceDisplaySet) {
|
if (!referencedDisplaySet) {
|
||||||
return warningsList;
|
return warningsList;
|
||||||
}
|
}
|
||||||
|
|
||||||
const imageIds = sourceDisplaySet.images.map(image => image.getImageId());
|
const imageIds = referencedDisplaySet.images.map(image => image.getImageId());
|
||||||
if (!imageIds || imageIds.length === 0) {
|
if (!imageIds || imageIds.length === 0) {
|
||||||
return warningsList;
|
return warningsList;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -153,7 +153,13 @@ class ViewerMain extends Component {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
displaySet = displaySet.getSourceDisplaySet(this.props.studies, true, onDisplaySetLoadFailureHandler);
|
const {referencedDisplaySet} = displaySet.getSourceDisplaySet(
|
||||||
|
this.props.studies,
|
||||||
|
true,
|
||||||
|
onDisplaySetLoadFailureHandler
|
||||||
|
);
|
||||||
|
displaySet = referencedDisplaySet;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
displaySet = displaySet.getSourceDisplaySet(this.props.studies);
|
displaySet = displaySet.getSourceDisplaySet(this.props.studies);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user