/**
* Orthanc - A Lightweight, RESTful DICOM Store
* Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
* Department, University Hospital of Liege, Belgium
* Copyright (C) 2017-2023 Osimis S.A., Belgium
* Copyright (C) 2024-2025 Orthanc Team SRL, Belgium
* Copyright (C) 2021-2025 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
*
* This program is free software: you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this program. If not, see
* .
**/
// This file is autogenerated by "../Resources/GenerateTransferSyntaxes.py"
namespace Orthanc
{
const char* GetTransferSyntaxUid(DicomTransferSyntax syntax)
{
switch (syntax)
{
case DicomTransferSyntax_LittleEndianImplicit:
return "1.2.840.10008.1.2";
case DicomTransferSyntax_LittleEndianExplicit:
return "1.2.840.10008.1.2.1";
case DicomTransferSyntax_DeflatedLittleEndianExplicit:
return "1.2.840.10008.1.2.1.99";
case DicomTransferSyntax_BigEndianExplicit:
return "1.2.840.10008.1.2.2";
case DicomTransferSyntax_JPEGProcess1:
return "1.2.840.10008.1.2.4.50";
case DicomTransferSyntax_JPEGProcess2_4:
return "1.2.840.10008.1.2.4.51";
case DicomTransferSyntax_JPEGProcess3_5:
return "1.2.840.10008.1.2.4.52";
case DicomTransferSyntax_JPEGProcess6_8:
return "1.2.840.10008.1.2.4.53";
case DicomTransferSyntax_JPEGProcess7_9:
return "1.2.840.10008.1.2.4.54";
case DicomTransferSyntax_JPEGProcess10_12:
return "1.2.840.10008.1.2.4.55";
case DicomTransferSyntax_JPEGProcess11_13:
return "1.2.840.10008.1.2.4.56";
case DicomTransferSyntax_JPEGProcess14:
return "1.2.840.10008.1.2.4.57";
case DicomTransferSyntax_JPEGProcess15:
return "1.2.840.10008.1.2.4.58";
case DicomTransferSyntax_JPEGProcess16_18:
return "1.2.840.10008.1.2.4.59";
case DicomTransferSyntax_JPEGProcess17_19:
return "1.2.840.10008.1.2.4.60";
case DicomTransferSyntax_JPEGProcess20_22:
return "1.2.840.10008.1.2.4.61";
case DicomTransferSyntax_JPEGProcess21_23:
return "1.2.840.10008.1.2.4.62";
case DicomTransferSyntax_JPEGProcess24_26:
return "1.2.840.10008.1.2.4.63";
case DicomTransferSyntax_JPEGProcess25_27:
return "1.2.840.10008.1.2.4.64";
case DicomTransferSyntax_JPEGProcess28:
return "1.2.840.10008.1.2.4.65";
case DicomTransferSyntax_JPEGProcess29:
return "1.2.840.10008.1.2.4.66";
case DicomTransferSyntax_JPEGProcess14SV1:
return "1.2.840.10008.1.2.4.70";
case DicomTransferSyntax_JPEGLSLossless:
return "1.2.840.10008.1.2.4.80";
case DicomTransferSyntax_JPEGLSLossy:
return "1.2.840.10008.1.2.4.81";
case DicomTransferSyntax_JPEG2000LosslessOnly:
return "1.2.840.10008.1.2.4.90";
case DicomTransferSyntax_JPEG2000:
return "1.2.840.10008.1.2.4.91";
case DicomTransferSyntax_JPEG2000MulticomponentLosslessOnly:
return "1.2.840.10008.1.2.4.92";
case DicomTransferSyntax_JPEG2000Multicomponent:
return "1.2.840.10008.1.2.4.93";
case DicomTransferSyntax_JPIPReferenced:
return "1.2.840.10008.1.2.4.94";
case DicomTransferSyntax_JPIPReferencedDeflate:
return "1.2.840.10008.1.2.4.95";
case DicomTransferSyntax_MPEG2MainProfileAtMainLevel:
return "1.2.840.10008.1.2.4.100";
case DicomTransferSyntax_MPEG2MainProfileAtHighLevel:
return "1.2.840.10008.1.2.4.101";
case DicomTransferSyntax_MPEG4HighProfileLevel4_1:
return "1.2.840.10008.1.2.4.102";
case DicomTransferSyntax_MPEG4BDcompatibleHighProfileLevel4_1:
return "1.2.840.10008.1.2.4.103";
case DicomTransferSyntax_MPEG4HighProfileLevel4_2_For2DVideo:
return "1.2.840.10008.1.2.4.104";
case DicomTransferSyntax_MPEG4HighProfileLevel4_2_For3DVideo:
return "1.2.840.10008.1.2.4.105";
case DicomTransferSyntax_MPEG4StereoHighProfileLevel4_2:
return "1.2.840.10008.1.2.4.106";
case DicomTransferSyntax_HEVCMainProfileLevel5_1:
return "1.2.840.10008.1.2.4.107";
case DicomTransferSyntax_HEVCMain10ProfileLevel5_1:
return "1.2.840.10008.1.2.4.108";
case DicomTransferSyntax_RLELossless:
return "1.2.840.10008.1.2.5";
case DicomTransferSyntax_RFC2557MimeEncapsulation:
return "1.2.840.10008.1.2.6.1";
case DicomTransferSyntax_XML:
return "1.2.840.10008.1.2.6.2";
default:
throw OrthancException(ErrorCode_ParameterOutOfRange);
}
}
bool IsRetiredTransferSyntax(DicomTransferSyntax syntax)
{
switch (syntax)
{
case DicomTransferSyntax_LittleEndianImplicit:
return false;
case DicomTransferSyntax_LittleEndianExplicit:
return false;
case DicomTransferSyntax_DeflatedLittleEndianExplicit:
return false;
case DicomTransferSyntax_BigEndianExplicit:
return false;
case DicomTransferSyntax_JPEGProcess1:
return false;
case DicomTransferSyntax_JPEGProcess2_4:
return false;
case DicomTransferSyntax_JPEGProcess3_5:
return true;
case DicomTransferSyntax_JPEGProcess6_8:
return true;
case DicomTransferSyntax_JPEGProcess7_9:
return true;
case DicomTransferSyntax_JPEGProcess10_12:
return true;
case DicomTransferSyntax_JPEGProcess11_13:
return true;
case DicomTransferSyntax_JPEGProcess14:
return false;
case DicomTransferSyntax_JPEGProcess15:
return true;
case DicomTransferSyntax_JPEGProcess16_18:
return true;
case DicomTransferSyntax_JPEGProcess17_19:
return true;
case DicomTransferSyntax_JPEGProcess20_22:
return true;
case DicomTransferSyntax_JPEGProcess21_23:
return true;
case DicomTransferSyntax_JPEGProcess24_26:
return true;
case DicomTransferSyntax_JPEGProcess25_27:
return true;
case DicomTransferSyntax_JPEGProcess28:
return true;
case DicomTransferSyntax_JPEGProcess29:
return true;
case DicomTransferSyntax_JPEGProcess14SV1:
return false;
case DicomTransferSyntax_JPEGLSLossless:
return false;
case DicomTransferSyntax_JPEGLSLossy:
return false;
case DicomTransferSyntax_JPEG2000LosslessOnly:
return false;
case DicomTransferSyntax_JPEG2000:
return false;
case DicomTransferSyntax_JPEG2000MulticomponentLosslessOnly:
return false;
case DicomTransferSyntax_JPEG2000Multicomponent:
return false;
case DicomTransferSyntax_JPIPReferenced:
return false;
case DicomTransferSyntax_JPIPReferencedDeflate:
return false;
case DicomTransferSyntax_MPEG2MainProfileAtMainLevel:
return false;
case DicomTransferSyntax_MPEG2MainProfileAtHighLevel:
return false;
case DicomTransferSyntax_MPEG4HighProfileLevel4_1:
return false;
case DicomTransferSyntax_MPEG4BDcompatibleHighProfileLevel4_1:
return false;
case DicomTransferSyntax_MPEG4HighProfileLevel4_2_For2DVideo:
return false;
case DicomTransferSyntax_MPEG4HighProfileLevel4_2_For3DVideo:
return false;
case DicomTransferSyntax_MPEG4StereoHighProfileLevel4_2:
return false;
case DicomTransferSyntax_HEVCMainProfileLevel5_1:
return false;
case DicomTransferSyntax_HEVCMain10ProfileLevel5_1:
return false;
case DicomTransferSyntax_RLELossless:
return false;
case DicomTransferSyntax_RFC2557MimeEncapsulation:
return true;
case DicomTransferSyntax_XML:
return true;
default:
throw OrthancException(ErrorCode_ParameterOutOfRange);
}
}
bool LookupTransferSyntax(DicomTransferSyntax& target,
const std::string& uid)
{
if (uid == "1.2.840.10008.1.2")
{
target = DicomTransferSyntax_LittleEndianImplicit;
return true;
}
if (uid == "1.2.840.10008.1.2.1")
{
target = DicomTransferSyntax_LittleEndianExplicit;
return true;
}
if (uid == "1.2.840.10008.1.2.1.99")
{
target = DicomTransferSyntax_DeflatedLittleEndianExplicit;
return true;
}
if (uid == "1.2.840.10008.1.2.2")
{
target = DicomTransferSyntax_BigEndianExplicit;
return true;
}
if (uid == "1.2.840.10008.1.2.4.50")
{
target = DicomTransferSyntax_JPEGProcess1;
return true;
}
if (uid == "1.2.840.10008.1.2.4.51")
{
target = DicomTransferSyntax_JPEGProcess2_4;
return true;
}
if (uid == "1.2.840.10008.1.2.4.52")
{
target = DicomTransferSyntax_JPEGProcess3_5;
return true;
}
if (uid == "1.2.840.10008.1.2.4.53")
{
target = DicomTransferSyntax_JPEGProcess6_8;
return true;
}
if (uid == "1.2.840.10008.1.2.4.54")
{
target = DicomTransferSyntax_JPEGProcess7_9;
return true;
}
if (uid == "1.2.840.10008.1.2.4.55")
{
target = DicomTransferSyntax_JPEGProcess10_12;
return true;
}
if (uid == "1.2.840.10008.1.2.4.56")
{
target = DicomTransferSyntax_JPEGProcess11_13;
return true;
}
if (uid == "1.2.840.10008.1.2.4.57")
{
target = DicomTransferSyntax_JPEGProcess14;
return true;
}
if (uid == "1.2.840.10008.1.2.4.58")
{
target = DicomTransferSyntax_JPEGProcess15;
return true;
}
if (uid == "1.2.840.10008.1.2.4.59")
{
target = DicomTransferSyntax_JPEGProcess16_18;
return true;
}
if (uid == "1.2.840.10008.1.2.4.60")
{
target = DicomTransferSyntax_JPEGProcess17_19;
return true;
}
if (uid == "1.2.840.10008.1.2.4.61")
{
target = DicomTransferSyntax_JPEGProcess20_22;
return true;
}
if (uid == "1.2.840.10008.1.2.4.62")
{
target = DicomTransferSyntax_JPEGProcess21_23;
return true;
}
if (uid == "1.2.840.10008.1.2.4.63")
{
target = DicomTransferSyntax_JPEGProcess24_26;
return true;
}
if (uid == "1.2.840.10008.1.2.4.64")
{
target = DicomTransferSyntax_JPEGProcess25_27;
return true;
}
if (uid == "1.2.840.10008.1.2.4.65")
{
target = DicomTransferSyntax_JPEGProcess28;
return true;
}
if (uid == "1.2.840.10008.1.2.4.66")
{
target = DicomTransferSyntax_JPEGProcess29;
return true;
}
if (uid == "1.2.840.10008.1.2.4.70")
{
target = DicomTransferSyntax_JPEGProcess14SV1;
return true;
}
if (uid == "1.2.840.10008.1.2.4.80")
{
target = DicomTransferSyntax_JPEGLSLossless;
return true;
}
if (uid == "1.2.840.10008.1.2.4.81")
{
target = DicomTransferSyntax_JPEGLSLossy;
return true;
}
if (uid == "1.2.840.10008.1.2.4.90")
{
target = DicomTransferSyntax_JPEG2000LosslessOnly;
return true;
}
if (uid == "1.2.840.10008.1.2.4.91")
{
target = DicomTransferSyntax_JPEG2000;
return true;
}
if (uid == "1.2.840.10008.1.2.4.92")
{
target = DicomTransferSyntax_JPEG2000MulticomponentLosslessOnly;
return true;
}
if (uid == "1.2.840.10008.1.2.4.93")
{
target = DicomTransferSyntax_JPEG2000Multicomponent;
return true;
}
if (uid == "1.2.840.10008.1.2.4.94")
{
target = DicomTransferSyntax_JPIPReferenced;
return true;
}
if (uid == "1.2.840.10008.1.2.4.95")
{
target = DicomTransferSyntax_JPIPReferencedDeflate;
return true;
}
if (uid == "1.2.840.10008.1.2.4.100")
{
target = DicomTransferSyntax_MPEG2MainProfileAtMainLevel;
return true;
}
if (uid == "1.2.840.10008.1.2.4.101")
{
target = DicomTransferSyntax_MPEG2MainProfileAtHighLevel;
return true;
}
if (uid == "1.2.840.10008.1.2.4.102")
{
target = DicomTransferSyntax_MPEG4HighProfileLevel4_1;
return true;
}
if (uid == "1.2.840.10008.1.2.4.103")
{
target = DicomTransferSyntax_MPEG4BDcompatibleHighProfileLevel4_1;
return true;
}
if (uid == "1.2.840.10008.1.2.4.104")
{
target = DicomTransferSyntax_MPEG4HighProfileLevel4_2_For2DVideo;
return true;
}
if (uid == "1.2.840.10008.1.2.4.105")
{
target = DicomTransferSyntax_MPEG4HighProfileLevel4_2_For3DVideo;
return true;
}
if (uid == "1.2.840.10008.1.2.4.106")
{
target = DicomTransferSyntax_MPEG4StereoHighProfileLevel4_2;
return true;
}
if (uid == "1.2.840.10008.1.2.4.107")
{
target = DicomTransferSyntax_HEVCMainProfileLevel5_1;
return true;
}
if (uid == "1.2.840.10008.1.2.4.108")
{
target = DicomTransferSyntax_HEVCMain10ProfileLevel5_1;
return true;
}
if (uid == "1.2.840.10008.1.2.5")
{
target = DicomTransferSyntax_RLELossless;
return true;
}
if (uid == "1.2.840.10008.1.2.6.1")
{
target = DicomTransferSyntax_RFC2557MimeEncapsulation;
return true;
}
if (uid == "1.2.840.10008.1.2.6.2")
{
target = DicomTransferSyntax_XML;
return true;
}
return false;
}
void GetAllDicomTransferSyntaxes(std::set& target)
{
target.clear();
target.insert(DicomTransferSyntax_LittleEndianImplicit);
target.insert(DicomTransferSyntax_LittleEndianExplicit);
target.insert(DicomTransferSyntax_DeflatedLittleEndianExplicit);
target.insert(DicomTransferSyntax_BigEndianExplicit);
target.insert(DicomTransferSyntax_JPEGProcess1);
target.insert(DicomTransferSyntax_JPEGProcess2_4);
target.insert(DicomTransferSyntax_JPEGProcess3_5);
target.insert(DicomTransferSyntax_JPEGProcess6_8);
target.insert(DicomTransferSyntax_JPEGProcess7_9);
target.insert(DicomTransferSyntax_JPEGProcess10_12);
target.insert(DicomTransferSyntax_JPEGProcess11_13);
target.insert(DicomTransferSyntax_JPEGProcess14);
target.insert(DicomTransferSyntax_JPEGProcess15);
target.insert(DicomTransferSyntax_JPEGProcess16_18);
target.insert(DicomTransferSyntax_JPEGProcess17_19);
target.insert(DicomTransferSyntax_JPEGProcess20_22);
target.insert(DicomTransferSyntax_JPEGProcess21_23);
target.insert(DicomTransferSyntax_JPEGProcess24_26);
target.insert(DicomTransferSyntax_JPEGProcess25_27);
target.insert(DicomTransferSyntax_JPEGProcess28);
target.insert(DicomTransferSyntax_JPEGProcess29);
target.insert(DicomTransferSyntax_JPEGProcess14SV1);
target.insert(DicomTransferSyntax_JPEGLSLossless);
target.insert(DicomTransferSyntax_JPEGLSLossy);
target.insert(DicomTransferSyntax_JPEG2000LosslessOnly);
target.insert(DicomTransferSyntax_JPEG2000);
target.insert(DicomTransferSyntax_JPEG2000MulticomponentLosslessOnly);
target.insert(DicomTransferSyntax_JPEG2000Multicomponent);
target.insert(DicomTransferSyntax_JPIPReferenced);
target.insert(DicomTransferSyntax_JPIPReferencedDeflate);
target.insert(DicomTransferSyntax_MPEG2MainProfileAtMainLevel);
target.insert(DicomTransferSyntax_MPEG2MainProfileAtHighLevel);
target.insert(DicomTransferSyntax_MPEG4HighProfileLevel4_1);
target.insert(DicomTransferSyntax_MPEG4BDcompatibleHighProfileLevel4_1);
target.insert(DicomTransferSyntax_MPEG4HighProfileLevel4_2_For2DVideo);
target.insert(DicomTransferSyntax_MPEG4HighProfileLevel4_2_For3DVideo);
target.insert(DicomTransferSyntax_MPEG4StereoHighProfileLevel4_2);
target.insert(DicomTransferSyntax_HEVCMainProfileLevel5_1);
target.insert(DicomTransferSyntax_HEVCMain10ProfileLevel5_1);
target.insert(DicomTransferSyntax_RLELossless);
target.insert(DicomTransferSyntax_RFC2557MimeEncapsulation);
target.insert(DicomTransferSyntax_XML);
}
}