Mercurial > hg > orthanc-stone
comparison Framework/Oracle/GenericOracleRunner.cpp @ 1484:121d01aa328e
SeriesThumbnailsLoader working on raw dicom files
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 22 Jun 2020 17:46:40 +0200 |
parents | 30deba7bc8e2 |
children |
comparison
equal
deleted
inserted
replaced
1483:6abd819aa534 | 1484:121d01aa328e |
---|---|
343 if (reader.IsValid() && | 343 if (reader.IsValid() && |
344 (!command.IsPixelDataIncluded() || | 344 (!command.IsPixelDataIncluded() || |
345 reader.HasPixelData())) | 345 reader.HasPixelData())) |
346 { | 346 { |
347 // Reuse the DICOM file from the cache | 347 // Reuse the DICOM file from the cache |
348 ParseDicomSuccessMessage message(command, reader.GetDicom(), reader.GetFileSize(), reader.HasPixelData()); | 348 ParseDicomSuccessMessage message(command, command.GetSource(), reader.GetDicom(), |
349 reader.GetFileSize(), reader.HasPixelData()); | |
349 emitter.EmitMessage(receiver, message); | 350 emitter.EmitMessage(receiver, message); |
350 return; | 351 return; |
351 } | 352 } |
352 } | 353 } |
353 | 354 |
360 throw Orthanc::OrthancException(Orthanc::ErrorCode_NotEnoughMemory); | 361 throw Orthanc::OrthancException(Orthanc::ErrorCode_NotEnoughMemory); |
361 } | 362 } |
362 | 363 |
363 { | 364 { |
364 ParseDicomSuccessMessage message | 365 ParseDicomSuccessMessage message |
365 (command, *parsed, static_cast<size_t>(fileSize), command.IsPixelDataIncluded()); | 366 (command, command.GetSource(), *parsed, |
367 static_cast<size_t>(fileSize), command.IsPixelDataIncluded()); | |
366 emitter.EmitMessage(receiver, message); | 368 emitter.EmitMessage(receiver, message); |
367 } | 369 } |
368 | 370 |
369 if (cache) | 371 if (cache) |
370 { | 372 { |
391 ParsedDicomCache::Reader reader(*cache, BUCKET_SOP, command.GetSopInstanceUid()); | 393 ParsedDicomCache::Reader reader(*cache, BUCKET_SOP, command.GetSopInstanceUid()); |
392 if (reader.IsValid() && | 394 if (reader.IsValid() && |
393 reader.HasPixelData()) | 395 reader.HasPixelData()) |
394 { | 396 { |
395 // Reuse the DICOM file from the cache | 397 // Reuse the DICOM file from the cache |
396 ParseDicomSuccessMessage message(command, reader.GetDicom(), reader.GetFileSize(), reader.HasPixelData()); | 398 ParseDicomSuccessMessage message(command, command.GetSource(), reader.GetDicom(), |
399 reader.GetFileSize(), reader.HasPixelData()); | |
397 emitter.EmitMessage(receiver, message); | 400 emitter.EmitMessage(receiver, message); |
398 return; | 401 return; |
399 } | 402 } |
400 } | 403 } |
401 | 404 |
419 | 422 |
420 size_t fileSize; | 423 size_t fileSize; |
421 std::unique_ptr<Orthanc::ParsedDicomFile> parsed(ParseDicomSuccessMessage::ParseWadoAnswer(fileSize, answer, answerHeaders)); | 424 std::unique_ptr<Orthanc::ParsedDicomFile> parsed(ParseDicomSuccessMessage::ParseWadoAnswer(fileSize, answer, answerHeaders)); |
422 | 425 |
423 { | 426 { |
424 ParseDicomSuccessMessage message(command, *parsed, fileSize, | 427 ParseDicomSuccessMessage message(command, command.GetSource(), *parsed, fileSize, |
425 true /* pixel data always is included in WADO-RS */); | 428 true /* pixel data always is included in WADO-RS */); |
426 emitter.EmitMessage(receiver, message); | 429 emitter.EmitMessage(receiver, message); |
427 } | 430 } |
428 | 431 |
429 if (cache) | 432 if (cache) |