comparison OrthancServer/Sources/ServerEnumerations.cpp @ 4472:28a4baadde17

rename TransferSyntax enum as TransferSyntaxGroup
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 26 Jan 2021 10:18:50 +0100
parents 5ffa4e14e4bd
children 68f52897c119
comparison
equal deleted inserted replaced
4471:b6818bbef7b8 4472:28a4baadde17
414 return (metadata >= MetadataType_StartUser && 414 return (metadata >= MetadataType_StartUser &&
415 metadata <= MetadataType_EndUser); 415 metadata <= MetadataType_EndUser);
416 } 416 }
417 417
418 418
419 const char* EnumerationToString(TransferSyntax syntax) 419 const char* EnumerationToString(TransferSyntaxGroup syntax)
420 { 420 {
421 switch (syntax) 421 switch (syntax)
422 { 422 {
423 case TransferSyntax_Deflated: 423 case TransferSyntaxGroup_Deflated:
424 return "Deflated"; 424 return "Deflated";
425 425
426 case TransferSyntax_Jpeg: 426 case TransferSyntaxGroup_Jpeg:
427 return "JPEG"; 427 return "JPEG";
428 428
429 case TransferSyntax_Jpeg2000: 429 case TransferSyntaxGroup_Jpeg2000:
430 return "JPEG2000"; 430 return "JPEG2000";
431 431
432 case TransferSyntax_JpegLossless: 432 case TransferSyntaxGroup_JpegLossless:
433 return "JPEG Lossless"; 433 return "JPEG Lossless";
434 434
435 case TransferSyntax_Jpip: 435 case TransferSyntaxGroup_Jpip:
436 return "JPIP"; 436 return "JPIP";
437 437
438 case TransferSyntax_Mpeg2: 438 case TransferSyntaxGroup_Mpeg2:
439 return "MPEG2"; 439 return "MPEG2";
440 440
441 case TransferSyntax_Mpeg4: 441 case TransferSyntaxGroup_Mpeg4:
442 return "MPEG4"; 442 return "MPEG4";
443 443
444 case TransferSyntax_Rle: 444 case TransferSyntaxGroup_Rle:
445 return "RLE"; 445 return "RLE";
446 446
447 default: 447 default:
448 throw OrthancException(ErrorCode_ParameterOutOfRange); 448 throw OrthancException(ErrorCode_ParameterOutOfRange);
449 } 449 }
450 } 450 }
451
452
453 void GetTransferSyntaxGroup(std::set<DicomTransferSyntax>& target,
454 TransferSyntaxGroup source,
455 bool clearTarget)
456 {
457 if (clearTarget)
458 {
459 target.clear();
460 }
461
462 switch (source)
463 {
464 // Transfer syntaxes supported since Orthanc 0.7.2
465 case TransferSyntaxGroup_Deflated:
466 target.insert(DicomTransferSyntax_DeflatedLittleEndianExplicit);
467 break;
468
469 case TransferSyntaxGroup_Jpeg:
470 target.insert(DicomTransferSyntax_JPEGProcess1);
471 target.insert(DicomTransferSyntax_JPEGProcess2_4);
472 target.insert(DicomTransferSyntax_JPEGProcess3_5);
473 target.insert(DicomTransferSyntax_JPEGProcess6_8);
474 target.insert(DicomTransferSyntax_JPEGProcess7_9);
475 target.insert(DicomTransferSyntax_JPEGProcess10_12);
476 target.insert(DicomTransferSyntax_JPEGProcess11_13);
477 target.insert(DicomTransferSyntax_JPEGProcess14);
478 target.insert(DicomTransferSyntax_JPEGProcess15);
479 target.insert(DicomTransferSyntax_JPEGProcess16_18);
480 target.insert(DicomTransferSyntax_JPEGProcess17_19);
481 target.insert(DicomTransferSyntax_JPEGProcess20_22);
482 target.insert(DicomTransferSyntax_JPEGProcess21_23);
483 target.insert(DicomTransferSyntax_JPEGProcess24_26);
484 target.insert(DicomTransferSyntax_JPEGProcess25_27);
485 target.insert(DicomTransferSyntax_JPEGProcess28);
486 target.insert(DicomTransferSyntax_JPEGProcess29);
487 target.insert(DicomTransferSyntax_JPEGProcess14SV1);
488 break;
489
490 case TransferSyntaxGroup_Jpeg2000:
491 target.insert(DicomTransferSyntax_JPEG2000);
492 target.insert(DicomTransferSyntax_JPEG2000LosslessOnly);
493 target.insert(DicomTransferSyntax_JPEG2000Multicomponent);
494 target.insert(DicomTransferSyntax_JPEG2000MulticomponentLosslessOnly);
495 break;
496
497 case TransferSyntaxGroup_JpegLossless:
498 target.insert(DicomTransferSyntax_JPEGLSLossless);
499 target.insert(DicomTransferSyntax_JPEGLSLossy);
500 break;
501
502 case TransferSyntaxGroup_Jpip:
503 target.insert(DicomTransferSyntax_JPIPReferenced);
504 target.insert(DicomTransferSyntax_JPIPReferencedDeflate);
505 break;
506
507 case TransferSyntaxGroup_Mpeg2:
508 target.insert(DicomTransferSyntax_MPEG2MainProfileAtMainLevel);
509 target.insert(DicomTransferSyntax_MPEG2MainProfileAtHighLevel);
510 break;
511
512 case TransferSyntaxGroup_Mpeg4:
513 #if DCMTK_VERSION_NUMBER >= 361
514 // New in Orthanc 1.6.0
515 target.insert(DicomTransferSyntax_MPEG4BDcompatibleHighProfileLevel4_1);
516 target.insert(DicomTransferSyntax_MPEG4HighProfileLevel4_1);
517 target.insert(DicomTransferSyntax_MPEG4HighProfileLevel4_2_For2DVideo);
518 target.insert(DicomTransferSyntax_MPEG4HighProfileLevel4_2_For3DVideo);
519 target.insert(DicomTransferSyntax_MPEG4StereoHighProfileLevel4_2);
520 #endif
521 break;
522
523 case TransferSyntaxGroup_Rle:
524 target.insert(DicomTransferSyntax_RLELossless);
525 break;
526
527 default:
528 throw OrthancException(ErrorCode_ParameterOutOfRange);
529 }
530 }
451 } 531 }