| 939 | } |
| 940 | |
| 941 | const char* DICOMAppHelper::TransferSyntaxUIDDescription(const char* uid) |
| 942 | { |
| 943 | constexpr struct uid_description |
| 944 | { |
| 945 | const char* uid; |
| 946 | const char* description; |
| 947 | } tsUIDs[] = { |
| 948 | { "1.2.840.10008.1.2", "Implicit VR little endian" }, |
| 949 | { "1.2.840.10008.1.2.1", "Explicit VR little endian" }, |
| 950 | { "1.2.840.10008.1.2.2", "Explicit VR big endian" }, |
| 951 | { "1.2.840.10008.1.2.5", "Run length encoded" }, // RLE packbits |
| 952 | { "1.2.840.10008.1.2.4.50", "JPEG baseline" }, |
| 953 | { "1.2.840.10008.1.2.4.51", "JPEG extended precision" }, |
| 954 | { "1.2.840.10008.1.2.4.57", "JPEG lossless" }, |
| 955 | { "1.2.840.10008.1.2.4.70", "JPEG lossless prediction" }, |
| 956 | { "1.2.840.10008.1.2.4.80", "JPEG-LS" }, |
| 957 | { "1.2.840.10008.1.2.4.81", "JPEG-LS constrained error" }, |
| 958 | { "1.2.840.10008.1.2.4.90", "JPEG 2000 lossless" }, |
| 959 | { "1.2.840.10008.1.2.4.91", "JPEG 2000 lossless/lossy" }, |
| 960 | { "1.2.840.10008.1.2.4.100", "MPEG2 ML" }, // video |
| 961 | { "1.2.840.10008.1.2.4.101", "MPEG2 HL" }, |
| 962 | { "1.2.840.10008.1.2.4.102", "MPEG4 AVC/H.264 High Profile / Level 4.1" }, |
| 963 | { "1.2.840.10008.1.2.4.103", "MPEG4 AVC/H.264 BD-compatible" }, |
| 964 | { "1.2.840.10008.1.2.4.104", "MPEG4 AVC/H.264 High Profile / 4.2 2D" }, |
| 965 | { "1.2.840.10008.1.2.4.105", "MPEG4 AVC/H.264 High Profile / 4.2 3D" }, |
| 966 | { "1.2.840.10008.1.2.4.106", "MPEG4 AVC/H.264 Stereo High Profile / 4.2" }, |
| 967 | { "1.2.840.10008.1.2.4.107", "HEVC/H.265 Main Profile / 5.1" }, |
| 968 | { "1.2.840.10008.1.2.4.108", "HEVC/H.265 Main 10 Profile / 5.1" }, |
| 969 | { "1.2.840.10008.1.2.4.110", "JPEG XL lossless" }, |
| 970 | { "1.2.840.10008.1.2.4.111", "JPEG XL JPEG recompression" }, |
| 971 | { "1.2.840.10008.1.2.4.112", "JPEG XL" }, // all other JPEG XL |
| 972 | { "1.2.840.10008.1.20", "Papyrus little endian" }, |
| 973 | { "1.2.840.113619.5.2", "GE private implicit VR big endian pixels" }, |
| 974 | { nullptr, nullptr } // sentinel |
| 975 | }; |
| 976 | |
| 977 | for (int i = 0; tsUIDs[i].uid; ++i) |
| 978 | { |
| 979 | if (strcmp(uid, tsUIDs[i].uid) == 0) |
| 980 | { |
| 981 | return tsUIDs[i].description; |
| 982 | } |
| 983 | } |
| 984 | |
| 985 | return "Unknown"; |
| 986 | } |
| 987 | |
| 988 | void DICOMAppHelper::RescaleSlopeCallback( |
| 989 | DICOMParser* parser, doublebyte, doublebyte, DICOMParser::VRTypes, unsigned char* val, quadbyte) |
no outgoing calls
no test coverage detected