TPCCLIB
Toggle main menu visibility
Loading...
Searching...
No Matches
libtpcdcm
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
/*****************************************************************************/
21
typedef
struct
DCM_TRUID_ITEM {
23
dcmtruid
id;
25
char
uid[64];
27
char
descr[64];
28
} DCM_TRUID_ITEM;
29
35
static
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
/*****************************************************************************/
66
dcmtruid
dcmTrUID
(
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
/*****************************************************************************/
87
char
*
dcmTrUIDDescr
(
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
/*****************************************************************************/
105
char
*
dcmTrUIDString
(
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
/*****************************************************************************/
dcmTrUIDDescr
char * dcmTrUIDDescr(dcmtruid id)
Definition
dcmuid.c:87
dcmTrUIDString
char * dcmTrUIDString(dcmtruid id)
Definition
dcmuid.c:105
dcmTrUID
dcmtruid dcmTrUID(const char *s)
Definition
dcmuid.c:66
strnlen
size_t strnlen(const char *s, size_t n)
Definition
stringext.c:565
tpcdcm.h
Header file for libtpcdcm.
dcmtruid
dcmtruid
Definition
tpcdcm.h:57
DCM_TRUID_LEI
@ DCM_TRUID_LEI
Little Endian Implicit VR (DICOM default).
Definition
tpcdcm.h:59
DCM_TRUID_JPEG81
@ DCM_TRUID_JPEG81
Lossy JPEG-LS.
Definition
tpcdcm.h:67
DCM_TRUID_JPEG93
@ DCM_TRUID_JPEG93
Multicomponent JPEG 2000.
Definition
tpcdcm.h:71
DCM_TRUID_MPEG100
@ DCM_TRUID_MPEG100
MPEG-2.
Definition
tpcdcm.h:72
DCM_TRUID_JPEG92
@ DCM_TRUID_JPEG92
Lossless multicomponent JPEG 2000.
Definition
tpcdcm.h:70
DCM_TRUID_JPEG91
@ DCM_TRUID_JPEG91
JPEG 2000.
Definition
tpcdcm.h:69
DCM_TRUID_JPEG70
@ DCM_TRUID_JPEG70
Lossless JPEG.
Definition
tpcdcm.h:65
DCM_TRUID_XML
@ DCM_TRUID_XML
XML encoding.
Definition
tpcdcm.h:77
DCM_TRUID_INVALID
@ DCM_TRUID_INVALID
Invalid Transfer Syntax UID.
Definition
tpcdcm.h:78
DCM_TRUID_MPEG103
@ DCM_TRUID_MPEG103
MPEG-4 BD-compatible.
Definition
tpcdcm.h:74
DCM_TRUID_RFC
@ DCM_TRUID_RFC
RFC 2557.
Definition
tpcdcm.h:76
DCM_TRUID_JPEG80
@ DCM_TRUID_JPEG80
Lossless JPEG-LS.
Definition
tpcdcm.h:66
DCM_TRUID_UNKNOWN
@ DCM_TRUID_UNKNOWN
Unknown Transfer Syntax UID.
Definition
tpcdcm.h:58
DCM_TRUID_LEED
@ DCM_TRUID_LEED
Little Endian Explicit Deflated VR.
Definition
tpcdcm.h:61
DCM_TRUID_BEE
@ DCM_TRUID_BEE
Big Endian Explicit VR (retired).
Definition
tpcdcm.h:62
DCM_TRUID_JPEG51
@ DCM_TRUID_JPEG51
Lossy JPEG 12-bit compression.
Definition
tpcdcm.h:64
DCM_TRUID_RLE
@ DCM_TRUID_RLE
Lossless RLE.
Definition
tpcdcm.h:75
DCM_TRUID_LEE
@ DCM_TRUID_LEE
Little Endian Explicit VR.
Definition
tpcdcm.h:60
DCM_TRUID_JPEG90
@ DCM_TRUID_JPEG90
Lossless JPEG 2000.
Definition
tpcdcm.h:68
DCM_TRUID_JPEG50
@ DCM_TRUID_JPEG50
Lossy JPEG 8-bit compression.
Definition
tpcdcm.h:63
DCM_TRUID_MPEG102
@ DCM_TRUID_MPEG102
MPEG-4.
Definition
tpcdcm.h:73
tpcextensions.h
Header file for library libtpcextensions.
Generated on
for TPCCLIB by
1.17.0