Mercurial > hg > orthanc
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 { |