fix: NM multiframe with TimeSlotVector (#5666)
* fix(ViewportWindowLevel): add null checks for volumeActor in opacity functions * refactor(ViewportWindowLevel): register histogram worker at module load and optimize scalar data retrieval * fix(Preclinical4D): add null check for viewportId and set frame rate for cine playback * fix(getSopClassHandlerModule): handle multiframe dynamic volumes by utilizing metaData for instance retrieval --------- Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
This commit is contained in:
parent
fec661318c
commit
a74648f8ec
@ -4,6 +4,7 @@ import { id } from './id';
|
||||
import getDisplaySetMessages from './getDisplaySetMessages';
|
||||
import getDisplaySetsFromUnsupportedSeries from './getDisplaySetsFromUnsupportedSeries';
|
||||
import { chartHandler } from './SOPClassHandlers/chartSOPClassHandler';
|
||||
import { metaData } from '@cornerstonejs/core';
|
||||
|
||||
const {
|
||||
isImage,
|
||||
@ -50,11 +51,16 @@ function getDisplaySetInfo(instances) {
|
||||
const timePoint = timePoints[0];
|
||||
const instancesMap = new Map();
|
||||
|
||||
// O(n) to convert it into a map and O(1) to find each instance
|
||||
instances.forEach(instance => instancesMap.set(instance.imageId, instance));
|
||||
|
||||
const firstTimePointInstances = timePoint.map(imageId => instancesMap.get(imageId));
|
||||
let firstTimePointInstances;
|
||||
|
||||
if (instances[0].NumberOfFrames > 1 && timePoints.length > 1) {
|
||||
// handle multiframe dynamic volume
|
||||
firstTimePointInstances = timePoints[0].map(imageId => metaData.get('instance', imageId));
|
||||
} else {
|
||||
// O(n) to convert it into a map and O(1) to find each instance
|
||||
instances.forEach(instance => instancesMap.set(instance.imageId, instance));
|
||||
firstTimePointInstances = timePoint.map(imageId => instancesMap.get(imageId));
|
||||
}
|
||||
displaySetInfo = isDisplaySetReconstructable(firstTimePointInstances, appConfig);
|
||||
} else {
|
||||
displaySetInfo = isDisplaySetReconstructable(instances, appConfig);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user