fix SeriesDescription not loaded in thumbnail. Fix in getSopClassHandlerModule. Maybe jika ada SOPClassUID spesial perlu adjust extension/getSopClassHandlerModule nya lagi. sementara ini hanya default SOPClassID dulu

This commit is contained in:
AlfandiMario
2025-10-31 10:51:15 +07:00
parent 25ed4ebfaa
commit 9239da35f8
3 changed files with 19 additions and 2 deletions

View File

@@ -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;

View File

@@ -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,

View File

@@ -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 => {