Mercurial > hg > orthanc-stone
changeset 2207:02cee9f4c147 dicom-sr
fix
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 22 Apr 2025 14:03:14 +0200 |
parents | efaf25d1f131 |
children | b36f7b6eec39 |
files | Applications/StoneWebViewer/WebAssembly/StoneWebViewer.cpp |
diffstat | 1 files changed, 18 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/Applications/StoneWebViewer/WebAssembly/StoneWebViewer.cpp Tue Apr 22 13:44:56 2025 +0200 +++ b/Applications/StoneWebViewer/WebAssembly/StoneWebViewer.cpp Tue Apr 22 14:03:14 2025 +0200 @@ -1282,11 +1282,8 @@ } } - IFramesCollection* GetSeriesFrames(FramesCollectionType& type, - const std::string& seriesInstanceUid) const - { - type = FramesCollectionType_None; - + IFramesCollection* GetSeriesFrames(const std::string& seriesInstanceUid) const + { OrthancStone::SeriesMetadataLoader::Accessor accessor(*metadataLoader_, seriesInstanceUid); if (accessor.IsComplete()) @@ -1295,7 +1292,6 @@ if (sr != structuredReports_.end()) { assert(sr->second != NULL); - type = FramesCollectionType_DicomSR; try { @@ -4597,8 +4593,7 @@ { it->second->ClearPendingSeriesInstanceUid(); - FramesCollectionType type; - std::unique_ptr<IFramesCollection> frames(GetResourcesLoader().GetSeriesFrames(type, seriesInstanceUid)); + std::unique_ptr<IFramesCollection> frames(GetResourcesLoader().GetSeriesFrames(seriesInstanceUid)); if (frames.get() != NULL) { @@ -4904,20 +4899,27 @@ { try { - FramesCollectionType type; - std::unique_ptr<IFramesCollection> frames(GetResourcesLoader().GetSeriesFrames(type, seriesInstanceUid)); + std::unique_ptr<IFramesCollection> frames(GetResourcesLoader().GetSeriesFrames(seriesInstanceUid)); if (frames.get() != NULL) { - GetViewport(canvas)->ClearPendingSeriesInstanceUid(); + switch (frames->GetType()) + { + case FramesCollectionType_None: + GetViewport(canvas)->ClearPendingSeriesInstanceUid(); + break; + + case FramesCollectionType_DicomSR: + GetViewport(canvas)->SetPendingSeriesInstanceUid(seriesInstanceUid); + break; + + default: + throw Orthanc::OrthancException(Orthanc::ErrorCode_NotImplemented); + } + GetViewport(canvas)->SetFrames(frames.release()); return 1; } - else if (type == FramesCollectionType_DicomSR) - { - GetViewport(canvas)->SetPendingSeriesInstanceUid(seriesInstanceUid); - return 0; - } else { GetViewport(canvas)->ClearPendingSeriesInstanceUid();