fix(segmentation): black preview when loading a seg, and crash on opening panel (#4602)
This commit is contained in:
parent
921e8f93b7
commit
faf5515e4b
@ -243,13 +243,15 @@ export default function PanelSegmentation({
|
|||||||
const firstImageId = referencedImageIds[0];
|
const firstImageId = referencedImageIds[0];
|
||||||
|
|
||||||
const instance = metaData.get('instance', firstImageId);
|
const instance = metaData.get('instance', firstImageId);
|
||||||
const { SOPInstanceUID, SeriesInstanceUID } = instance;
|
const SOPInstanceUID = instance.SOPInstanceUID || instance.SopInstanceUID;
|
||||||
|
const SeriesInstanceUID = instance.SeriesInstanceUID;
|
||||||
|
|
||||||
const displaySet = displaySetService.getDisplaySetForSOPInstanceUID(
|
const displaySet = displaySetService.getDisplaySetForSOPInstanceUID(
|
||||||
SOPInstanceUID,
|
SOPInstanceUID,
|
||||||
SeriesInstanceUID
|
SeriesInstanceUID
|
||||||
);
|
);
|
||||||
const isExportable = displaySet.isReconstructable;
|
|
||||||
|
const isExportable = displaySet?.isReconstructable;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
segmentationId,
|
segmentationId,
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import {
|
|||||||
imageLoader,
|
imageLoader,
|
||||||
Types as csTypes,
|
Types as csTypes,
|
||||||
utilities as csUtils,
|
utilities as csUtils,
|
||||||
|
metaData,
|
||||||
} from '@cornerstonejs/core';
|
} from '@cornerstonejs/core';
|
||||||
import {
|
import {
|
||||||
Enums as csToolsEnums,
|
Enums as csToolsEnums,
|
||||||
@ -360,11 +361,11 @@ class SegmentationService extends PubSubService {
|
|||||||
options.segments && Object.keys(options.segments).length > 0
|
options.segments && Object.keys(options.segments).length > 0
|
||||||
? options.segments
|
? options.segments
|
||||||
: {
|
: {
|
||||||
1: {
|
1: {
|
||||||
label: 'Segment 1',
|
label: 'Segment 1',
|
||||||
active: true,
|
active: true,
|
||||||
},
|
|
||||||
},
|
},
|
||||||
|
},
|
||||||
cachedStats: {
|
cachedStats: {
|
||||||
info: `S${displaySet.SeriesNumber}: ${displaySet.SeriesDescription}`,
|
info: `S${displaySet.SeriesNumber}: ${displaySet.SeriesDescription}`,
|
||||||
},
|
},
|
||||||
@ -381,8 +382,8 @@ class SegmentationService extends PubSubService {
|
|||||||
segmentationId?: string;
|
segmentationId?: string;
|
||||||
type: SegmentationRepresentations;
|
type: SegmentationRepresentations;
|
||||||
} = {
|
} = {
|
||||||
type: LABELMAP,
|
type: LABELMAP,
|
||||||
}
|
}
|
||||||
): Promise<string> {
|
): Promise<string> {
|
||||||
const { type } = options;
|
const { type } = options;
|
||||||
let { segmentationId } = options;
|
let { segmentationId } = options;
|
||||||
@ -414,7 +415,10 @@ class SegmentationService extends PubSubService {
|
|||||||
imageIds as string[]
|
imageIds as string[]
|
||||||
);
|
);
|
||||||
|
|
||||||
segDisplaySet.images = derivedSegmentationImages;
|
segDisplaySet.images = derivedSegmentationImages.map(image => ({
|
||||||
|
...image,
|
||||||
|
...metaData.get('instance', image.referencedImageId),
|
||||||
|
}));
|
||||||
|
|
||||||
const segmentsInfo = segDisplaySet.segMetadata.data;
|
const segmentsInfo = segDisplaySet.segMetadata.data;
|
||||||
|
|
||||||
@ -531,8 +535,8 @@ class SegmentationService extends PubSubService {
|
|||||||
segmentationId?: string;
|
segmentationId?: string;
|
||||||
type: SegmentationRepresentations;
|
type: SegmentationRepresentations;
|
||||||
} = {
|
} = {
|
||||||
type: CONTOUR,
|
type: CONTOUR,
|
||||||
}
|
}
|
||||||
): Promise<string> {
|
): Promise<string> {
|
||||||
const { type } = options;
|
const { type } = options;
|
||||||
let { segmentationId } = options;
|
let { segmentationId } = options;
|
||||||
|
|||||||
@ -221,7 +221,8 @@ function createDicomLocalApi(dicomLocalConfig) {
|
|||||||
// return instance.imageId;
|
// return instance.imageId;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
const { StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID } = instance;
|
const { StudyInstanceUID, SeriesInstanceUID } = instance;
|
||||||
|
const SOPInstanceUID = instance.SOPInstanceUID || instance.SopInstanceUID;
|
||||||
const storedInstance = DicomMetadataStore.getInstance(
|
const storedInstance = DicomMetadataStore.getInstance(
|
||||||
StudyInstanceUID,
|
StudyInstanceUID,
|
||||||
SeriesInstanceUID,
|
SeriesInstanceUID,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user