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)