From 840b5d37d15537abc38316d636da7c144e6d9223 Mon Sep 17 00:00:00 2001 From: Igor Octaviano Date: Mon, 25 Aug 2025 09:06:52 -0400 Subject: [PATCH] fix: Add seriesInstanceUID fallback for callByRetrieveAETitle (#5332) --- .../default/src/getSopClassHandlerModule.js | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/extensions/default/src/getSopClassHandlerModule.js b/extensions/default/src/getSopClassHandlerModule.js index c0f0323c2..5ba32f989 100644 --- a/extensions/default/src/getSopClassHandlerModule.js +++ b/extensions/default/src/getSopClassHandlerModule.js @@ -88,16 +88,6 @@ const makeDisplaySet = instances => { // set appropriate attributes to image set... const messages = getDisplaySetMessages(instances, isReconstructable, isDynamicVolume); - const imageIds = dataSource.getImageIdsForDisplaySet(imageSet); - let imageId = imageIds[Math.floor(imageIds.length / 2)]; - let thumbnailInstance = instances[Math.floor(instances.length / 2)]; - if (isDynamicVolume) { - const timePoints = dynamicVolumeInfo.timePoints; - const middleIndex = Math.floor(timePoints.length / 2); - const middleTimePointImageIds = timePoints[middleIndex]; - imageId = middleTimePointImageIds[Math.floor(middleTimePointImageIds.length / 2)]; - } - imageSet.setAttributes({ volumeLoaderSchema, displaySetInstanceUID: imageSet.uid, // create a local alias for the imageSet UID @@ -119,7 +109,6 @@ const makeDisplaySet = instances => { averageSpacingBetweenFrames: averageSpacingBetweenFrames || null, isDynamicVolume, dynamicVolumeInfo, - getThumbnailSrc: dataSource.retrieve.getGetThumbnailSrc?.(thumbnailInstance, imageId), supportsWindowLevel: true, label: instance.SeriesDescription || @@ -127,6 +116,20 @@ const makeDisplaySet = instances => { FrameOfReferenceUID: instance.FrameOfReferenceUID, }); + const imageIds = dataSource.getImageIdsForDisplaySet(imageSet); + let imageId = imageIds[Math.floor(imageIds.length / 2)]; + let thumbnailInstance = instances[Math.floor(instances.length / 2)]; + if (isDynamicVolume) { + const timePoints = dynamicVolumeInfo.timePoints; + const middleIndex = Math.floor(timePoints.length / 2); + const middleTimePointImageIds = timePoints[middleIndex]; + imageId = middleTimePointImageIds[Math.floor(middleTimePointImageIds.length / 2)]; + } + + imageSet.setAttributes({ + getThumbnailSrc: dataSource.retrieve.getGetThumbnailSrc?.(thumbnailInstance, imageId), + }); + const { servicesManager } = appContext; const { customizationService } = servicesManager.services;