# HG changeset patch # User Alain Mazy # Date 1739975908 -3600 # Node ID 89e2b1b7d283dd97560c136d88e3fe556b4f68b7 # Parent 1ddeb38049eaf834c1dccd4a98ff5cac65b12ae9# Parent 5547f4c0125353bb85386fc2c4d4d6c3e5973573 merge diff -r 5547f4c01253 -r 89e2b1b7d283 OrthancServer/Sources/ResourceFinder.cpp --- a/OrthancServer/Sources/ResourceFinder.cpp Tue Feb 18 18:13:18 2025 +0100 +++ b/OrthancServer/Sources/ResourceFinder.cpp Wed Feb 19 15:38:28 2025 +0100 @@ -1148,6 +1148,14 @@ Toolbox::RemoveSets(remainingRequestedTags, metaTagsToRemove); } + // if SOPClassUID has been requested, we might still find it at metadata level (useful e.g. for StoneViewer) + std::string sopClassUidFromMetadata; + if (resource.GetLevel() == ResourceType_Instance && + remainingRequestedTags.find(DICOM_TAG_SOP_CLASS_UID) != remainingRequestedTags.end() && + resource.LookupMetadata(sopClassUidFromMetadata, ResourceType_Instance, MetadataType_Instance_SopClassUid)) + { + outRequestedTags.SetValue(DICOM_TAG_SOP_CLASS_UID, sopClassUidFromMetadata, false); + } if (!remainingRequestedTags.empty() && !DicomMap::HasOnlyComputedTags(remainingRequestedTags)) // if the only remaining tags are computed tags, it is worthless to read them from disk