TPCCLIB
Loading...
Searching...
No Matches
dcmuid.c
Go to the documentation of this file.
1
4/*****************************************************************************/
5#include "tpcclibConfig.h"
6/*****************************************************************************/
7#include <stdio.h>
8#include <stdlib.h>
9#include <math.h>
10#include <time.h>
11#include <string.h>
12/*****************************************************************************/
13#include "tpcextensions.h"
14/*****************************************************************************/
15#include "tpcdcm.h"
16/*****************************************************************************/
17
18/*****************************************************************************/
21typedef struct DCM_TRUID_ITEM {
23 dcmtruid id;
25 char uid[64];
27 char descr[64];
28} DCM_TRUID_ITEM;
29
35static DCM_TRUID_ITEM dcm_truid[]={
36 {DCM_TRUID_UNKNOWN, "1.2.840.10008.1.2", "unknown"}, //< default
37 {DCM_TRUID_LEI, "1.2.840.10008.1.2", "implicit VR little endian"}, //< default for DICOM
38 {DCM_TRUID_LEE, "1.2.840.10008.1.2.1", "explicit VR little endian"},
39 {DCM_TRUID_LEED, "1.2.840.10008.1.2.1.99", "deflated explicit VR little endian"},
40 {DCM_TRUID_BEE, "1.2.840.10008.1.2.2", "explicit VR big endian"}, //< Retired
41 {DCM_TRUID_JPEG50, "1.2.840.10008.1.2.4.50", "lossy JPEG 8-bit compression"},
42 {DCM_TRUID_JPEG51, "1.2.840.10008.1.2.4.51", "lossy JPEG 12-bit compression"},
43 {DCM_TRUID_JPEG70, "1.2.840.10008.1.2.4.70", "lossless JPEG"},
44 {DCM_TRUID_JPEG80, "1.2.840.10008.1.2.4.80", "lossless JPEG-LS"},
45 {DCM_TRUID_JPEG81, "1.2.840.10008.1.2.4.81", "lossy JPEG-LS"},
46 {DCM_TRUID_JPEG90, "1.2.840.10008.1.2.4.90", "lossless JPEG 2000"},
47 {DCM_TRUID_JPEG91, "1.2.840.10008.1.2.4.91", "JPEG 2000"},
48 {DCM_TRUID_JPEG92, "1.2.840.10008.1.2.4.92", "lossless multicomponent JPEG 2000"},
49 {DCM_TRUID_JPEG93, "1.2.840.10008.1.2.4.93", "multicomponent JPEG 2000"},
50 {DCM_TRUID_MPEG100, "1.2.840.10008.1.2.4.100", "MPEG-2"},
51 {DCM_TRUID_MPEG102, "1.2.840.10008.1.2.4.102", "MPEG-4"},
52 {DCM_TRUID_MPEG103, "1.2.840.10008.1.2.4.103", "MPEG-4 BD-compatible"},
53 {DCM_TRUID_RLE, "1.2.840.10008.1.2.5", "lossless RLE"},
54 {DCM_TRUID_RFC, "1.2.840.10008.1.2.6.1", "RFC 2557"},
55 {DCM_TRUID_XML, "1.2.840.10008.1.2.6.2", "XML"},
56 {DCM_TRUID_INVALID, "", "invalid"}
57};
59/*****************************************************************************/
60
61/*****************************************************************************/
68 const char *s
69) {
70 if(s==NULL || strnlen(s, 5)<5) return(DCM_TRUID_INVALID);
71
72 /* Identify the UID */
73 unsigned short int i=1; // 1 because 0 is unknown
74 while(dcm_truid[i].id!=DCM_TRUID_INVALID) {
75 if(strcmp(dcm_truid[i].uid, s)==0) return(dcm_truid[i].id);
76 i++;
77 }
78 return(DCM_TRUID_UNKNOWN);
79}
80/*****************************************************************************/
81
82/*****************************************************************************/
89 dcmtruid id
90) {
91 unsigned short int i=0;
92 while(dcm_truid[i].id!=DCM_TRUID_INVALID) {
93 if(id==dcm_truid[i].id) return(dcm_truid[i].descr);
94 i++;
95 }
96 return(dcm_truid[DCM_TRUID_INVALID].descr);
97}
98/*****************************************************************************/
99
100/*****************************************************************************/
107 dcmtruid id
108) {
109 unsigned short int i=0;
110 while(dcm_truid[i].id!=DCM_TRUID_INVALID) {
111 if(id==dcm_truid[i].id) return(dcm_truid[i].uid);
112 i++;
113 }
114 return(dcm_truid[DCM_TRUID_INVALID].uid);
115}
116/*****************************************************************************/
117
118/*****************************************************************************/
char * dcmTrUIDDescr(dcmtruid id)
Definition dcmuid.c:87
char * dcmTrUIDString(dcmtruid id)
Definition dcmuid.c:105
dcmtruid dcmTrUID(const char *s)
Definition dcmuid.c:66
size_t strnlen(const char *s, size_t n)
Definition stringext.c:566
Header file for libtpcdcm.
dcmtruid
Definition tpcdcm.h:57
@ DCM_TRUID_LEI
Little Endian Implicit VR (DICOM default)
Definition tpcdcm.h:59
@ DCM_TRUID_JPEG81
Lossy JPEG-LS.
Definition tpcdcm.h:67
@ DCM_TRUID_JPEG93
Multicomponent JPEG 2000.
Definition tpcdcm.h:71
@ DCM_TRUID_MPEG100
MPEG-2.
Definition tpcdcm.h:72
@ DCM_TRUID_JPEG92
Lossless multicomponent JPEG 2000.
Definition tpcdcm.h:70
@ DCM_TRUID_JPEG91
JPEG 2000.
Definition tpcdcm.h:69
@ DCM_TRUID_JPEG70
Lossless JPEG.
Definition tpcdcm.h:65
@ DCM_TRUID_XML
XML encoding.
Definition tpcdcm.h:77
@ DCM_TRUID_INVALID
Invalid Transfer Syntax UID.
Definition tpcdcm.h:78
@ DCM_TRUID_MPEG103
MPEG-4 BD-compatible.
Definition tpcdcm.h:74
@ DCM_TRUID_RFC
RFC 2557.
Definition tpcdcm.h:76
@ DCM_TRUID_JPEG80
Lossless JPEG-LS.
Definition tpcdcm.h:66
@ DCM_TRUID_UNKNOWN
Unknown Transfer Syntax UID
Definition tpcdcm.h:58
@ DCM_TRUID_LEED
Little Endian Explicit Deflated VR.
Definition tpcdcm.h:61
@ DCM_TRUID_BEE
Big Endian Explicit VR (retired)
Definition tpcdcm.h:62
@ DCM_TRUID_JPEG51
Lossy JPEG 12-bit compression.
Definition tpcdcm.h:64
@ DCM_TRUID_RLE
Lossless RLE.
Definition tpcdcm.h:75
@ DCM_TRUID_LEE
Little Endian Explicit VR.
Definition tpcdcm.h:60
@ DCM_TRUID_JPEG90
Lossless JPEG 2000.
Definition tpcdcm.h:68
@ DCM_TRUID_JPEG50
Lossy JPEG 8-bit compression.
Definition tpcdcm.h:63
@ DCM_TRUID_MPEG102
MPEG-4.
Definition tpcdcm.h:73
Header file for library libtpcextensions.