comparison OrthancServer/Sources/main.cpp @ 4468:9c070a34de18

IApplicationEntityFilter::GetAcceptedTransferSyntaxes()
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 25 Jan 2021 15:18:34 +0100
parents e4dae17035b9
children 5ffa4e14e4bd
comparison
equal deleted inserted replaced
4467:c92ec129698a 4468:9c070a34de18
362 return false; 362 return false;
363 } 363 }
364 } 364 }
365 } 365 }
366 366
367
368 virtual void GetAcceptedTransferSyntaxes(std::set<DicomTransferSyntax>& target,
369 const std::string& remoteIp,
370 const std::string& remoteAet,
371 const std::string& calledAet) ORTHANC_OVERRIDE
372 {
373 target.clear();
374
375 // This is the list of the transfer syntaxes that were supported up to Orthanc 0.7.1
376 target.insert(DicomTransferSyntax_LittleEndianExplicit);
377 target.insert(DicomTransferSyntax_BigEndianExplicit);
378 target.insert(DicomTransferSyntax_LittleEndianImplicit);
379
380 // New transfer syntaxes supported since Orthanc 0.7.2
381 if (IsAllowedTransferSyntax(remoteIp, remoteAet, calledAet, TransferSyntax_Deflated))
382 {
383 target.insert(DicomTransferSyntax_DeflatedLittleEndianExplicit);
384 }
385
386 if (IsAllowedTransferSyntax(remoteIp, remoteAet, calledAet, TransferSyntax_Jpeg))
387 {
388 target.insert(DicomTransferSyntax_JPEGProcess1);
389 target.insert(DicomTransferSyntax_JPEGProcess2_4);
390 target.insert(DicomTransferSyntax_JPEGProcess3_5);
391 target.insert(DicomTransferSyntax_JPEGProcess6_8);
392 target.insert(DicomTransferSyntax_JPEGProcess7_9);
393 target.insert(DicomTransferSyntax_JPEGProcess10_12);
394 target.insert(DicomTransferSyntax_JPEGProcess11_13);
395 target.insert(DicomTransferSyntax_JPEGProcess14);
396 target.insert(DicomTransferSyntax_JPEGProcess15);
397 target.insert(DicomTransferSyntax_JPEGProcess16_18);
398 target.insert(DicomTransferSyntax_JPEGProcess17_19);
399 target.insert(DicomTransferSyntax_JPEGProcess20_22);
400 target.insert(DicomTransferSyntax_JPEGProcess21_23);
401 target.insert(DicomTransferSyntax_JPEGProcess24_26);
402 target.insert(DicomTransferSyntax_JPEGProcess25_27);
403 target.insert(DicomTransferSyntax_JPEGProcess28);
404 target.insert(DicomTransferSyntax_JPEGProcess29);
405 target.insert(DicomTransferSyntax_JPEGProcess14SV1);
406 }
407
408 if (IsAllowedTransferSyntax(remoteIp, remoteAet, calledAet, TransferSyntax_Jpeg2000))
409 {
410 target.insert(DicomTransferSyntax_JPEG2000);
411 target.insert(DicomTransferSyntax_JPEG2000LosslessOnly);
412 target.insert(DicomTransferSyntax_JPEG2000Multicomponent);
413 target.insert(DicomTransferSyntax_JPEG2000MulticomponentLosslessOnly);
414 }
415
416 if (IsAllowedTransferSyntax(remoteIp, remoteAet, calledAet, TransferSyntax_JpegLossless))
417 {
418 target.insert(DicomTransferSyntax_JPEGLSLossless);
419 target.insert(DicomTransferSyntax_JPEGLSLossy);
420 }
421
422 if (IsAllowedTransferSyntax(remoteIp, remoteAet, calledAet, TransferSyntax_Jpip))
423 {
424 target.insert(DicomTransferSyntax_JPIPReferenced);
425 target.insert(DicomTransferSyntax_JPIPReferencedDeflate);
426 }
427
428 if (IsAllowedTransferSyntax(remoteIp, remoteAet, calledAet, TransferSyntax_Mpeg2))
429 {
430 target.insert(DicomTransferSyntax_MPEG2MainProfileAtMainLevel);
431 target.insert(DicomTransferSyntax_MPEG2MainProfileAtHighLevel);
432 }
433
434 #if DCMTK_VERSION_NUMBER >= 361
435 // New in Orthanc 1.6.0
436 if (IsAllowedTransferSyntax(remoteIp, remoteAet, calledAet, TransferSyntax_Mpeg4))
437 {
438 target.insert(DicomTransferSyntax_MPEG4BDcompatibleHighProfileLevel4_1);
439 target.insert(DicomTransferSyntax_MPEG4HighProfileLevel4_1);
440 target.insert(DicomTransferSyntax_MPEG4HighProfileLevel4_2_For2DVideo);
441 target.insert(DicomTransferSyntax_MPEG4HighProfileLevel4_2_For3DVideo);
442 target.insert(DicomTransferSyntax_MPEG4StereoHighProfileLevel4_2);
443 }
444 #endif
445
446 if (IsAllowedTransferSyntax(remoteIp, remoteAet, calledAet, TransferSyntax_Rle))
447 {
448 target.insert(DicomTransferSyntax_RLELossless);
449 }
450 }
451
452
367 virtual bool IsAllowedTransferSyntax(const std::string& remoteIp, 453 virtual bool IsAllowedTransferSyntax(const std::string& remoteIp,
368 const std::string& remoteAet, 454 const std::string& remoteAet,
369 const std::string& calledAet, 455 const std::string& calledAet,
370 TransferSyntax syntax) ORTHANC_OVERRIDE 456 TransferSyntax syntax) ORTHANC_OVERRIDE
371 { 457 {