diff --git a/extensions/default/src/DicomWebDataSource/wado/retrieveMetadataLoaderAsync.js b/extensions/default/src/DicomWebDataSource/wado/retrieveMetadataLoaderAsync.js index 0c9a656..71c789e 100644 --- a/extensions/default/src/DicomWebDataSource/wado/retrieveMetadataLoaderAsync.js +++ b/extensions/default/src/DicomWebDataSource/wado/retrieveMetadataLoaderAsync.js @@ -119,6 +119,7 @@ export default class RetrieveMetadataLoaderAsync extends RetrieveMetadataLoader async preLoad() { const preLoaders = this.getPreLoaders(); const result = await this.runLoaders(preLoaders); + console.log('Raw QIDO series result:', result); // Debug: Check if '0008103E' is present const sortCriteria = this.sortCriteria; const sortFunction = this.sortFunction; diff --git a/extensions/default/src/getSopClassHandlerModule.js b/extensions/default/src/getSopClassHandlerModule.js index 74f8cea..6543518 100644 --- a/extensions/default/src/getSopClassHandlerModule.js +++ b/extensions/default/src/getSopClassHandlerModule.js @@ -1,4 +1,4 @@ -import { utils, classes } from '@ohif/core'; +import { utils, classes, DicomMetadataStore } from '@ohif/core'; import { id } from './id'; import getDisplaySetMessages from './getDisplaySetMessages'; import getDisplaySetsFromUnsupportedSeries from './getDisplaySetsFromUnsupportedSeries'; @@ -75,6 +75,10 @@ const makeDisplaySet = instances => { ? DYNAMIC_VOLUME_LOADER_SCHEME : DEFAULT_VOLUME_LOADER_SCHEME; + // Get series metadata from store + const study = DicomMetadataStore.getStudy(instance.StudyInstanceUID); + const series = study?.series?.find(s => s.SeriesInstanceUID === instance.SeriesInstanceUID); + // set appropriate attributes to image set... const messages = getDisplaySetMessages(instances, isReconstructable, isDynamicVolume); @@ -88,7 +92,7 @@ const makeDisplaySet = instances => { SeriesNumber: instance.SeriesNumber || 0, FrameRate: instance.FrameTime, SOPClassUID: instance.SOPClassUID, - SeriesDescription: instance.SeriesDescription || '', + SeriesDescription: series?.SeriesDescription || instance.SeriesDescription || '', Modality: instance.Modality, isMultiFrame: isMultiFrame(instance), countIcon: isReconstructable ? 'icon-mpr' : undefined, diff --git a/platform/core/src/services/DisplaySetService/DisplaySetService.ts b/platform/core/src/services/DisplaySetService/DisplaySetService.ts index 3bcb79f..b914545 100644 --- a/platform/core/src/services/DisplaySetService/DisplaySetService.ts +++ b/platform/core/src/services/DisplaySetService/DisplaySetService.ts @@ -321,6 +321,8 @@ export default class DisplaySetService extends PubSubService { const handler = this.extensionManager.getModuleEntry(SOPClassHandlerId); if (handler.sopClassUids.includes(instance.SOPClassUID)) { + // Add this debug + console.log('Using SOPHandler:', SOPClassHandlerId, 'for SOPClass:', instance.SOPClassUID); // Check if displaySets are already created using this SeriesInstanceUID/SOPClassHandler pair. let displaySets = existingDisplaySets.filter( displaySet => displaySet.SOPClassHandlerId === SOPClassHandlerId @@ -363,6 +365,16 @@ export default class DisplaySetService extends PubSubService { continue; } + // Add debug + console.log( + 'Created displaySets from Series:', + displaySets.map(ds => ({ + uid: ds.displaySetInstanceUID, + desc: ds.SeriesDescription, + seriesUID: ds.SeriesInstanceUID, + })) + ); + // applying hp-defined viewport settings to the displaysets displaySets.forEach(ds => { Object.keys(settings).forEach(key => {