Mercurial > hg > orthanc-stone
diff Framework/Loaders/SeriesThumbnailsLoader.cpp @ 1476:4db187d29731
renamed SeriesMetadataLoader::SeriesLoadedMessage to SuccessMessage
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 17 Jun 2020 18:21:26 +0200 |
parents | 9cbc6d21ae89 |
children | 121d01aa328e |
line wrap: on
line diff
--- a/Framework/Loaders/SeriesThumbnailsLoader.cpp Tue Jun 16 10:21:43 2020 +0200 +++ b/Framework/Loaders/SeriesThumbnailsLoader.cpp Wed Jun 17 18:21:26 2020 +0200 @@ -279,12 +279,16 @@ virtual void HandleError() { // The DICOMweb wasn't able to generate a thumbnail, try to - // retrieve the SopClassUID tag using a call to "/metadata" + // retrieve the SopClassUID tag using QIDO-RS + std::map<std::string, std::string> arguments, headers; + arguments["0020000D"] = GetStudyInstanceUid(); + arguments["0020000E"] = GetSeriesInstanceUid(); + arguments["includefield"] = "00080016"; + std::unique_ptr<IOracleCommand> command( GetSource().CreateDicomWebCommand( - "/studies/" + GetStudyInstanceUid() + "/series/" + GetSeriesInstanceUid() + "/metadata", - new DicomWebSopClassHandler( + "/instances", arguments, headers, new DicomWebSopClassHandler( GetLoader(), GetSource(), GetStudyInstanceUid(), GetSeriesInstanceUid()))); GetLoader()->Schedule(command.release()); } @@ -548,6 +552,11 @@ const std::string& studyInstanceUid, const std::string& seriesInstanceUid) { + if (IsScheduledSeries(seriesInstanceUid)) + { + return; + } + if (source.IsDicomWeb()) { if (!source.HasDicomWebRendered()) @@ -574,6 +583,8 @@ uri, arguments, headers, new DicomWebThumbnailHandler( shared_from_this(), source, studyInstanceUid, seriesInstanceUid))); Schedule(command.release()); + + scheduledSeries_.insert(seriesInstanceUid); } else if (source.IsOrthanc()) { @@ -585,6 +596,8 @@ command->AcquirePayload(new SelectOrthancInstanceHandler( shared_from_this(), source, studyInstanceUid, seriesInstanceUid)); Schedule(command.release()); + + scheduledSeries_.insert(seriesInstanceUid); } else {