/src/dcmtk/dcmdata/libsrc/dcuid.cc
Line | Count | Source |
1 | | /* |
2 | | * |
3 | | * Copyright (C) 1994-2026, OFFIS e.V. |
4 | | * All rights reserved. See COPYRIGHT file for details. |
5 | | * |
6 | | * This software and supporting documentation were developed by |
7 | | * |
8 | | * OFFIS e.V. |
9 | | * R&D Division Health |
10 | | * Escherweg 2 |
11 | | * D-26121 Oldenburg, Germany |
12 | | * |
13 | | * |
14 | | * Module: dcmdata |
15 | | * |
16 | | * Author: Andrew Hewett, Joerg Riesmeier |
17 | | * |
18 | | * Purpose: |
19 | | * Definitions of "well known" DICOM Unique Identifiers, |
20 | | * routines for finding and creating UIDs. |
21 | | * |
22 | | */ |
23 | | |
24 | | #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ |
25 | | |
26 | | #ifdef HAVE_WINDOWS_H |
27 | | // on Windows, we need Winsock2 for getting network adapter information |
28 | | #include <winsock2.h> |
29 | | #include <iphlpapi.h> |
30 | | #include <ws2tcpip.h> |
31 | | #endif |
32 | | |
33 | | BEGIN_EXTERN_C |
34 | | |
35 | | #ifdef HAVE_SYS_TIME_H |
36 | | #include <sys/time.h> |
37 | | #endif |
38 | | #include <sys/types.h> |
39 | | #ifdef HAVE_SYS_SOCKET_H |
40 | | #ifndef DCOMPAT_SYS_SOCKET_H_ |
41 | | #define DCOMPAT_SYS_SOCKET_H_ |
42 | | /* some systems don't protect sys/socket.h (e.g. DEC Ultrix) */ |
43 | | #include <sys/socket.h> |
44 | | #endif |
45 | | #endif |
46 | | #ifdef HAVE_NETINET_IN_H |
47 | | #include <netinet/in.h> |
48 | | #endif |
49 | | #ifdef HAVE_ARPA_INET_H |
50 | | #include <arpa/inet.h> |
51 | | #endif |
52 | | #ifdef HAVE_NETDB_H |
53 | | #include <netdb.h> |
54 | | #endif |
55 | | |
56 | | #ifndef HAVE_WINDOWS_H |
57 | | #ifndef HAVE_PROTOTYPE_GETTIMEOFDAY |
58 | | /* Ultrix has gettimeofday() but no prototype in the header files */ |
59 | | int gettimeofday(struct timeval *tp, void *); |
60 | | #endif |
61 | | #endif |
62 | | |
63 | | #ifdef __MINGW32__ |
64 | | #include <winerror.h> /* needed for NO_ERROR constant on MinGW */ |
65 | | #endif |
66 | | |
67 | | END_EXTERN_C |
68 | | |
69 | | #include "dcmtk/ofstd/ofstream.h" |
70 | | #include "dcmtk/dcmdata/dcuid.h" |
71 | | #include "dcmtk/dcmdata/dctypes.h" |
72 | | #include "dcmtk/ofstd/ofthread.h" |
73 | | #include "dcmtk/ofstd/ofcrc32.h" |
74 | | #include "dcmtk/ofstd/ofdefine.h" |
75 | | #include "dcmtk/ofstd/ofstd.h" |
76 | | #include "dcmtk/ofstd/ofvector.h" |
77 | | #include "dcmtk/ofstd/ofsockad.h" |
78 | | |
79 | | /** struct for mapping UID values to keywords, names and properties |
80 | | */ |
81 | | struct UIDNameMap { |
82 | | const char* uid; |
83 | | const char* keyword; |
84 | | const char* name; |
85 | | DcmUIDProperties properties; |
86 | | }; |
87 | | |
88 | | /** UID mapping table. |
89 | | * It is very important that the DCMTK-specific names of the UIDs (column #3) |
90 | | * may not use the following characters: space ( ) [ ] , = < > |
91 | | * For the official keywords (column #2) according to DICOM PS3.6, the DICOM |
92 | | * standard already ensures this. |
93 | | */ |
94 | | static const UIDNameMap uidNameMap[] = { |
95 | | // column #1: UID #2: DICOM keyword #3: DCMTK-specific name #4: properties |
96 | | |
97 | | // Application Context |
98 | | { UID_StandardApplicationContext, "DICOMApplicationContext", "StandardApplicationContext", { EUS_DICOM, EUV_Standard, EUT_ApplicationContextName, EUST_other, EUIT_other, UID_PROP_NONE } }, |
99 | | |
100 | | // Transfer Syntax |
101 | | { UID_LittleEndianImplicitTransferSyntax, "ImplicitVRLittleEndian", "LittleEndianImplicit", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
102 | | { UID_LittleEndianExplicitTransferSyntax, "ExplicitVRLittleEndian", "LittleEndianExplicit", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
103 | | { UID_BigEndianExplicitTransferSyntax, "ExplicitVRBigEndian", "BigEndianExplicit", { EUS_DICOM, EUV_Retired, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
104 | | { UID_EncapsulatedUncompressedExplicitVRLittleEndianTransferSyntax, "EncapsulatedUncompressedExplicitVRLittleEndian", "EncapsulatedUncompressedLittleEndianExplicit", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
105 | | { UID_JPEGProcess1TransferSyntax, "JPEGBaseline8Bit", "JPEGBaseline", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
106 | | { UID_JPEGProcess2_4TransferSyntax, "JPEGExtended12Bit", "JPEGExtended:Process2+4", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
107 | | { UID_JPEGProcess3_5TransferSyntax, "JPEGExtended35", "JPEGExtended:Process3+5", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
108 | | { UID_JPEGProcess6_8TransferSyntax, "JPEGSpectralSelectionNonHierarchical68", "JPEGSpectralSelection:Non-hierarchical:Process6+8", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
109 | | { UID_JPEGProcess7_9TransferSyntax, "JPEGSpectralSelectionNonHierarchical79", "JPEGSpectralSelection:Non-hierarchical:Process7+9", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
110 | | { UID_JPEGProcess10_12TransferSyntax, "JPEGFullProgressionNonHierarchical1012", "JPEGFullProgression:Non-hierarchical:Process10+12", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
111 | | { UID_JPEGProcess11_13TransferSyntax, "JPEGFullProgressionNonHierarchical1113", "JPEGFullProgression:Non-hierarchical:Process11+13", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
112 | | { UID_JPEGProcess14TransferSyntax, "JPEGLossless", "JPEGLossless:Non-hierarchical:Process14", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
113 | | { UID_JPEGProcess15TransferSyntax, "JPEGLosslessNonHierarchical15", "JPEGLossless:Non-hierarchical:Process15", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
114 | | { UID_JPEGProcess16_18TransferSyntax, "JPEGExtendedHierarchical1618", "JPEGExtended:Hierarchical:Process16+18", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
115 | | { UID_JPEGProcess17_19TransferSyntax, "JPEGExtendedHierarchical1719", "JPEGExtended:Hierarchical:Process17+19", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
116 | | { UID_JPEGProcess20_22TransferSyntax, "JPEGSpectralSelectionHierarchical2022", "JPEGSpectralSelection:Hierarchical:Process20+22", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
117 | | { UID_JPEGProcess21_23TransferSyntax, "JPEGSpectralSelectionHierarchical2123", "JPEGSpectralSelection:Hierarchical:Process21+23", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
118 | | { UID_JPEGProcess24_26TransferSyntax, "JPEGFullProgressionHierarchical2426", "JPEGFullProgression:Hierarchical:Process24+26", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
119 | | { UID_JPEGProcess25_27TransferSyntax, "JPEGFullProgressionHierarchical2527", "JPEGFullProgression:Hierarchical:Process25+27", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
120 | | { UID_JPEGProcess28TransferSyntax, "JPEGLosslessHierarchical28", "JPEGLossless:Hierarchical:Process28", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
121 | | { UID_JPEGProcess29TransferSyntax, "JPEGLosslessHierarchical29", "JPEGLossless:Hierarchical:Process29", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
122 | | { UID_JPEGProcess14SV1TransferSyntax, "JPEGLosslessSV1", "JPEGLossless:Non-hierarchical-1stOrderPrediction", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
123 | | { UID_JPEGLSLosslessTransferSyntax, "JPEGLSLossless", "JPEGLSLossless", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
124 | | { UID_JPEGLSLossyTransferSyntax, "JPEGLSNearLossless", "JPEGLSLossy", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
125 | | { UID_RLELosslessTransferSyntax, "RLELossless", "RLELossless", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
126 | | { UID_DeflatedExplicitVRLittleEndianTransferSyntax, "DeflatedExplicitVRLittleEndian", "DeflatedLittleEndianExplicit", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
127 | | { UID_DeflatedImageFrameCompressionTransferSyntax, "DeflatedImageFrameCompression", "DeflatedImageFrameCompression", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
128 | | { UID_JPEG2000LosslessOnlyTransferSyntax, "JPEG2000Lossless", "JPEG2000LosslessOnly", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
129 | | { UID_JPEG2000TransferSyntax, "JPEG2000", "JPEG2000", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
130 | | { UID_JPEG2000Part2MulticomponentImageCompressionLosslessOnlyTransferSyntax, "JPEG2000MCLossless", "JPEG2000MulticomponentLosslessOnly", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
131 | | { UID_JPEG2000Part2MulticomponentImageCompressionTransferSyntax, "JPEG2000MC", "JPEG2000Multicomponent", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
132 | | { UID_JPIPReferencedTransferSyntax, "JPIPReferenced", "JPIPReferenced", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
133 | | { UID_JPIPReferencedDeflateTransferSyntax, "JPIPReferencedDeflate", "JPIPReferencedDeflate", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
134 | | { UID_MPEG2MainProfileAtMainLevelTransferSyntax, "MPEG2MPML", "MPEG2MainProfile@MainLevel", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
135 | | { UID_FragmentableMPEG2MainProfileMainLevelTransferSyntax, "MPEG2MPMLF", "FragmentableMPEG2MainProfile/MainLevel", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
136 | | { UID_MPEG2MainProfileAtHighLevelTransferSyntax, "MPEG2MPHL", "MPEG2MainProfile@HighLevel", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
137 | | { UID_FragmentableMPEG2MainProfileHighLevelTransferSyntax, "MPEG2MPHLF", "FragmentableMPEG2MainProfile/HighLevel", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
138 | | { UID_MPEG4HighProfileLevel4_1TransferSyntax, "MPEG4HP41", "MPEG4HighProfile/Level4.1", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
139 | | { UID_FragmentableMPEG4HighProfileLevel4_1TransferSyntax, "MPEG4HP41F", "FragmentableMPEG4HighProfile/Level4.1", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
140 | | { UID_MPEG4BDcompatibleHighProfileLevel4_1TransferSyntax, "MPEG4HP41BD", "MPEG4BDcompatibleHighProfile/Level4.1", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
141 | | { UID_FragmentableMPEG4BDcompatibleHighProfileLevel4_1TransferSyntax, "MPEG4HP41BDF", "FragmentableMPEG4BDcompatibleHighProfile/Level4.1", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
142 | | { UID_MPEG4HighProfileLevel4_2_For2DVideoTransferSyntax, "MPEG4HP422D", "MPEG4HighProfile/Level4.2For2DVideo", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
143 | | { UID_FragmentableMPEG4HighProfileLevel4_2_For2DVideoTransferSyntax, "MPEG4HP422DF", "FragmentableMPEG4HighProfile/Level4.2For2DVideo", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
144 | | { UID_MPEG4HighProfileLevel4_2_For3DVideoTransferSyntax, "MPEG4HP423D", "MPEG4HighProfile/Level4.2For3DVideo", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
145 | | { UID_FragmentableMPEG4HighProfileLevel4_2_For3DVideoTransferSyntax, "MPEG4HP423DF", "FragmentableMPEG4HighProfile/Level4.2For3DVideo", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
146 | | { UID_MPEG4StereoHighProfileLevel4_2TransferSyntax, "MPEG4HP42STEREO", "MPEG4StereoHighProfile/Level4.2", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
147 | | { UID_FragmentableMPEG4StereoHighProfileLevel4_2TransferSyntax, "MPEG4HP42STEREOF", "FragmentableMPEG4StereoHighProfile/Level4.2", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
148 | | { UID_HEVCMainProfileLevel5_1TransferSyntax, "HEVCMP51", "HEVCMainProfile/Level5.1", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
149 | | { UID_HEVCMain10ProfileLevel5_1TransferSyntax, "HEVCM10P51", "HEVCMain10Profile/Level5.1", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
150 | | { UID_JPEGXLLosslessTransferSyntax, "JPEGXLLossless", "JPEGXLLossless", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
151 | | { UID_JPEGXLJPEGRecompressionTransferSyntax, "JPEGXLJPEGRecompression", "JPEGXLJPEGRecompression", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
152 | | { UID_JPEGXLTransferSyntax, "JPEGXL", "JPEGXL", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
153 | | { UID_HighThroughputJPEG2000ImageCompressionLosslessOnlyTransferSyntax, "HTJ2KLossless", "HighThroughputJPEG2000ImageCompressionLosslessOnly", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
154 | | { UID_HighThroughputJPEG2000RPCLImageCompressionLosslessOnlyTransferSyntax, "HTJ2KLosslessRPCL", "HighThroughputJPEG2000withRPCLOptionsImageCompressionLosslessOnly", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
155 | | { UID_HighThroughputJPEG2000ImageCompressionTransferSyntax, "HTJ2K", "HighThroughputJPEG2000ImageCompression", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
156 | | { UID_JPIPHTJ2KReferencedTransferSyntax, "JPIPHTJ2KReferenced", "JPIPHTJ2KReferenced", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
157 | | { UID_JPIPHTJ2KReferencedDeflateTransferSyntax, "JPIPHTJ2KReferencedDeflate", "JPIPHTJ2KReferencedDeflate", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
158 | | { UID_SMPTEST2110_20_UncompressedProgressiveActiveVideoTransferSyntax, "SMPTEST211020UncompressedProgressiveActiveVideo", "SMPTEST2110-20:UncompressedProgressiveActiveVideo", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
159 | | { UID_SMPTEST2110_20_UncompressedInterlacedActiveVideoTransferSyntax, "SMPTEST211020UncompressedInterlacedActiveVideo", "SMPTEST2110-20:UncompressedInterlacedActiveVideo", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
160 | | { UID_SMPTEST2110_30_PCMDigitalAudioTransferSyntax, "SMPTEST211030PCMDigitalAudio", "SMPTEST2110-30:PCMDigitalAudio", { EUS_DICOM, EUV_Standard, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
161 | | { UID_RETIRED_RFC2557MIMEEncapsulationTransferSyntax, "RFC2557MIMEEncapsulation", "RETIRED_RFC2557MIMEEncapsulation", { EUS_DICOM, EUV_Retired, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
162 | | { UID_RETIRED_XMLEncodingTransferSyntax, "XMLEncoding", "RETIRED_XMLEncoding", { EUS_DICOM, EUV_Retired, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
163 | | { UID_PrivateGE_LEI_WithBigEndianPixelDataTransferSyntax, NULL /* no official keyword */, "PrivateGELittleEndianImplicitWithBigEndianPixelData", { EUS_DICOM, EUV_Private, EUT_TransferSyntax, EUST_other, EUIT_other, UID_PROP_NONE } }, |
164 | | |
165 | | // Storage (DICOM) |
166 | | { UID_AcquisitionContextSRStorage, "AcquisitionContextSRStorage", "AcquisitionContextSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
167 | | { UID_AdvancedBlendingPresentationStateStorage, "AdvancedBlendingPresentationStateStorage", "AdvancedBlendingPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, |
168 | | { UID_AmbulatoryECGWaveformStorage, "AmbulatoryECGWaveformStorage", "AmbulatoryECGWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, |
169 | | { UID_ArterialPulseWaveformStorage, "ArterialPulseWaveformStorage", "ArterialPulseWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, |
170 | | { UID_AutorefractionMeasurementsStorage, "AutorefractionMeasurementsStorage", "AutorefractionMeasurementsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
171 | | { UID_BasicStructuredDisplayStorage, "BasicStructuredDisplayStorage", "BasicStructuredDisplayStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
172 | | { UID_BasicTextSRStorage, "BasicTextSRStorage", "BasicTextSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
173 | | { UID_BasicVoiceAudioWaveformStorage, "BasicVoiceAudioWaveformStorage", "BasicVoiceAudioWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, |
174 | | { UID_BlendingSoftcopyPresentationStateStorage, "BlendingSoftcopyPresentationStateStorage", "BlendingSoftcopyPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, |
175 | | { UID_BodyPositionWaveformStorage, "BodyPositionWaveformStorage", "BodyPositionWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, |
176 | | { UID_BreastProjectionXRayImageStorageForPresentation, "BreastProjectionXRayImageStorageForPresentation", "BreastProjectionXRayImageStorageForPresentation", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
177 | | { UID_BreastProjectionXRayImageStorageForProcessing, "BreastProjectionXRayImageStorageForProcessing", "BreastProjectionXRayImageStorageForProcessing", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
178 | | { UID_BreastTomosynthesisImageStorage, "BreastTomosynthesisImageStorage", "BreastTomosynthesisImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
179 | | { UID_CardiacElectrophysiologyWaveformStorage, "CardiacElectrophysiologyWaveformStorage", "CardiacElectrophysiologyWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, |
180 | | { UID_CArmPhotonElectronRadiationRecordStorage, "CArmPhotonElectronRadiationRecordStorage", "CArmPhotonElectronRadiationRecordStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
181 | | { UID_CArmPhotonElectronRadiationStorage, "CArmPhotonElectronRadiationStorage", "CArmPhotonElectronRadiationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
182 | | { UID_ChestCADSRStorage, "ChestCADSRStorage", "ChestCADSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
183 | | { UID_ColonCADSRStorage, "ColonCADSRStorage", "ColonCADSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
184 | | { UID_ColorSoftcopyPresentationStateStorage, "ColorSoftcopyPresentationStateStorage", "ColorSoftcopyPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, |
185 | | { UID_CompositingPlanarMPRVolumetricPresentationStateStorage, "CompositingPlanarMPRVolumetricPresentationStateStorage", "CompositingPlanarMPRVolumetricPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, |
186 | | { UID_Comprehensive3DSRStorage, "Comprehensive3DSRStorage", "Comprehensive3DSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
187 | | { UID_ComprehensiveSRStorage, "ComprehensiveSRStorage", "ComprehensiveSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
188 | | { UID_ComputedRadiographyImageStorage, "ComputedRadiographyImageStorage", "ComputedRadiographyImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
189 | | { UID_ConfocalMicroscopyImageStorage, "ConfocalMicroscopyImageStorage", "ConfocalMicroscopyImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
190 | | { UID_ConfocalMicroscopyTiledPyramidalImageStorage, "ConfocalMicroscopyTiledPyramidalImageStorage", "ConfocalMicroscopyTiledPyramidalImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
191 | | { UID_ContentAssessmentResultsStorage, "ContentAssessmentResultsStorage", "ContentAssessmentResultsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
192 | | { UID_CornealTopographyMapStorage, "CornealTopographyMapStorage", "CornealTopographyMapStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
193 | | { UID_CTDefinedProcedureProtocolStorage, "CTDefinedProcedureProtocolStorage", "CTDefinedProcedureProtocolStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NON_PATIENT | UID_PROP_NO_DIR_RECORD } }, |
194 | | { UID_CTImageStorage, "CTImageStorage", "CTImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
195 | | { UID_CTImageStorageForProcessing, "CTImageStorageForProcessing", "CTImageStorageForProcessing", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
196 | | { UID_CTPerformedProcedureProtocolStorage, "CTPerformedProcedureProtocolStorage", "CTPerformedProcedureProtocolStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
197 | | { UID_DeformableSpatialRegistrationStorage, "DeformableSpatialRegistrationStorage", "DeformableSpatialRegistrationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
198 | | { UID_DermoscopicPhotographyImageStorage, "DermoscopicPhotographyImageStorage", "DermoscopicPhotographyImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
199 | | { UID_DigitalIntraOralXRayImageStorageForPresentation, "DigitalIntraOralXRayImageStorageForPresentation", "DigitalIntraOralXRayImageStorageForPresentation", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
200 | | { UID_DigitalIntraOralXRayImageStorageForProcessing, "DigitalIntraOralXRayImageStorageForProcessing", "DigitalIntraOralXRayImageStorageForProcessing", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
201 | | { UID_DigitalMammographyXRayImageStorageForPresentation, "DigitalMammographyXRayImageStorageForPresentation", "DigitalMammographyXRayImageStorageForPresentation", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
202 | | { UID_DigitalMammographyXRayImageStorageForProcessing, "DigitalMammographyXRayImageStorageForProcessing", "DigitalMammographyXRayImageStorageForProcessing", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
203 | | { UID_DigitalXRayImageStorageForPresentation, "DigitalXRayImageStorageForPresentation", "DigitalXRayImageStorageForPresentation", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
204 | | { UID_DigitalXRayImageStorageForProcessing, "DigitalXRayImageStorageForProcessing", "DigitalXRayImageStorageForProcessing", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
205 | | { UID_ElectromyogramWaveformStorage, "ElectromyogramWaveformStorage", "ElectromyogramWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, |
206 | | { UID_ElectrooculogramWaveformStorage, "ElectrooculogramWaveformStorage", "ElectrooculogramWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, |
207 | | { UID_EncapsulatedCDAStorage, "EncapsulatedCDAStorage", "EncapsulatedCDAStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Encapsulated, UID_PROP_NONE } }, |
208 | | { UID_EncapsulatedMTLStorage, "EncapsulatedMTLStorage", "EncapsulatedMTLStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Encapsulated, UID_PROP_NONE } }, |
209 | | { UID_EncapsulatedOBJStorage, "EncapsulatedOBJStorage", "EncapsulatedOBJStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Encapsulated, UID_PROP_NONE } }, |
210 | | { UID_EncapsulatedPDFStorage, "EncapsulatedPDFStorage", "EncapsulatedPDFStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Encapsulated, UID_PROP_NONE } }, |
211 | | { UID_EncapsulatedSTLStorage, "EncapsulatedSTLStorage", "EncapsulatedSTLStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Encapsulated, UID_PROP_NONE } }, |
212 | | { UID_EnhancedContinuousRTImageStorage, "EnhancedContinuousRTImageStorage", "EnhancedContinuousRTImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
213 | | { UID_EnhancedCTImageStorage, "EnhancedCTImageStorage", "EnhancedCTImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
214 | | { UID_EnhancedCTImageStorageForProcessing, "EnhancedCTImageStorageForProcessing", "EnhancedCTImageStorageForProcessing", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
215 | | { UID_EnhancedMRColorImageStorage, "EnhancedMRColorImageStorage", "EnhancedMRColorImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
216 | | { UID_EnhancedMRImageStorage, "EnhancedMRImageStorage", "EnhancedMRImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
217 | | { UID_EnhancedPETImageStorage, "EnhancedPETImageStorage", "EnhancedPETImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
218 | | { UID_EnhancedRTImageStorage, "EnhancedRTImageStorage", "EnhancedRTImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
219 | | { UID_EnhancedSRStorage, "EnhancedSRStorage", "EnhancedSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
220 | | { UID_EnhancedUSVolumeStorage, "EnhancedUSVolumeStorage", "EnhancedUSVolumeStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
221 | | { UID_EnhancedXAImageStorage, "EnhancedXAImageStorage", "EnhancedXAImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
222 | | { UID_EnhancedXRayRadiationDoseSRStorage, "EnhancedXRayRadiationDoseSRStorage", "EnhancedXRayRadiationDoseSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
223 | | { UID_EnhancedXRFImageStorage, "EnhancedXRFImageStorage", "EnhancedXRFImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
224 | | { UID_ExtensibleSRStorage, "ExtensibleSRStorage", "ExtensibleSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
225 | | { UID_General32BitECGWaveformStorage, "General32bitECGWaveformStorage", "General32BitECGWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, |
226 | | { UID_GeneralAudioWaveformStorage, "GeneralAudioWaveformStorage", "GeneralAudioWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, |
227 | | { UID_GeneralECGWaveformStorage, "GeneralECGWaveformStorage", "GeneralECGWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, |
228 | | { UID_GrayscalePlanarMPRVolumetricPresentationStateStorage, "GrayscalePlanarMPRVolumetricPresentationStateStorage", "GrayscalePlanarMPRVolumetricPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, |
229 | | { UID_GrayscaleSoftcopyPresentationStateStorage, "GrayscaleSoftcopyPresentationStateStorage", "GrayscaleSoftcopyPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, |
230 | | { UID_HeightMapSegmentationStorage, "HeightMapSegmentationStorage", "HeightMapSegmentationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
231 | | { UID_HemodynamicWaveformStorage, "HemodynamicWaveformStorage", "HemodynamicWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, |
232 | | { UID_ImplantationPlanSRStorage, "ImplantationPlanSRStorage", "ImplantationPlanSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
233 | | // the following line is needed for reasons of backward compatibility (name of SOP Class changed, see the previous line) |
234 | | { UID_ImplantationPlanSRStorage, NULL /* see above */, "ImplantationPlanSRDocumentStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
235 | | { UID_IntraocularLensCalculationsStorage, "IntraocularLensCalculationsStorage", "IntraocularLensCalculationsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
236 | | { UID_IntravascularOpticalCoherenceTomographyImageStorageForPresentation, "IntravascularOpticalCoherenceTomographyImageStorageForPresentation", "IntravascularOpticalCoherenceTomographyImageStorageForPresentation", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
237 | | { UID_IntravascularOpticalCoherenceTomographyImageStorageForProcessing, "IntravascularOpticalCoherenceTomographyImageStorageForProcessing", "IntravascularOpticalCoherenceTomographyImageStorageForProcessing", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
238 | | { UID_KeratometryMeasurementsStorage, "KeratometryMeasurementsStorage", "KeratometryMeasurementsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
239 | | { UID_KeyObjectSelectionDocumentStorage, "KeyObjectSelectionDocumentStorage", "KeyObjectSelectionDocumentStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
240 | | { UID_LabelMapSegmentationStorage, "LabelMapSegmentationStorage", "LabelMapSegmentationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
241 | | { UID_LegacyConvertedEnhancedCTImageStorage, "LegacyConvertedEnhancedCTImageStorage", "LegacyConvertedEnhancedCTImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
242 | | { UID_LegacyConvertedEnhancedCTImageStorageForProcessing, "LegacyConvertedEnhancedCTImageStorageForProcessing", "LegacyConvertedEnhancedCTImageStorageForProcessing", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
243 | | { UID_LegacyConvertedEnhancedMRImageStorage, "LegacyConvertedEnhancedMRImageStorage", "LegacyConvertedEnhancedMRImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
244 | | { UID_LegacyConvertedEnhancedPETImageStorage, "LegacyConvertedEnhancedPETImageStorage", "LegacyConvertedEnhancedPETImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
245 | | { UID_LensometryMeasurementsStorage, "LensometryMeasurementsStorage", "LensometryMeasurementsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
246 | | { UID_MacularGridThicknessAndVolumeReportStorage, "MacularGridThicknessAndVolumeReportStorage", "MacularGridThicknessAndVolumeReportStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
247 | | { UID_MammographyCADSRStorage, "MammographyCADSRStorage", "MammographyCADSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
248 | | { UID_MediaStorageDirectoryStorage, "MediaStorageDirectoryStorage", "MediaStorageDirectoryStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
249 | | { UID_MicroscopyBulkSimpleAnnotationsStorage, "MicroscopyBulkSimpleAnnotationsStorage", "MicroscopyBulkSimpleAnnotationsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
250 | | { UID_MRImageStorage, "MRImageStorage", "MRImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
251 | | { UID_MRSpectroscopyStorage, "MRSpectroscopyStorage", "MRSpectroscopyStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
252 | | { UID_MultichannelRespiratoryWaveformStorage, "MultichannelRespiratoryWaveformStorage", "MultichannelRespiratoryWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, |
253 | | { UID_MultiframeGrayscaleByteSecondaryCaptureImageStorage, "MultiFrameGrayscaleByteSecondaryCaptureImageStorage", "MultiframeGrayscaleByteSecondaryCaptureImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
254 | | { UID_MultiframeGrayscaleWordSecondaryCaptureImageStorage, "MultiFrameGrayscaleWordSecondaryCaptureImageStorage", "MultiframeGrayscaleWordSecondaryCaptureImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
255 | | { UID_MultiframeSingleBitSecondaryCaptureImageStorage, "MultiFrameSingleBitSecondaryCaptureImageStorage", "MultiframeSingleBitSecondaryCaptureImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
256 | | { UID_MultiframeTrueColorSecondaryCaptureImageStorage, "MultiFrameTrueColorSecondaryCaptureImageStorage", "MultiframeTrueColorSecondaryCaptureImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
257 | | { UID_MultipleVolumeRenderingVolumetricPresentationStateStorage, "MultipleVolumeRenderingVolumetricPresentationStateStorage", "MultipleVolumeRenderingVolumetricPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, |
258 | | { UID_NuclearMedicineImageStorage, "NuclearMedicineImageStorage", "NuclearMedicineImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
259 | | { UID_OphthalmicAxialMeasurementsStorage, "OphthalmicAxialMeasurementsStorage", "OphthalmicAxialMeasurementsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
260 | | { UID_OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage, "OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage", "OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
261 | | { UID_OphthalmicOpticalCoherenceTomographyEnFaceImageStorage, "OphthalmicOpticalCoherenceTomographyEnFaceImageStorage", "OphthalmicOpticalCoherenceTomographyEnFaceImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
262 | | { UID_OphthalmicPhotography16BitImageStorage, "OphthalmicPhotography16BitImageStorage", "OphthalmicPhotography16BitImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
263 | | { UID_OphthalmicPhotography8BitImageStorage, "OphthalmicPhotography8BitImageStorage", "OphthalmicPhotography8BitImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
264 | | { UID_OphthalmicThicknessMapStorage, "OphthalmicThicknessMapStorage", "OphthalmicThicknessMapStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
265 | | { UID_OphthalmicTomographyImageStorage, "OphthalmicTomographyImageStorage", "OphthalmicTomographyImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
266 | | { UID_OphthalmicVisualFieldStaticPerimetryMeasurementsStorage, "OphthalmicVisualFieldStaticPerimetryMeasurementsStorage", "OphthalmicVisualFieldStaticPerimetryMeasurementsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
267 | | { UID_ParametricMapStorage, "ParametricMapStorage", "ParametricMapStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_ENHANCED_MF } }, |
268 | | { UID_PatientRadiationDoseSRStorage, "PatientRadiationDoseSRStorage", "PatientRadiationDoseSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
269 | | { UID_PerformedImagingAgentAdministrationSRStorage, "PerformedImagingAgentAdministrationSRStorage", "PerformedImagingAgentAdministrationSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
270 | | { UID_PhotoacousticImageStorage, "PhotoacousticImageStorage", "PhotoacousticImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
271 | | { UID_PlannedImagingAgentAdministrationSRStorage, "PlannedImagingAgentAdministrationSRStorage", "PlannedImagingAgentAdministrationSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
272 | | { UID_PositronEmissionTomographyImageStorage, "PositronEmissionTomographyImageStorage", "PositronEmissionTomographyImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
273 | | { UID_ProcedureLogStorage, "ProcedureLogStorage", "ProcedureLogStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
274 | | { UID_ProtocolApprovalStorage, "ProtocolApprovalStorage", "ProtocolApprovalStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NON_PATIENT | UID_PROP_NO_DIR_RECORD } }, |
275 | | { UID_PseudoColorSoftcopyPresentationStateStorage, "PseudoColorSoftcopyPresentationStateStorage", "PseudoColorSoftcopyPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, |
276 | | { UID_RadiopharmaceuticalRadiationDoseSRStorage, "RadiopharmaceuticalRadiationDoseSRStorage", "RadiopharmaceuticalRadiationDoseSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
277 | | { UID_RawDataStorage, "RawDataStorage", "RawDataStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
278 | | { UID_RealWorldValueMappingStorage, "RealWorldValueMappingStorage", "RealWorldValueMappingStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
279 | | { UID_RespiratoryWaveformStorage, "RespiratoryWaveformStorage", "RespiratoryWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, |
280 | | { UID_RoboticArmRadiationStorage, "RoboticArmRadiationStorage", "RoboticArmRadiationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
281 | | { UID_RoboticRadiationRecordStorage, "RoboticRadiationRecordStorage", "RoboticRadiationRecordStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
282 | | { UID_RoutineScalpElectroencephalogramWaveformStorage, "RoutineScalpElectroencephalogramWaveformStorage", "RoutineScalpElectroencephalogramWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, |
283 | | { UID_RTBeamsDeliveryInstructionStorage, "RTBeamsDeliveryInstructionStorage", "RTBeamsDeliveryInstructionStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
284 | | { UID_RTBeamsTreatmentRecordStorage, "RTBeamsTreatmentRecordStorage", "RTBeamsTreatmentRecordStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
285 | | { UID_RTBrachyApplicationSetupDeliveryInstructionStorage, "RTBrachyApplicationSetupDeliveryInstructionStorage", "RTBrachyApplicationSetupDeliveryInstructionStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
286 | | { UID_RTBrachyTreatmentRecordStorage, "RTBrachyTreatmentRecordStorage", "RTBrachyTreatmentRecordStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
287 | | { UID_RTDoseStorage, "RTDoseStorage", "RTDoseStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
288 | | { UID_RTImageStorage, "RTImageStorage", "RTImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
289 | | { UID_RTIonBeamsTreatmentRecordStorage, "RTIonBeamsTreatmentRecordStorage", "RTIonBeamsTreatmentRecordStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
290 | | { UID_RTIonPlanStorage, "RTIonPlanStorage", "RTIonPlanStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
291 | | { UID_RTPatientPositionAcquisitionInstructionStorage, "RTPatientPositionAcquisitionInstructionStorage", "RTPatientPositionAcquisitionInstructionStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
292 | | { UID_RTPhysicianIntentStorage, "RTPhysicianIntentStorage", "RTPhysicianIntentStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
293 | | { UID_RTPlanStorage, "RTPlanStorage", "RTPlanStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
294 | | { UID_RTRadiationRecordSetStorage, "RTRadiationRecordSetStorage", "RTRadiationRecordSetStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
295 | | { UID_RTRadiationSalvageRecordStorage, "RTRadiationSalvageRecordStorage", "RTRadiationSalvageRecordStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
296 | | { UID_RTRadiationSetDeliveryInstructionStorage, "RTRadiationSetDeliveryInstructionStorage", "RTRadiationSetDeliveryInstructionStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
297 | | { UID_RTRadiationSetStorage, "RTRadiationSetStorage", "RTRadiationSetStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
298 | | { UID_RTSegmentAnnotationStorage, "RTSegmentAnnotationStorage", "RTSegmentAnnotationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
299 | | { UID_RTStructureSetStorage, "RTStructureSetStorage", "RTStructureSetStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
300 | | { UID_RTTreatmentPreparationStorage, "RTTreatmentPreparationStorage", "RTTreatmentPreparationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
301 | | { UID_RTTreatmentSummaryRecordStorage, "RTTreatmentSummaryRecordStorage", "RTTreatmentSummaryRecordStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
302 | | { UID_SecondaryCaptureImageStorage, "SecondaryCaptureImageStorage", "SecondaryCaptureImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
303 | | { UID_SegmentationStorage, "SegmentationStorage", "SegmentationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
304 | | { UID_SegmentedVolumeRenderingVolumetricPresentationStateStorage, "SegmentedVolumeRenderingVolumetricPresentationStateStorage", "SegmentedVolumeRenderingVolumetricPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, |
305 | | { UID_SimplifiedAdultEchoSRStorage, "SimplifiedAdultEchoSRStorage", "SimplifiedAdultEchoSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
306 | | { UID_SleepElectroencephalogramWaveformStorage, "SleepElectroencephalogramWaveformStorage", "SleepElectroencephalogramWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, |
307 | | { UID_SpatialFiducialsStorage, "SpatialFiducialsStorage", "SpatialFiducialsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
308 | | { UID_SpatialRegistrationStorage, "SpatialRegistrationStorage", "SpatialRegistrationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
309 | | { UID_SpectaclePrescriptionReportStorage, "SpectaclePrescriptionReportStorage", "SpectaclePrescriptionReportStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
310 | | { UID_StereometricRelationshipStorage, "StereometricRelationshipStorage", "StereometricRelationshipStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
311 | | { UID_SubjectiveRefractionMeasurementsStorage, "SubjectiveRefractionMeasurementsStorage", "SubjectiveRefractionMeasurementsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
312 | | { UID_SurfaceScanMeshStorage, "SurfaceScanMeshStorage", "SurfaceScanMeshStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
313 | | { UID_SurfaceScanPointCloudStorage, "SurfaceScanPointCloudStorage", "SurfaceScanPointCloudStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
314 | | { UID_SurfaceSegmentationStorage, "SurfaceSegmentationStorage", "SurfaceSegmentationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
315 | | { UID_TomotherapeuticRadiationRecordStorage, "TomotherapeuticRadiationRecordStorage", "TomotherapeuticRadiationRecordStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
316 | | { UID_TomotherapeuticRadiationStorage, "TomotherapeuticRadiationStorage", "TomotherapeuticRadiationStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
317 | | { UID_TractographyResultsStorage, "TractographyResultsStorage", "TractographyResultsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
318 | | { UID_TwelveLeadECGWaveformStorage, "TwelveLeadECGWaveformStorage", "TwelveLeadECGWaveformStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, |
319 | | { UID_UltrasoundImageStorage, "UltrasoundImageStorage", "UltrasoundImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
320 | | { UID_UltrasoundMultiframeImageStorage, "UltrasoundMultiFrameImageStorage", "UltrasoundMultiframeImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
321 | | { UID_VariableModalityLUTSoftcopyPresentationStateStorage, "VariableModalityLUTSoftcopyPresentationStateStorage", "VariableModalityLUTSoftcopyPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, |
322 | | { UID_VideoEndoscopicImageStorage, "VideoEndoscopicImageStorage", "VideoEndoscopicImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
323 | | { UID_VideoMicroscopicImageStorage, "VideoMicroscopicImageStorage", "VideoMicroscopicImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
324 | | { UID_VideoPhotographicImageStorage, "VideoPhotographicImageStorage", "VideoPhotographicImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
325 | | { UID_VisualAcuityMeasurementsStorage, "VisualAcuityMeasurementsStorage", "VisualAcuityMeasurementsStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
326 | | { UID_VLEndoscopicImageStorage, "VLEndoscopicImageStorage", "VLEndoscopicImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
327 | | { UID_VLMicroscopicImageStorage, "VLMicroscopicImageStorage", "VLMicroscopicImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
328 | | { UID_VLPhotographicImageStorage, "VLPhotographicImageStorage", "VLPhotographicImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
329 | | { UID_VLSlideCoordinatesMicroscopicImageStorage, "VLSlideCoordinatesMicroscopicImageStorage", "VLSlideCoordinatesMicroscopicImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
330 | | { UID_VLWholeSlideMicroscopyImageStorage, "VLWholeSlideMicroscopyImageStorage", "VLWholeSlideMicroscopyImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
331 | | { UID_VolumeRenderingVolumetricPresentationStateStorage, "VolumeRenderingVolumetricPresentationStateStorage", "VolumeRenderingVolumetricPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, |
332 | | { UID_WaveformAcquisitionPresentationStateStorage, "WaveformAcquisitionPresentationStateStorage", "WaveformAcquisitionPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, |
333 | | { UID_WaveformAnnotationSRStorage, "WaveformAnnotationSRStorage", "WaveformAnnotationSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
334 | | { UID_WaveformPresentationStateStorage, "WaveformPresentationStateStorage", "WaveformPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, |
335 | | { UID_WideFieldOphthalmicPhotographyStereographicProjectionImageStorage, "WideFieldOphthalmicPhotographyStereographicProjectionImageStorage", "WideFieldOphthalmicPhotographyStereographicProjectionImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
336 | | { UID_WideFieldOphthalmicPhotography3DCoordinatesImageStorage, "WideFieldOphthalmicPhotography3DCoordinatesImageStorage", "WideFieldOphthalmicPhotography3DCoordinatesImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
337 | | { UID_XADefinedProcedureProtocolStorage, "XADefinedProcedureProtocolStorage", "XADefinedProcedureProtocolStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NON_PATIENT | UID_PROP_NO_DIR_RECORD } }, |
338 | | { UID_XAPerformedProcedureProtocolStorage, "XAPerformedProcedureProtocolStorage", "XAPerformedProcedureProtocolStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
339 | | { UID_XAXRFGrayscaleSoftcopyPresentationStateStorage, "XAXRFGrayscaleSoftcopyPresentationStateStorage", "XAXRFGrayscaleSoftcopyPresentationStateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_PresentationState, UID_PROP_NONE } }, |
340 | | { UID_XRay3DAngiographicImageStorage, "XRay3DAngiographicImageStorage", "XRay3DAngiographicImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
341 | | { UID_XRay3DCraniofacialImageStorage, "XRay3DCraniofacialImageStorage", "XRay3DCraniofacialImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_ENHANCED_MF } }, |
342 | | { UID_XRayAngiographicImageStorage, "XRayAngiographicImageStorage", "XRayAngiographicImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
343 | | { UID_XRayRadiationDoseSRStorage, "XRayRadiationDoseSRStorage", "XRayRadiationDoseSRStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
344 | | { UID_XRayRadiofluoroscopicImageStorage, "XRayRadiofluoroscopicImageStorage", "XRayRadiofluoroscopicImageStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
345 | | // Storage (retired) |
346 | | { UID_RETIRED_HardcopyColorImageStorage, "HardcopyColorImageStorage", "RETIRED_HardcopyColorImageStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
347 | | { UID_RETIRED_HardcopyGrayscaleImageStorage, "HardcopyGrayscaleImageStorage", "RETIRED_HardcopyGrayscaleImageStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
348 | | { UID_RETIRED_NuclearMedicineImageStorage, "NuclearMedicineImageStorageRetired", "RETIRED_NuclearMedicineImageStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
349 | | { UID_RETIRED_StandaloneCurveStorage, "StandaloneCurveStorage", "RETIRED_StandaloneCurveStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
350 | | { UID_RETIRED_StandaloneModalityLUTStorage, "StandaloneModalityLUTStorage", "RETIRED_StandaloneModalityLUTStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
351 | | { UID_RETIRED_StandaloneOverlayStorage, "StandaloneOverlayStorage", "RETIRED_StandaloneOverlayStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
352 | | { UID_RETIRED_StandalonePETCurveStorage, "StandalonePETCurveStorage", "RETIRED_StandalonePETCurveStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
353 | | { UID_RETIRED_StandaloneVOILUTStorage, "StandaloneVOILUTStorage", "RETIRED_StandaloneVOILUTStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
354 | | { UID_RETIRED_StoredPrintStorage, "StoredPrintStorage", "RETIRED_StoredPrintStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
355 | | { UID_RETIRED_UltrasoundImageStorage, "UltrasoundImageStorageRetired", "RETIRED_UltrasoundImageStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
356 | | { UID_RETIRED_UltrasoundMultiframeImageStorage, "UltrasoundMultiFrameImageStorageRetired", "RETIRED_UltrasoundMultiframeImageStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
357 | | { UID_RETIRED_VLImageStorage, "VLImageStorageTrial", "RETIRED_VLImageStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
358 | | { UID_RETIRED_VLMultiframeImageStorage, "VLMultiFrameImageStorageTrial", "RETIRED_VLMultiframeImageStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
359 | | { UID_RETIRED_XRayAngiographicBiPlaneImageStorage, "XRayAngiographicBiPlaneImageStorage", "RETIRED_XRayAngiographicBiPlaneImageStorage", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
360 | | // Storage (DICOS) |
361 | | { UID_DICOS_CTImageStorage, "DICOSCTImageStorage", "DICOS_CTImageStorage", { EUS_DICOS, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
362 | | { UID_DICOS_DigitalXRayImageStorageForPresentation, "DICOSDigitalXRayImageStorageForPresentation", "DICOS_DigitalXRayImageStorageForPresentation", { EUS_DICOS, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
363 | | { UID_DICOS_DigitalXRayImageStorageForProcessing, "DICOSDigitalXRayImageStorageForProcessing", "DICOS_DigitalXRayImageStorageForProcessing", { EUS_DICOS, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
364 | | { UID_DICOS_ThreatDetectionReportStorage, "DICOSThreatDetectionReportStorage", "DICOS_ThreatDetectionReportStorage", { EUS_DICOS, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NO_DIR_RECORD } }, |
365 | | { UID_DICOS_2DAITStorage, "DICOS2DAITStorage", "DICOS_2DAITStorage", { EUS_DICOS, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NO_DIR_RECORD } }, |
366 | | { UID_DICOS_3DAITStorage, "DICOS3DAITStorage", "DICOS_3DAITStorage", { EUS_DICOS, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NO_DIR_RECORD } }, |
367 | | { UID_DICOS_QuadrupoleResonanceStorage, "DICOSQuadrupoleResonanceStorage", "DICOS_QuadrupoleResonanceStorage", { EUS_DICOS, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NO_DIR_RECORD } }, |
368 | | // Storage (DICONDE) |
369 | | { UID_DICONDE_EddyCurrentImageStorage, "EddyCurrentImageStorage", "DICONDE_EddyCurrentImageStorage", { EUS_DICONDE, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
370 | | { UID_DICONDE_EddyCurrentMultiframeImageStorage, "EddyCurrentMultiFrameImageStorage", "DICONDE_EddyCurrentMultiframeImageStorage", { EUS_DICONDE, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
371 | | { UID_DICONDE_ThermographyImageStorage, "ThermographyImageStorage", "DICONDE_ThermographyImageStorage", { EUS_DICONDE, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
372 | | { UID_DICONDE_ThermographyMultiFrameImageStorage, "ThermographyMultiFrameImageStorage", "DICONDE_ThermographyMultiFrameImageStorage", { EUS_DICONDE, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Image, UID_PROP_NONE } }, |
373 | | { UID_DICONDE_UltrasoundWaveformStorage, "UltrasoundWaveformStorage", "DICONDE_UltrasoundWaveformStorage", { EUS_DICONDE, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, |
374 | | |
375 | | // Query/Retrieve |
376 | | { UID_FINDPatientRootQueryRetrieveInformationModel, "PatientRootQueryRetrieveInformationModelFind", "FINDPatientRootQueryRetrieveInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
377 | | { UID_FINDStudyRootQueryRetrieveInformationModel, "StudyRootQueryRetrieveInformationModelFind", "FINDStudyRootQueryRetrieveInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
378 | | { UID_GETPatientRootQueryRetrieveInformationModel, "PatientRootQueryRetrieveInformationModelGet", "GETPatientRootQueryRetrieveInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
379 | | { UID_GETStudyRootQueryRetrieveInformationModel, "StudyRootQueryRetrieveInformationModelGet", "GETStudyRootQueryRetrieveInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
380 | | { UID_MOVEPatientRootQueryRetrieveInformationModel, "PatientRootQueryRetrieveInformationModelMove", "MOVEPatientRootQueryRetrieveInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
381 | | { UID_MOVEStudyRootQueryRetrieveInformationModel, "StudyRootQueryRetrieveInformationModelMove", "MOVEStudyRootQueryRetrieveInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
382 | | { UID_RETIRED_FINDPatientStudyOnlyQueryRetrieveInformationModel, "PatientStudyOnlyQueryRetrieveInformationModelFind", "RETIRED_FINDPatientStudyOnlyQueryRetrieveInformationModel", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
383 | | { UID_GETCompositeInstanceRetrieveWithoutBulkData, "CompositeInstanceRetrieveWithoutBulkDataGet", "GETCompositeInstanceRetrieveWithoutBulkData", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
384 | | { UID_GETCompositeInstanceRootRetrieve, "CompositeInstanceRootRetrieveGet", "GETCompositeInstanceRootRetrieve", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
385 | | { UID_RETIRED_GETPatientStudyOnlyQueryRetrieveInformationModel, "PatientStudyOnlyQueryRetrieveInformationModelGet", "RETIRED_GETPatientStudyOnlyQueryRetrieveInformationModel", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
386 | | { UID_MOVECompositeInstanceRootRetrieve, "CompositeInstanceRootRetrieveMove", "MOVECompositeInstanceRootRetrieve", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
387 | | { UID_RETIRED_MOVEPatientStudyOnlyQueryRetrieveInformationModel, "PatientStudyOnlyQueryRetrieveInformationModelMove", "RETIRED_MOVEPatientStudyOnlyQueryRetrieveInformationModel", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
388 | | |
389 | | // Modality Worklist |
390 | | { UID_FINDModalityWorklistInformationModel, "ModalityWorklistInformationModelFind", "FINDModalityWorklistInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Worklist, EUIT_other, UID_PROP_NONE } }, |
391 | | |
392 | | // General Purpose Worklist (retired) |
393 | | { UID_RETIRED_FINDGeneralPurposeWorklistInformationModel, "GeneralPurposeWorklistInformationModelFind", "RETIRED_FINDGeneralPurposeWorklistInformationModel", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Worklist, EUIT_other, UID_PROP_NONE } }, |
394 | | { UID_RETIRED_GeneralPurposePerformedProcedureStepSOPClass, "GeneralPurposePerformedProcedureStep", "RETIRED_GeneralPurposePerformedProcedureStepSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Worklist, EUIT_other, UID_PROP_NONE } }, |
395 | | { UID_RETIRED_GeneralPurposeScheduledProcedureStepSOPClass, "GeneralPurposeScheduledProcedureStep", "RETIRED_GeneralPurposeScheduledProcedureStepSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_Worklist, EUIT_other, UID_PROP_NONE } }, |
396 | | { UID_RETIRED_GeneralPurposeWorklistManagementMetaSOPClass, "GeneralPurposeWorklistManagementMeta", "RETIRED_GeneralPurposeWorklistManagementMetaSOPClass", { EUS_DICOM, EUV_Retired, EUT_MetaSOPClass, EUST_Worklist, EUIT_other, UID_PROP_NONE } }, |
397 | | |
398 | | // MPPS |
399 | | { UID_ModalityPerformedProcedureStepNotificationSOPClass, "ModalityPerformedProcedureStepNotification", "ModalityPerformedProcedureStepNotificationSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
400 | | { UID_ModalityPerformedProcedureStepRetrieveSOPClass, "ModalityPerformedProcedureStepRetrieve", "ModalityPerformedProcedureStepRetrieveSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
401 | | { UID_ModalityPerformedProcedureStepSOPClass, "ModalityPerformedProcedureStep", "ModalityPerformedProcedureStepSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
402 | | |
403 | | // Radiotherapy |
404 | | { UID_RTConventionalMachineVerification, "RTConventionalMachineVerification", "RTConventionalMachineVerification", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
405 | | { UID_RTIonMachineVerification, "RTIonMachineVerification", "RTIonMachineVerification", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
406 | | |
407 | | // Unified Worklist and Procedure Step |
408 | | { UID_UnifiedWorklistAndProcedureStepServiceClass, "UnifiedWorklistAndProcedureStep", "UnifiedWorklistAndProcedureStepServiceClass", { EUS_DICOM, EUV_Standard, EUT_ServiceClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
409 | | { UID_UnifiedProcedureStepPushSOPClass, "UnifiedProcedureStepPush", "UnifiedProcedureStepPushSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
410 | | { UID_UnifiedProcedureStepWatchSOPClass, "UnifiedProcedureStepWatch", "UnifiedProcedureStepWatchSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
411 | | { UID_UnifiedProcedureStepPullSOPClass, "UnifiedProcedureStepPull", "UnifiedProcedureStepPullSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
412 | | { UID_UnifiedProcedureStepEventSOPClass, "UnifiedProcedureStepEvent", "UnifiedProcedureStepEventSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
413 | | { UID_UnifiedProcedureStepQuerySOPClass, "UnifiedProcedureStepQuery", "UnifiedProcedureStepQuerySOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
414 | | { UID_UPSGlobalSubscriptionSOPInstance, "UPSGlobalSubscriptionInstance", "UPSGlobalSubscriptionSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_other, EUIT_other, UID_PROP_NONE } }, |
415 | | { UID_UPSFilteredGlobalSubscriptionSOPInstance, "UPSFilteredGlobalSubscriptionInstance", "UPSFilteredGlobalSubscriptionSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_other, EUIT_other, UID_PROP_NONE } }, |
416 | | |
417 | | // Storage Commitment |
418 | | { UID_RETIRED_StorageCommitmentPullModelSOPClass, "StorageCommitmentPullModel", "RETIRED_StorageCommitmentPullModelSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
419 | | { UID_RETIRED_StorageCommitmentPullModelSOPInstance, "StorageCommitmentPullModelInstance", "RETIRED_StorageCommitmentPullModelSOPInstance", { EUS_DICOM, EUV_Retired, EUT_SOPInstance, EUST_other, EUIT_other, UID_PROP_NONE } }, |
420 | | { UID_StorageCommitmentPushModelSOPClass, "StorageCommitmentPushModel", "StorageCommitmentPushModelSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
421 | | { UID_StorageCommitmentPushModelSOPInstance, "StorageCommitmentPushModelInstance", "StorageCommitmentPushModelSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_other, EUIT_other, UID_PROP_NONE } }, |
422 | | |
423 | | // Hanging Protocol Storage and Query/Retrieve |
424 | | { UID_HangingProtocolStorage, "HangingProtocolStorage", "HangingProtocolStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NON_PATIENT } }, |
425 | | { UID_FINDHangingProtocolInformationModel, "HangingProtocolInformationModelFind", "FINDHangingProtocolInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
426 | | { UID_MOVEHangingProtocolInformationModel, "HangingProtocolInformationModelMove", "MOVEHangingProtocolInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
427 | | { UID_GETHangingProtocolInformationModel, "HangingProtocolInformationModelGet", "GETHangingProtocolInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
428 | | |
429 | | // Relevant Patient Information Query |
430 | | { UID_BreastImagingRelevantPatientInformationQuery, "BreastImagingRelevantPatientInformationQuery", "BreastImagingRelevantPatientInformationQuery", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
431 | | { UID_CardiacRelevantPatientInformationQuery, "CardiacRelevantPatientInformationQuery", "CardiacRelevantPatientInformationQuery", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
432 | | { UID_GeneralRelevantPatientInformationQuery, "GeneralRelevantPatientInformationQuery", "GeneralRelevantPatientInformationQuery", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
433 | | |
434 | | // Color Palette Storage and Query/Retrieve |
435 | | { UID_ColorPaletteStorage, "ColorPaletteStorage", "ColorPaletteStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NON_PATIENT } }, |
436 | | { UID_FINDColorPaletteInformationModel, "ColorPaletteQueryRetrieveInformationModelFind", "FINDColorPaletteInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
437 | | { UID_MOVEColorPaletteInformationModel, "ColorPaletteQueryRetrieveInformationModelMove", "MOVEColorPaletteInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
438 | | { UID_GETColorPaletteInformationModel, "ColorPaletteQueryRetrieveInformationModelGet", "GETColorPaletteInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
439 | | |
440 | | // Implant Template Storage and Query/Retrieve |
441 | | { UID_GenericImplantTemplateStorage, "GenericImplantTemplateStorage", "GenericImplantTemplateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NON_PATIENT } }, |
442 | | { UID_FINDGenericImplantTemplateInformationModel, "GenericImplantTemplateInformationModelFind", "FINDGenericImplantTemplateInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
443 | | { UID_MOVEGenericImplantTemplateInformationModel, "GenericImplantTemplateInformationModelMove", "MOVEGenericImplantTemplateInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
444 | | { UID_GETGenericImplantTemplateInformationModel, "GenericImplantTemplateInformationModelGet", "GETGenericImplantTemplateInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
445 | | { UID_ImplantAssemblyTemplateStorage, "ImplantAssemblyTemplateStorage", "ImplantAssemblyTemplateStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NON_PATIENT } }, |
446 | | { UID_FINDImplantAssemblyTemplateInformationModel, "ImplantAssemblyTemplateInformationModelFind", "FINDImplantAssemblyTemplateInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
447 | | { UID_MOVEImplantAssemblyTemplateInformationModel, "ImplantAssemblyTemplateInformationModelMove", "MOVEImplantAssemblyTemplateInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
448 | | { UID_GETImplantAssemblyTemplateInformationModel, "ImplantAssemblyTemplateInformationModelGet", "GETImplantAssemblyTemplateInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
449 | | { UID_ImplantTemplateGroupStorage, "ImplantTemplateGroupStorage", "ImplantTemplateGroupStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NON_PATIENT } }, |
450 | | { UID_FINDImplantTemplateGroupInformationModel, "ImplantTemplateGroupInformationModelFind", "FINDImplantTemplateGroupInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
451 | | { UID_MOVEImplantTemplateGroupInformationModel, "ImplantTemplateGroupInformationModelMove", "MOVEImplantTemplateGroupInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
452 | | { UID_GETImplantTemplateGroupInformationModel, "ImplantTemplateGroupInformationModelGet", "GETImplantTemplateGroupInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
453 | | |
454 | | // Defined Procedure Protocol Query/Retrieve |
455 | | { UID_FINDDefinedProcedureProtocolInformationModel, "DefinedProcedureProtocolInformationModelFind", "FINDDefinedProcedureProtocolInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
456 | | { UID_MOVEDefinedProcedureProtocolInformationModel, "DefinedProcedureProtocolInformationModelMove", "MOVEDefinedProcedureProtocolInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
457 | | { UID_GETDefinedProcedureProtocolInformationModel, "DefinedProcedureProtocolInformationModelGet", "GETDefinedProcedureProtocolInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
458 | | |
459 | | // Protocol Approval Query/Retrieve |
460 | | { UID_FINDProtocolApprovalInformationModel, "ProtocolApprovalInformationModelFind", "FINDProtocolApprovalInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
461 | | { UID_MOVEProtocolApprovalInformationModel, "ProtocolApprovalInformationModelMove", "MOVEProtocolApprovalInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
462 | | { UID_GETProtocolApprovalInformationModel, "ProtocolApprovalInformationModelGet", "GETProtocolApprovalInformationModel", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
463 | | |
464 | | // Inventory Storage, Query/Retrieve, and related Services |
465 | | { UID_InventoryStorage, "InventoryStorage", "InventoryStorage", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NON_PATIENT } }, |
466 | | { UID_FINDInventory, "InventoryFind", "FINDInventory", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
467 | | { UID_MOVEInventory, "InventoryMove", "MOVEInventory", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
468 | | { UID_GETInventory, "InventoryGet", "GETInventory", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_QueryRetrieve, EUIT_other, UID_PROP_NONE } }, |
469 | | { UID_InventoryCreation, "InventoryCreation", "InventoryCreation", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
470 | | { UID_RepositoryQuery, "RepositoryQuery", "RepositoryQuery", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
471 | | { UID_StorageManagementSOPInstance, "StorageManagementInstance", "StorageManagementSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_other, EUIT_other, UID_PROP_NONE } }, |
472 | | |
473 | | // Print |
474 | | { UID_BasicAnnotationBoxSOPClass, "BasicAnnotationBox", "BasicAnnotationBoxSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
475 | | { UID_BasicColorImageBoxSOPClass, "BasicColorImageBox", "BasicColorImageBoxSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
476 | | { UID_BasicColorPrintManagementMetaSOPClass, "BasicColorPrintManagementMeta", "BasicColorPrintManagementMetaSOPClass", { EUS_DICOM, EUV_Standard, EUT_MetaSOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
477 | | { UID_BasicFilmBoxSOPClass, "BasicFilmBox", "BasicFilmBoxSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
478 | | { UID_BasicFilmSessionSOPClass, "BasicFilmSession", "BasicFilmSessionSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
479 | | { UID_BasicGrayscaleImageBoxSOPClass, "BasicGrayscaleImageBox", "BasicGrayscaleImageBoxSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
480 | | { UID_BasicGrayscalePrintManagementMetaSOPClass, "BasicGrayscalePrintManagementMeta", "BasicGrayscalePrintManagementMetaSOPClass", { EUS_DICOM, EUV_Standard, EUT_MetaSOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
481 | | { UID_PresentationLUTSOPClass, "PresentationLUT", "PresentationLUTSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
482 | | { UID_PrintJobSOPClass, "PrintJob", "PrintJobSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
483 | | { UID_PrinterConfigurationRetrievalSOPClass, "PrinterConfigurationRetrieval", "PrinterConfigurationRetrievalSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
484 | | { UID_PrinterConfigurationRetrievalSOPInstance, "PrinterConfigurationRetrievalInstance", "PrinterConfigurationRetrievalSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
485 | | { UID_PrinterSOPClass, "Printer", "PrinterSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
486 | | { UID_PrinterSOPInstance, "PrinterInstance", "PrinterSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
487 | | { UID_RETIRED_BasicPrintImageOverlayBoxSOPClass, "BasicPrintImageOverlayBox", "RETIRED_BasicPrintImageOverlayBoxSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
488 | | { UID_RETIRED_ImageOverlayBoxSOPClass, "ImageOverlayBox", "RETIRED_ImageOverlayBoxSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
489 | | { UID_RETIRED_PrintQueueManagementSOPClass, "PrintQueueManagement", "RETIRED_PrintQueueManagementSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
490 | | { UID_RETIRED_PrintQueueSOPInstance, "PrintQueue", "RETIRED_PrintQueueSOPInstance", { EUS_DICOM, EUV_Retired, EUT_SOPInstance, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
491 | | { UID_RETIRED_PullPrintRequestSOPClass, "PullPrintRequest", "RETIRED_PullPrintRequestSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
492 | | { UID_RETIRED_PullStoredPrintManagementMetaSOPClass, "PullStoredPrintManagementMeta", "RETIRED_PullStoredPrintManagementMetaSOPClass", { EUS_DICOM, EUV_Retired, EUT_MetaSOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
493 | | { UID_RETIRED_ReferencedColorPrintManagementMetaSOPClass, "ReferencedColorPrintManagementMeta", "RETIRED_ReferencedColorPrintManagementMetaSOPClass", { EUS_DICOM, EUV_Retired, EUT_MetaSOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
494 | | { UID_RETIRED_ReferencedGrayscalePrintManagementMetaSOPClass, "ReferencedGrayscalePrintManagementMeta", "RETIRED_ReferencedGrayscalePrintManagementMetaSOPClass", { EUS_DICOM, EUV_Retired, EUT_MetaSOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
495 | | { UID_RETIRED_ReferencedImageBoxSOPClass, "ReferencedImageBox", "RETIRED_ReferencedImageBoxSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
496 | | { UID_VOILUTBoxSOPClass, "VOILUTBox", "VOILUTBoxSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_PrintManagement, EUIT_other, UID_PROP_NONE } }, |
497 | | |
498 | | // Detached Management (retired) |
499 | | { UID_RETIRED_DetachedInterpretationManagementSOPClass, "DetachedInterpretationManagement", "RETIRED_DetachedInterpretationManagementSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
500 | | { UID_RETIRED_DetachedPatientManagementMetaSOPClass, "DetachedPatientManagementMeta", "RETIRED_DetachedPatientManagementMetaSOPClass", { EUS_DICOM, EUV_Retired, EUT_MetaSOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
501 | | { UID_RETIRED_DetachedPatientManagementSOPClass, "DetachedPatientManagement", "RETIRED_DetachedPatientManagementSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
502 | | { UID_RETIRED_DetachedResultsManagementMetaSOPClass, "DetachedResultsManagementMeta", "RETIRED_DetachedResultsManagementMetaSOPClass", { EUS_DICOM, EUV_Retired, EUT_MetaSOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
503 | | { UID_RETIRED_DetachedResultsManagementSOPClass, "DetachedResultsManagement", "RETIRED_DetachedResultsManagementSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
504 | | { UID_RETIRED_DetachedStudyManagementMetaSOPClass, "DetachedStudyManagementMeta", "RETIRED_DetachedStudyManagementMetaSOPClass", { EUS_DICOM, EUV_Retired, EUT_MetaSOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
505 | | { UID_RETIRED_DetachedStudyManagementSOPClass, "DetachedStudyManagement", "RETIRED_DetachedStudyManagementSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
506 | | { UID_RETIRED_DetachedVisitManagementSOPClass, "DetachedVisitManagement", "RETIRED_DetachedVisitManagementSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
507 | | |
508 | | // Procedure Log |
509 | | { UID_ProceduralEventLoggingSOPClass, "ProceduralEventLogging", "ProceduralEventLoggingSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
510 | | { UID_ProceduralEventLoggingSOPInstance, "ProceduralEventLoggingInstance", "ProceduralEventLoggingSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_other, EUIT_other, UID_PROP_NONE } }, |
511 | | |
512 | | // Substance Administration |
513 | | { UID_SubstanceAdministrationLoggingSOPClass, "SubstanceAdministrationLogging", "SubstanceAdministrationLoggingSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
514 | | { UID_SubstanceAdministrationLoggingSOPInstance, "SubstanceAdministrationLoggingInstance", "SubstanceAdministrationLoggingSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_other, EUIT_other, UID_PROP_NONE } }, |
515 | | { UID_ProductCharacteristicsQuerySOPClass, "ProductCharacteristicsQuery", "ProductCharacteristicsQuerySOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
516 | | { UID_SubstanceApprovalQuerySOPClass, "SubstanceApprovalQuery", "SubstanceApprovalQuerySOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
517 | | |
518 | | // Media Creation |
519 | | { UID_MediaCreationManagementSOPClass, "MediaCreationManagement", "MediaCreationManagementSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
520 | | |
521 | | // SOP Class Relationship Negotiation |
522 | | { UID_StorageServiceClass, "Storage", "StorageServiceClass", { EUS_DICOM, EUV_Standard, EUT_ServiceClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
523 | | |
524 | | // Instance Availability Notification |
525 | | { UID_InstanceAvailabilityNotificationSOPClass, "InstanceAvailabilityNotification", "InstanceAvailabilityNotificationSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
526 | | |
527 | | // Application Hosting |
528 | | { UID_NativeDICOMModel, "NativeDICOMModel", "NativeDICOMModel", { EUS_DICOM, EUV_Standard, EUT_ApplicationHosting, EUST_other, EUIT_other, UID_PROP_NONE } }, |
529 | | { UID_AbstractMultiDimensionalImageModel, "AbstractMultiDimensionalImageModel", "AbstractMultiDimensionalImageModel", { EUS_DICOM, EUV_Standard, EUT_ApplicationHosting, EUST_other, EUIT_other, UID_PROP_NONE } }, |
530 | | |
531 | | // Communication of Display Parameters |
532 | | { UID_DisplaySystemSOPClass, "DisplaySystem", "DisplaySystemSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
533 | | { UID_DisplaySystemSOPInstance, "DisplaySystemInstance", "DisplaySystemSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_other, EUIT_other, UID_PROP_NONE } }, |
534 | | |
535 | | // Real-Time Video |
536 | | { UID_VideoEndoscopicImageRealTimeCommunication, "VideoEndoscopicImageRealTimeCommunication", "VideoEndoscopicImageRealTimeCommunication", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
537 | | { UID_VideoPhotographicImageRealTimeCommunication, "VideoPhotographicImageRealTimeCommunication", "VideoPhotographicImageRealTimeCommunication", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
538 | | { UID_AudioWaveformRealTimeCommunication, "AudioWaveformRealTimeCommunication", "AudioWaveformRealTimeCommunication", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
539 | | { UID_RenditionSelectionDocumentRealTimeCommunication, "RenditionSelectionDocumentRealTimeCommunication", "RenditionSelectionDocumentRealTimeCommunication", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_StructuredReport, UID_PROP_NONE } }, |
540 | | |
541 | | // Other |
542 | | { UID_RETIRED_BasicStudyContentNotificationSOPClass, "BasicStudyContentNotification", "RETIRED_BasicStudyContentNotificationSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
543 | | { UID_RETIRED_StudyComponentManagementSOPClass, "StudyComponentManagement", "RETIRED_StudyComponentManagementSOPClass", { EUS_DICOM, EUV_Retired, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
544 | | { UID_VerificationSOPClass, "Verification", "VerificationSOPClass", { EUS_DICOM, EUV_Standard, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
545 | | |
546 | | // Mapping Resources |
547 | | { UID_DICOMContentMappingResource, "DICOMContentMappingResource", "DICOMContentMappingResource", { EUS_DICOM, EUV_Standard, EUT_MappingResource, EUST_other, EUIT_other, UID_PROP_NONE } }, |
548 | | |
549 | | // Coding Schemes |
550 | | { UID_DICOMControlledTerminologyCodingScheme, "DCM", "DICOMControlledTerminologyCodingScheme", { EUS_DICOM, EUV_Standard, EUT_CodingScheme, EUST_other, EUIT_other, UID_PROP_NONE } }, |
551 | | { UID_DICOMUIDRegistryCodingScheme, "DCMUID", "DICOMUIDRegistryCodingScheme", { EUS_DICOM, EUV_Standard, EUT_CodingScheme, EUST_other, EUIT_other, UID_PROP_NONE } }, |
552 | | |
553 | | // Configuration Management LDAP UIDs |
554 | | { UID_LDAP_dicomAETitle, "dicomAETitle", "LDAP_dicomAETitle", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
555 | | { UID_LDAP_dicomApplicationCluster, "dicomApplicationCluster", "LDAP_dicomApplicationCluster", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
556 | | { UID_LDAP_dicomAssociationAcceptor, "dicomAssociationAcceptor", "LDAP_dicomAssociationAcceptor", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
557 | | { UID_LDAP_dicomAssociationInitiator, "dicomAssociationInitiator", "LDAP_dicomAssociationInitiator", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
558 | | { UID_LDAP_dicomAuthorizedNodeCertificateReference, "dicomAuthorizedNodeCertificateReference", "LDAP_dicomAuthorizedNodeCertificateReference", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
559 | | { UID_LDAP_dicomConfigurationRoot, "dicomConfigurationRoot", "LDAP_dicomConfigurationRoot", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
560 | | { UID_LDAP_dicomDescription, "dicomDescription", "LDAP_dicomDescription", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
561 | | { UID_LDAP_dicomDevice, "dicomDevice", "LDAP_dicomDevice", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
562 | | { UID_LDAP_dicomDeviceName, "dicomDeviceName", "LDAP_dicomDeviceName", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
563 | | { UID_LDAP_dicomDeviceSerialNumber, "dicomDeviceSerialNumber", "LDAP_dicomDeviceSerialNumber", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
564 | | { UID_LDAP_dicomDevicesRoot, "dicomDevicesRoot", "LDAP_dicomDevicesRoot", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
565 | | { UID_LDAP_dicomHostname, "dicomHostname", "LDAP_dicomHostname", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
566 | | { UID_LDAP_dicomInstalled, "dicomInstalled", "LDAP_dicomInstalled", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
567 | | { UID_LDAP_dicomInstitutionAddress, "dicomInstitutionAddress", "LDAP_dicomInstitutionAddress", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
568 | | { UID_LDAP_dicomInstitutionDepartmentName, "dicomInstitutionDepartmentName", "LDAP_dicomInstitutionDepartmentName", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
569 | | { UID_LDAP_dicomInstitutionName, "dicomInstitutionName", "LDAP_dicomInstitutionName", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
570 | | { UID_LDAP_dicomIssuerOfPatientID, "dicomIssuerOfPatientID", "LDAP_dicomIssuerOfPatientID", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
571 | | { UID_LDAP_dicomManufacturer, "dicomManufacturer", "LDAP_dicomManufacturer", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
572 | | { UID_LDAP_dicomManufacturerModelName, "dicomManufacturerModelName", "LDAP_dicomManufacturerModelName", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
573 | | { UID_LDAP_dicomNetworkAE, "dicomNetworkAE", "LDAP_dicomNetworkAE", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
574 | | { UID_LDAP_dicomNetworkConnection, "dicomNetworkConnection", "LDAP_dicomNetworkConnection", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
575 | | { UID_LDAP_dicomNetworkConnectionReference, "dicomNetworkConnectionReference", "LDAP_dicomNetworkConnectionReference", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
576 | | { UID_LDAP_dicomPort, "dicomPort", "LDAP_dicomPort", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
577 | | { UID_LDAP_dicomPreferredCalledAETitle, "dicomPreferredCalledAETitle", "LDAP_dicomPreferredCalledAETitle", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
578 | | { UID_LDAP_dicomPreferredCallingAETitle, "dicomPreferredCallingAETitle", "LDAP_dicomPreferredCallingAETitle", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
579 | | { UID_LDAP_dicomPrimaryDeviceType, "dicomPrimaryDeviceType", "LDAP_dicomPrimaryDeviceType", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
580 | | { UID_LDAP_dicomRelatedDeviceReference, "dicomRelatedDeviceReference", "LDAP_dicomRelatedDeviceReference", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
581 | | { UID_LDAP_dicomSOPClass, "dicomSOPClass", "LDAP_dicomSOPClass", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
582 | | { UID_LDAP_dicomSoftwareVersion, "dicomSoftwareVersion", "LDAP_dicomSoftwareVersion", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
583 | | { UID_LDAP_dicomStationName, "dicomStationName", "LDAP_dicomStationName", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
584 | | { UID_LDAP_dicomSupportedCharacterSet, "dicomSupportedCharacterSet", "LDAP_dicomSupportedCharacterSet", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
585 | | { UID_LDAP_dicomTLSCyphersuite, "dicomTLSCyphersuite", "LDAP_dicomTLSCyphersuite", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
586 | | { UID_LDAP_dicomThisNodeCertificateReference, "dicomThisNodeCertificateReference", "LDAP_dicomThisNodeCertificateReference", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
587 | | { UID_LDAP_dicomTransferCapability, "dicomTransferCapability", "LDAP_dicomTransferCapability", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
588 | | { UID_LDAP_dicomTransferRole, "dicomTransferRole", "LDAP_dicomTransferRole", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
589 | | { UID_LDAP_dicomTransferSyntax, "dicomTransferSyntax", "LDAP_dicomTransferSyntax", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
590 | | { UID_LDAP_dicomUniqueAETitle, "dicomUniqueAETitle", "LDAP_dicomUniqueAETitle", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
591 | | { UID_LDAP_dicomUniqueAETitlesRegistryRoot, "dicomUniqueAETitlesRegistryRoot", "LDAP_dicomUniqueAETitlesRegistryRoot", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
592 | | { UID_LDAP_dicomVendorData, "dicomVendorData", "LDAP_dicomVendorData", { EUS_DICOM, EUV_Standard, EUT_LDAP, EUST_other, EUIT_other, UID_PROP_NONE } }, |
593 | | |
594 | | // Well-known Frame of References |
595 | | { UID_ICBM452T1FrameOfReference, "ICBM452T1", "ICBM452T1FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
596 | | { UID_ICBMSingleSubjectMRIFrameOfReference, "ICBMSingleSubjectMRI", "ICBMSingleSubjectMRIFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
597 | | { UID_IEC61217FixedCoordinateSystemFrameOfReference, "IEC61217FixedCoordinateSystem", "IEC61217FixedCoordinateSystemFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
598 | | { UID_IEC61217TableTopCoordinateSystemFrameOfReference, "IEC61217TableTopCoordinateSystem", "IEC61217TableTopCoordinateSystemFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
599 | | { UID_SPM2AVG152PDFrameOfReference, "SPM2AVG152PD", "SPM2AVG152PDFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
600 | | { UID_SPM2AVG152T1FrameOfReference, "SPM2AVG152T1", "SPM2AVG152T1FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
601 | | { UID_SPM2AVG152T2FrameOfReference, "SPM2AVG152T2", "SPM2AVG152T2FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
602 | | { UID_SPM2AVG305T1FrameOfReference, "SPM2AVG305T1", "SPM2AVG305T1FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
603 | | { UID_SPM2BRAINMASKFrameOfReference, "SPM2BRAINMASK", "SPM2BRAINMASKFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
604 | | { UID_SPM2CSFFrameOfReference, "SPM2CSF", "SPM2CSFFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
605 | | { UID_SPM2EPIFrameOfReference, "SPM2EPI", "SPM2EPIFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
606 | | { UID_SPM2FILT1FrameOfReference, "SPM2FILT1", "SPM2FILT1FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
607 | | { UID_SPM2GRAYFrameOfReference, "SPM2GRAY", "SPM2GRAYFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
608 | | { UID_SPM2PDFrameOfReference, "SPM2PD", "SPM2PDFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
609 | | { UID_SPM2PETFrameOfReference, "SPM2PET", "SPM2PETFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
610 | | { UID_SPM2SINGLESUBJT1FrameOfReference, "SINGLESUBJT1", "SPM2SINGLESUBJT1FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
611 | | { UID_SPM2SPECTFrameOfReference, "SPM2SPECT", "SPM2SPECTFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
612 | | { UID_SPM2T1FrameOfReference, "SPM2T1", "SPM2T1FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
613 | | { UID_SPM2T2FrameOfReference, "SPM2T2", "SPM2T2FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
614 | | { UID_SPM2TRANSMFrameOfReference, "SPM2TRANSM", "SPM2TRANSMFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
615 | | { UID_SPM2WHITEFrameOfReference, "SPM2WHITE", "SPM2WHITEFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
616 | | { UID_StandardRoboticArmCoordinateSystemFrameOfReference, "StandardRoboticArmCoordinateSystem", "StandardRoboticArmCoordinateSystemFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
617 | | { UID_TalairachBrainAtlasFrameOfReference, "TalairachBrainAtlas", "TalairachBrainAtlasFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
618 | | { UID_SRI24FrameOfReference, "SRI24", "SRI24FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
619 | | { UID_Colin27FrameOfReference, "Colin27", "Colin27FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
620 | | { UID_LPBA40AIRFrameOfReference, "LPBA40AIR", "LPBA40AIRFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
621 | | { UID_LPBA40FLIRTFrameOfReference, "LPBA40FLIRT", "LPBA40FLIRTFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
622 | | { UID_LPBA40SPM5FrameOfReference, "LPBA40SPM5", "LPBA40SPM5FrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
623 | | |
624 | | // UTC Synchronization Frame of Reference |
625 | | { UID_UniversalCoordinatedTimeSynchronizationFrameOfReference, "UTC", "UniversalCoordinatedTimeSynchronizationFrameOfReference", { EUS_DICOM, EUV_Standard, EUT_FrameOfReference, EUST_other, EUIT_other, UID_PROP_NONE } }, |
626 | | |
627 | | // Well-known SOP Instances for Color Palettes |
628 | | { UID_HotIronColorPaletteSOPInstance, "HotIronPalette", "HotIronColorPaletteSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_ColorPalette, EUIT_other, UID_PROP_NONE } }, |
629 | | { UID_HotMetalBlueColorPaletteSOPInstance, "HotMetalBluePalette", "HotMetalBlueColorPaletteSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_ColorPalette, EUIT_other, UID_PROP_NONE } }, |
630 | | { UID_PET20StepColorPaletteSOPInstance, "PET20StepPalette", "PET20StepColorPaletteSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_ColorPalette, EUIT_other, UID_PROP_NONE } }, |
631 | | { UID_PETColorPaletteSOPInstance, "PETPalette", "PETColorPaletteSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_ColorPalette, EUIT_other, UID_PROP_NONE } }, |
632 | | { UID_SpringColorPaletteSOPInstance, "SpringPalette", "SpringColorPaletteSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_ColorPalette, EUIT_other, UID_PROP_NONE } }, |
633 | | { UID_SummerColorPaletteSOPInstance, "SummerPalette", "SummerColorPaletteSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_ColorPalette, EUIT_other, UID_PROP_NONE } }, |
634 | | { UID_FallColorPaletteSOPInstance, "FallPalette", "FallColorPaletteSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_ColorPalette, EUIT_other, UID_PROP_NONE } }, |
635 | | { UID_WinterColorPaletteSOPInstance, "WinterPalette", "WinterColorPaletteSOPInstance", { EUS_DICOM, EUV_Standard, EUT_SOPInstance, EUST_ColorPalette, EUIT_other, UID_PROP_NONE } }, |
636 | | |
637 | | // Draft Supplements |
638 | | { UID_DRAFT_RTBeamsDeliveryInstructionStorage, "RTBeamsDeliveryInstructionStorageTrial", "DRAFT_RTBeamsDeliveryInstructionStorage", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_Storage, EUIT_other, UID_PROP_NONE } }, |
639 | | { UID_DRAFT_RTConventionalMachineVerification, "RTConventionalMachineVerificationTrial", "DRAFT_RTConventionalMachineVerification", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
640 | | { UID_DRAFT_RTIonMachineVerification, "RTIonMachineVerificationTrial", "DRAFT_RTIonMachineVerification", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
641 | | { UID_DRAFT_SRAudioStorage, "AudioSRStorageTrial", "DRAFT_SRAudioStorage", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
642 | | { UID_DRAFT_SRComprehensiveStorage, "ComprehensiveSRStorageTrial", "DRAFT_SRComprehensiveStorage", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
643 | | { UID_DRAFT_SRDetailStorage, "DetailSRStorageTrial", "DRAFT_SRDetailStorage", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
644 | | { UID_DRAFT_SRTextStorage, "TextSRStorageTrial", "DRAFT_SRTextStorage", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_Storage, EUIT_StructuredReport, UID_PROP_NONE } }, |
645 | | { UID_DRAFT_WaveformStorage, "WaveformStorageTrial", "DRAFT_WaveformStorage", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_Storage, EUIT_Waveform, UID_PROP_NONE } }, |
646 | | { UID_DRAFT_UnifiedWorklistAndProcedureStepServiceClass, "UnifiedWorklistAndProcedureStepTrial", "DRAFT_UnifiedWorklistAndProcedureStepServiceClass", { EUS_DICOM, EUV_Draft, EUT_ServiceClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
647 | | { UID_DRAFT_UnifiedProcedureStepPushSOPClass, "UnifiedProcedureStepPushTrial", "DRAFT_UnifiedProcedureStepPushSOPClass", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
648 | | { UID_DRAFT_UnifiedProcedureStepWatchSOPClass, "UnifiedProcedureStepWatchTrial", "DRAFT_UnifiedProcedureStepWatchSOPClass", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
649 | | { UID_DRAFT_UnifiedProcedureStepPullSOPClass, "UnifiedProcedureStepPullTrial", "DRAFT_UnifiedProcedureStepPullSOPClass", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } }, |
650 | | { UID_DRAFT_UnifiedProcedureStepEventSOPClass, "UnifiedProcedureStepEventTrial", "DRAFT_UnifiedProcedureStepEventSOPClass", { EUS_DICOM, EUV_Draft, EUT_SOPClass, EUST_other, EUIT_other, UID_PROP_NONE } } |
651 | | }; |
652 | | |
653 | | static const int uidNameMap_size = OFstatic_cast(int, sizeof(uidNameMap) / sizeof(UIDNameMap)); |
654 | | |
655 | | |
656 | | /** an array of const strings containing all known Storage SOP Classes |
657 | | * that fit into the conventional PATIENT-STUDY-SERIES-INSTANCE information |
658 | | * model, i.e. everything a Storage SCP might want to store in a PACS. |
659 | | * Special cases such as the Hanging Protocol or Color Palette Storage SOP |
660 | | * Class are not included in this list but in dcmNonPatientStorageSOPClassUIDs. |
661 | | * |
662 | | * THIS LIST CONTAINS ALL STORAGE SOP CLASSES INCLUDING RETIRED ONES |
663 | | * AND IS (MUCH) LARGER THAN 64 ENTRIES. |
664 | | */ |
665 | | const char* dcmAllStorageSOPClassUIDs[] = { |
666 | | UID_AcquisitionContextSRStorage, |
667 | | UID_AdvancedBlendingPresentationStateStorage, |
668 | | UID_AmbulatoryECGWaveformStorage, |
669 | | UID_ArterialPulseWaveformStorage, |
670 | | UID_AutorefractionMeasurementsStorage, |
671 | | UID_BasicStructuredDisplayStorage, |
672 | | UID_BasicTextSRStorage, |
673 | | UID_BasicVoiceAudioWaveformStorage, |
674 | | UID_BlendingSoftcopyPresentationStateStorage, |
675 | | UID_BodyPositionWaveformStorage, |
676 | | UID_BreastProjectionXRayImageStorageForPresentation, |
677 | | UID_BreastProjectionXRayImageStorageForProcessing, |
678 | | UID_BreastTomosynthesisImageStorage, |
679 | | UID_CardiacElectrophysiologyWaveformStorage, |
680 | | UID_CArmPhotonElectronRadiationRecordStorage, |
681 | | UID_CArmPhotonElectronRadiationStorage, |
682 | | UID_ChestCADSRStorage, |
683 | | UID_ColonCADSRStorage, |
684 | | UID_ColorSoftcopyPresentationStateStorage, |
685 | | UID_CompositingPlanarMPRVolumetricPresentationStateStorage, |
686 | | UID_Comprehensive3DSRStorage, |
687 | | UID_ComprehensiveSRStorage, |
688 | | UID_ComputedRadiographyImageStorage, |
689 | | UID_ConfocalMicroscopyImageStorage, |
690 | | UID_ConfocalMicroscopyTiledPyramidalImageStorage, |
691 | | UID_ContentAssessmentResultsStorage, |
692 | | UID_CornealTopographyMapStorage, |
693 | | UID_CTImageStorage, |
694 | | UID_CTImageStorageForProcessing, |
695 | | UID_CTPerformedProcedureProtocolStorage, |
696 | | UID_DeformableSpatialRegistrationStorage, |
697 | | UID_DermoscopicPhotographyImageStorage, |
698 | | UID_DigitalIntraOralXRayImageStorageForPresentation, |
699 | | UID_DigitalIntraOralXRayImageStorageForProcessing, |
700 | | UID_DigitalMammographyXRayImageStorageForPresentation, |
701 | | UID_DigitalMammographyXRayImageStorageForProcessing, |
702 | | UID_DigitalXRayImageStorageForPresentation, |
703 | | UID_DigitalXRayImageStorageForProcessing, |
704 | | UID_ElectromyogramWaveformStorage, |
705 | | UID_ElectrooculogramWaveformStorage, |
706 | | UID_EncapsulatedCDAStorage, |
707 | | UID_EncapsulatedMTLStorage, |
708 | | UID_EncapsulatedOBJStorage, |
709 | | UID_EncapsulatedPDFStorage, |
710 | | UID_EncapsulatedSTLStorage, |
711 | | UID_EnhancedContinuousRTImageStorage, |
712 | | UID_EnhancedCTImageStorage, |
713 | | UID_EnhancedCTImageStorageForProcessing, |
714 | | UID_EnhancedMRColorImageStorage, |
715 | | UID_EnhancedMRImageStorage, |
716 | | UID_EnhancedPETImageStorage, |
717 | | UID_EnhancedRTImageStorage, |
718 | | UID_EnhancedSRStorage, |
719 | | UID_EnhancedUSVolumeStorage, |
720 | | UID_EnhancedXAImageStorage, |
721 | | UID_EnhancedXRayRadiationDoseSRStorage, |
722 | | UID_EnhancedXRFImageStorage, |
723 | | UID_ExtensibleSRStorage, |
724 | | UID_General32BitECGWaveformStorage, |
725 | | UID_GeneralAudioWaveformStorage, |
726 | | UID_GeneralECGWaveformStorage, |
727 | | UID_GrayscalePlanarMPRVolumetricPresentationStateStorage, |
728 | | UID_GrayscaleSoftcopyPresentationStateStorage, |
729 | | UID_HeightMapSegmentationStorage, |
730 | | UID_HemodynamicWaveformStorage, |
731 | | UID_ImplantationPlanSRStorage, |
732 | | UID_IntraocularLensCalculationsStorage, |
733 | | UID_IntravascularOpticalCoherenceTomographyImageStorageForPresentation, |
734 | | UID_IntravascularOpticalCoherenceTomographyImageStorageForProcessing, |
735 | | UID_KeratometryMeasurementsStorage, |
736 | | UID_KeyObjectSelectionDocumentStorage, |
737 | | UID_LabelMapSegmentationStorage, |
738 | | UID_LegacyConvertedEnhancedCTImageStorage, |
739 | | UID_LegacyConvertedEnhancedCTImageStorageForProcessing, |
740 | | UID_LegacyConvertedEnhancedMRImageStorage, |
741 | | UID_LegacyConvertedEnhancedPETImageStorage, |
742 | | UID_LensometryMeasurementsStorage, |
743 | | UID_MacularGridThicknessAndVolumeReportStorage, |
744 | | UID_MammographyCADSRStorage, |
745 | | UID_MicroscopyBulkSimpleAnnotationsStorage, |
746 | | UID_MRImageStorage, |
747 | | UID_MRSpectroscopyStorage, |
748 | | UID_MultichannelRespiratoryWaveformStorage, |
749 | | UID_MultiframeGrayscaleByteSecondaryCaptureImageStorage, |
750 | | UID_MultiframeGrayscaleWordSecondaryCaptureImageStorage, |
751 | | UID_MultiframeSingleBitSecondaryCaptureImageStorage, |
752 | | UID_MultiframeTrueColorSecondaryCaptureImageStorage, |
753 | | UID_MultipleVolumeRenderingVolumetricPresentationStateStorage, |
754 | | UID_NuclearMedicineImageStorage, |
755 | | UID_OphthalmicAxialMeasurementsStorage, |
756 | | UID_OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage, |
757 | | UID_OphthalmicOpticalCoherenceTomographyEnFaceImageStorage, |
758 | | UID_OphthalmicPhotography16BitImageStorage, |
759 | | UID_OphthalmicPhotography8BitImageStorage, |
760 | | UID_OphthalmicThicknessMapStorage, |
761 | | UID_OphthalmicTomographyImageStorage, |
762 | | UID_OphthalmicVisualFieldStaticPerimetryMeasurementsStorage, |
763 | | UID_ParametricMapStorage, |
764 | | UID_PatientRadiationDoseSRStorage, |
765 | | UID_PerformedImagingAgentAdministrationSRStorage, |
766 | | UID_PlannedImagingAgentAdministrationSRStorage, |
767 | | UID_PhotoacousticImageStorage, |
768 | | UID_PositronEmissionTomographyImageStorage, |
769 | | UID_ProcedureLogStorage, |
770 | | UID_PseudoColorSoftcopyPresentationStateStorage, |
771 | | UID_RadiopharmaceuticalRadiationDoseSRStorage, |
772 | | UID_RawDataStorage, |
773 | | UID_RealWorldValueMappingStorage, |
774 | | UID_RespiratoryWaveformStorage, |
775 | | UID_RoboticArmRadiationStorage, |
776 | | UID_RoboticRadiationRecordStorage, |
777 | | UID_RoutineScalpElectroencephalogramWaveformStorage, |
778 | | UID_RTBeamsDeliveryInstructionStorage, |
779 | | UID_RTBeamsTreatmentRecordStorage, |
780 | | UID_RTBrachyApplicationSetupDeliveryInstructionStorage, |
781 | | UID_RTBrachyTreatmentRecordStorage, |
782 | | UID_RTDoseStorage, |
783 | | UID_RTImageStorage, |
784 | | UID_RTIonBeamsTreatmentRecordStorage, |
785 | | UID_RTIonPlanStorage, |
786 | | UID_RTPatientPositionAcquisitionInstructionStorage, |
787 | | UID_RTPhysicianIntentStorage, |
788 | | UID_RTPlanStorage, |
789 | | UID_RTRadiationRecordSetStorage, |
790 | | UID_RTRadiationSalvageRecordStorage, |
791 | | UID_RTRadiationSetDeliveryInstructionStorage, |
792 | | UID_RTRadiationSetStorage, |
793 | | UID_RTSegmentAnnotationStorage, |
794 | | UID_RTStructureSetStorage, |
795 | | UID_RTTreatmentPreparationStorage, |
796 | | UID_RTTreatmentSummaryRecordStorage, |
797 | | UID_SecondaryCaptureImageStorage, |
798 | | UID_SegmentationStorage, |
799 | | UID_SegmentedVolumeRenderingVolumetricPresentationStateStorage, |
800 | | UID_SimplifiedAdultEchoSRStorage, |
801 | | UID_SleepElectroencephalogramWaveformStorage, |
802 | | UID_SpatialFiducialsStorage, |
803 | | UID_SpatialRegistrationStorage, |
804 | | UID_SpectaclePrescriptionReportStorage, |
805 | | UID_StereometricRelationshipStorage, |
806 | | UID_SubjectiveRefractionMeasurementsStorage, |
807 | | UID_SurfaceScanMeshStorage, |
808 | | UID_SurfaceScanPointCloudStorage, |
809 | | UID_SurfaceSegmentationStorage, |
810 | | UID_TomotherapeuticRadiationRecordStorage, |
811 | | UID_TomotherapeuticRadiationStorage, |
812 | | UID_TractographyResultsStorage, |
813 | | UID_TwelveLeadECGWaveformStorage, |
814 | | UID_UltrasoundImageStorage, |
815 | | UID_UltrasoundMultiframeImageStorage, |
816 | | UID_VariableModalityLUTSoftcopyPresentationStateStorage, |
817 | | UID_VideoEndoscopicImageStorage, |
818 | | UID_VideoMicroscopicImageStorage, |
819 | | UID_VideoPhotographicImageStorage, |
820 | | UID_VisualAcuityMeasurementsStorage, |
821 | | UID_VLEndoscopicImageStorage, |
822 | | UID_VLMicroscopicImageStorage, |
823 | | UID_VLPhotographicImageStorage, |
824 | | UID_VLSlideCoordinatesMicroscopicImageStorage, |
825 | | UID_VLWholeSlideMicroscopyImageStorage, |
826 | | UID_VolumeRenderingVolumetricPresentationStateStorage, |
827 | | UID_WaveformAcquisitionPresentationStateStorage, |
828 | | UID_WaveformAnnotationSRStorage, |
829 | | UID_WaveformPresentationStateStorage, |
830 | | UID_WideFieldOphthalmicPhotographyStereographicProjectionImageStorage, |
831 | | UID_WideFieldOphthalmicPhotography3DCoordinatesImageStorage, |
832 | | UID_XAPerformedProcedureProtocolStorage, |
833 | | UID_XAXRFGrayscaleSoftcopyPresentationStateStorage, |
834 | | UID_XRay3DAngiographicImageStorage, |
835 | | UID_XRay3DCraniofacialImageStorage, |
836 | | UID_XRayAngiographicImageStorage, |
837 | | UID_XRayRadiationDoseSRStorage, |
838 | | UID_XRayRadiofluoroscopicImageStorage, |
839 | | // non-patient DICOM objects: |
840 | | // - do not add them here but in dcmNonPatientStorageSOPClassUIDs |
841 | | // retired |
842 | | UID_RETIRED_HardcopyColorImageStorage, |
843 | | UID_RETIRED_HardcopyGrayscaleImageStorage, |
844 | | UID_RETIRED_NuclearMedicineImageStorage, |
845 | | UID_RETIRED_StandaloneCurveStorage, |
846 | | UID_RETIRED_StandaloneModalityLUTStorage, |
847 | | UID_RETIRED_StandaloneOverlayStorage, |
848 | | UID_RETIRED_StandalonePETCurveStorage, |
849 | | UID_RETIRED_StandaloneVOILUTStorage, |
850 | | UID_RETIRED_StoredPrintStorage, |
851 | | UID_RETIRED_UltrasoundImageStorage, |
852 | | UID_RETIRED_UltrasoundMultiframeImageStorage, |
853 | | UID_RETIRED_VLImageStorage, |
854 | | UID_RETIRED_VLMultiframeImageStorage, |
855 | | UID_RETIRED_XRayAngiographicBiPlaneImageStorage, |
856 | | // draft |
857 | | UID_DRAFT_SRAudioStorage, |
858 | | UID_DRAFT_SRComprehensiveStorage, |
859 | | UID_DRAFT_SRDetailStorage, |
860 | | UID_DRAFT_SRTextStorage, |
861 | | UID_DRAFT_WaveformStorage, |
862 | | UID_DRAFT_RTBeamsDeliveryInstructionStorage, |
863 | | // DICOS |
864 | | UID_DICOS_CTImageStorage, |
865 | | UID_DICOS_DigitalXRayImageStorageForPresentation, |
866 | | UID_DICOS_DigitalXRayImageStorageForProcessing, |
867 | | UID_DICOS_ThreatDetectionReportStorage, |
868 | | UID_DICOS_2DAITStorage, |
869 | | UID_DICOS_3DAITStorage, |
870 | | UID_DICOS_QuadrupoleResonanceStorage, |
871 | | // DICONDE |
872 | | UID_DICONDE_EddyCurrentImageStorage, |
873 | | UID_DICONDE_EddyCurrentMultiframeImageStorage, |
874 | | UID_DICONDE_ThermographyImageStorage, |
875 | | UID_DICONDE_ThermographyMultiFrameImageStorage, |
876 | | UID_DICONDE_UltrasoundWaveformStorage, |
877 | | NULL |
878 | | }; |
879 | | |
880 | | const int numberOfDcmAllStorageSOPClassUIDs = OFstatic_cast(int, sizeof(dcmAllStorageSOPClassUIDs) / sizeof(const char*) - 1); |
881 | | |
882 | | |
883 | | /** an array of const strings containing all known Storage SOP Classes |
884 | | * that do not fit into the conventional PATIENT-STUDY-SERIES-INSTANCE |
885 | | * information model. See function dcmIsaStorageSOPClassUID(). |
886 | | */ |
887 | | const char* dcmNonPatientStorageSOPClassUIDs[] = { |
888 | | UID_ColorPaletteStorage, |
889 | | UID_CTDefinedProcedureProtocolStorage, |
890 | | UID_GenericImplantTemplateStorage, |
891 | | UID_HangingProtocolStorage, |
892 | | UID_ImplantAssemblyTemplateStorage, |
893 | | UID_ImplantTemplateGroupStorage, |
894 | | UID_InventoryStorage, |
895 | | UID_ProtocolApprovalStorage, |
896 | | UID_XADefinedProcedureProtocolStorage, |
897 | | // end marker (important!) |
898 | | NULL |
899 | | }; |
900 | | |
901 | | |
902 | | /* an array of const strings containing all storage SOP classes that |
903 | | * are proposed by default by those Storage SCU components in DCMTK |
904 | | * that always propose one presentation context for each SOP class, |
905 | | * e.g. movescu or dcmqrdb. This list is guaranteed to have at most |
906 | | * 120 entries (currently: 120) to leave enough room for FIND/MOVE |
907 | | * presentation contexts. |
908 | | */ |
909 | | const char* dcmLongSCUStorageSOPClassUIDs[] = { |
910 | | UID_AmbulatoryECGWaveformStorage, |
911 | | UID_ArterialPulseWaveformStorage, |
912 | | UID_AutorefractionMeasurementsStorage, |
913 | | UID_BasicStructuredDisplayStorage, |
914 | | UID_BasicTextSRStorage, |
915 | | UID_BasicVoiceAudioWaveformStorage, |
916 | | UID_BlendingSoftcopyPresentationStateStorage, |
917 | | UID_BreastTomosynthesisImageStorage, |
918 | | UID_CardiacElectrophysiologyWaveformStorage, |
919 | | UID_ChestCADSRStorage, |
920 | | UID_ColonCADSRStorage, |
921 | | UID_ColorSoftcopyPresentationStateStorage, |
922 | | UID_Comprehensive3DSRStorage, |
923 | | UID_ComprehensiveSRStorage, |
924 | | UID_ComputedRadiographyImageStorage, |
925 | | UID_CTImageStorage, |
926 | | UID_DeformableSpatialRegistrationStorage, |
927 | | UID_DigitalIntraOralXRayImageStorageForPresentation, |
928 | | UID_DigitalIntraOralXRayImageStorageForProcessing, |
929 | | UID_DigitalMammographyXRayImageStorageForPresentation, |
930 | | UID_DigitalMammographyXRayImageStorageForProcessing, |
931 | | UID_DigitalXRayImageStorageForPresentation, |
932 | | UID_DigitalXRayImageStorageForProcessing, |
933 | | UID_EncapsulatedCDAStorage, |
934 | | UID_EncapsulatedPDFStorage, |
935 | | UID_EnhancedCTImageStorage, |
936 | | UID_EnhancedMRColorImageStorage, |
937 | | UID_EnhancedMRImageStorage, |
938 | | UID_EnhancedPETImageStorage, |
939 | | UID_EnhancedSRStorage, |
940 | | UID_EnhancedUSVolumeStorage, |
941 | | UID_EnhancedXAImageStorage, |
942 | | UID_EnhancedXRFImageStorage, |
943 | | UID_GeneralAudioWaveformStorage, |
944 | | UID_GeneralECGWaveformStorage, |
945 | | UID_GrayscaleSoftcopyPresentationStateStorage, |
946 | | UID_HemodynamicWaveformStorage, |
947 | | UID_ImplantationPlanSRStorage, |
948 | | UID_IntraocularLensCalculationsStorage, |
949 | | UID_IntravascularOpticalCoherenceTomographyImageStorageForPresentation, |
950 | | UID_IntravascularOpticalCoherenceTomographyImageStorageForProcessing, |
951 | | UID_KeratometryMeasurementsStorage, |
952 | | UID_KeyObjectSelectionDocumentStorage, |
953 | | UID_LegacyConvertedEnhancedCTImageStorage, |
954 | | UID_LegacyConvertedEnhancedMRImageStorage, |
955 | | UID_LegacyConvertedEnhancedPETImageStorage, |
956 | | UID_LensometryMeasurementsStorage, |
957 | | UID_MacularGridThicknessAndVolumeReportStorage, |
958 | | UID_MammographyCADSRStorage, |
959 | | UID_MRImageStorage, |
960 | | UID_MRSpectroscopyStorage, |
961 | | UID_MultiframeGrayscaleByteSecondaryCaptureImageStorage, |
962 | | UID_MultiframeGrayscaleWordSecondaryCaptureImageStorage, |
963 | | UID_MultiframeSingleBitSecondaryCaptureImageStorage, |
964 | | UID_MultiframeTrueColorSecondaryCaptureImageStorage, |
965 | | UID_NuclearMedicineImageStorage, |
966 | | UID_OphthalmicAxialMeasurementsStorage, |
967 | | UID_OphthalmicPhotography16BitImageStorage, |
968 | | UID_OphthalmicPhotography8BitImageStorage, |
969 | | UID_OphthalmicThicknessMapStorage, |
970 | | UID_OphthalmicTomographyImageStorage, |
971 | | UID_OphthalmicVisualFieldStaticPerimetryMeasurementsStorage, |
972 | | UID_PositronEmissionTomographyImageStorage, |
973 | | UID_ProcedureLogStorage, |
974 | | UID_PseudoColorSoftcopyPresentationStateStorage, |
975 | | UID_RawDataStorage, |
976 | | UID_RealWorldValueMappingStorage, |
977 | | UID_RespiratoryWaveformStorage, |
978 | | UID_RTBeamsDeliveryInstructionStorage, |
979 | | UID_RTBeamsTreatmentRecordStorage, |
980 | | UID_RTBrachyTreatmentRecordStorage, |
981 | | UID_RTDoseStorage, |
982 | | UID_RTImageStorage, |
983 | | UID_RTIonBeamsTreatmentRecordStorage, |
984 | | UID_RTIonPlanStorage, |
985 | | UID_RTPlanStorage, |
986 | | UID_RTStructureSetStorage, |
987 | | UID_RTTreatmentSummaryRecordStorage, |
988 | | UID_SecondaryCaptureImageStorage, |
989 | | UID_SegmentationStorage, |
990 | | UID_SpatialFiducialsStorage, |
991 | | UID_SpatialRegistrationStorage, |
992 | | UID_SpectaclePrescriptionReportStorage, |
993 | | UID_StereometricRelationshipStorage, |
994 | | UID_SubjectiveRefractionMeasurementsStorage, |
995 | | UID_SurfaceScanMeshStorage, |
996 | | UID_SurfaceScanPointCloudStorage, |
997 | | UID_SurfaceSegmentationStorage, |
998 | | UID_TwelveLeadECGWaveformStorage, |
999 | | UID_UltrasoundImageStorage, |
1000 | | UID_UltrasoundMultiframeImageStorage, |
1001 | | UID_VideoEndoscopicImageStorage, |
1002 | | UID_VideoMicroscopicImageStorage, |
1003 | | UID_VideoPhotographicImageStorage, |
1004 | | UID_VisualAcuityMeasurementsStorage, |
1005 | | UID_VLEndoscopicImageStorage, |
1006 | | UID_VLMicroscopicImageStorage, |
1007 | | UID_VLPhotographicImageStorage, |
1008 | | UID_VLSlideCoordinatesMicroscopicImageStorage, |
1009 | | UID_VLWholeSlideMicroscopyImageStorage, |
1010 | | UID_XAXRFGrayscaleSoftcopyPresentationStateStorage, |
1011 | | UID_XRay3DAngiographicImageStorage, |
1012 | | UID_XRay3DCraniofacialImageStorage, |
1013 | | UID_XRayAngiographicImageStorage, |
1014 | | UID_XRayRadiationDoseSRStorage, |
1015 | | UID_XRayRadiofluoroscopicImageStorage, |
1016 | | // recently approved |
1017 | | // UID_AcquisitionContextSRStorage, |
1018 | | // UID_AdvancedBlendingPresentationStateStorage, |
1019 | | // UID_BodyPositionWaveformStorage, |
1020 | | // UID_BreastProjectionXRayImageStorageForPresentation, |
1021 | | // UID_BreastProjectionXRayImageStorageForProcessing, |
1022 | | // UID_CArmPhotonElectronRadiationRecordStorage, |
1023 | | // UID_CArmPhotonElectronRadiationStorage, |
1024 | | // UID_CompositingPlanarMPRVolumetricPresentationStateStorage, |
1025 | | // UID_ConfocalMicroscopyImageStorage, |
1026 | | // UID_ConfocalMicroscopyTiledPyramidalImageStorage, |
1027 | | // UID_ContentAssessmentResultsStorage, |
1028 | | // UID_CornealTopographyMapStorage, |
1029 | | // UID_CTImageStorageForProcessing, |
1030 | | // UID_CTPerformedProcedureProtocolStorage, |
1031 | | // UID_DermoscopicPhotographyImageStorage, |
1032 | | // UID_ElectromyogramWaveformStorage, |
1033 | | // UID_ElectrooculogramWaveformStorage, |
1034 | | // UID_EncapsulatedMTLStorage, |
1035 | | // UID_EncapsulatedOBJStorage, |
1036 | | // UID_EncapsulatedSTLStorage, |
1037 | | // UID_EnhancedContinuousRTImageStorage, |
1038 | | // UID_EnhancedCTImageStorageForProcessing, |
1039 | | // UID_EnhancedRTImageStorage, |
1040 | | // UID_EnhancedXRayRadiationDoseSRStorage, |
1041 | | // UID_ExtensibleSRStorage, |
1042 | | // UID_General32BitECGWaveformStorage, |
1043 | | // UID_GrayscalePlanarMPRVolumetricPresentationStateStorage, |
1044 | | // UID_HeightMapSegmentationStorage, |
1045 | | // UID_LabelMapSegmentationStorage, |
1046 | | // UID_LegacyConvertedEnhancedCTImageStorageForProcessing, |
1047 | | // UID_MicroscopyBulkSimpleAnnotationsStorage, |
1048 | | // UID_MultichannelRespiratoryWaveformStorage, |
1049 | | // UID_MultipleVolumeRenderingVolumetricPresentationStateStorage, |
1050 | | // UID_OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage, |
1051 | | // UID_OphthalmicOpticalCoherenceTomographyEnFaceImageStorage, |
1052 | | // UID_ParametricMapStorage, |
1053 | | // UID_PatientRadiationDoseSRStorage, |
1054 | | // UID_PerformedImagingAgentAdministrationSRStorage, |
1055 | | // UID_PhotoacousticImageStorage, |
1056 | | // UID_PlannedImagingAgentAdministrationSRStorage, |
1057 | | // UID_RadiopharmaceuticalRadiationDoseSRStorage, |
1058 | | // UID_RoboticArmRadiationStorage, |
1059 | | // UID_RoboticRadiationRecordStorage, |
1060 | | // UID_RoutineScalpElectroencephalogramWaveformStorage, |
1061 | | // UID_RTBrachyApplicationSetupDeliveryInstructionStorage, |
1062 | | // UID_RTPatientPositionAcquisitionInstructionStorage, |
1063 | | // UID_RTPhysicianIntentStorage, |
1064 | | // UID_RTRadiationRecordSetStorage, |
1065 | | // UID_RTRadiationSalvageRecordStorage, |
1066 | | // UID_RTRadiationSetDeliveryInstructionStorage, |
1067 | | // UID_RTRadiationSetStorage, |
1068 | | // UID_RTSegmentAnnotationStorage, |
1069 | | // UID_RTTreatmentPreparationStorage, |
1070 | | // UID_SegmentedVolumeRenderingVolumetricPresentationStateStorage, |
1071 | | // UID_SimplifiedAdultEchoSRStorage, |
1072 | | // UID_SleepElectroencephalogramWaveformStorage, |
1073 | | // UID_TomotherapeuticRadiationRecordStorage, |
1074 | | // UID_TomotherapeuticRadiationStorage, |
1075 | | // UID_TractographyResultsStorage, |
1076 | | // UID_VariableModalityLUTSoftcopyPresentationStateStorage, |
1077 | | // UID_VolumeRenderingVolumetricPresentationStateStorage, |
1078 | | // UID_WaveformAcquisitionPresentationStateStorage, |
1079 | | // UID_WaveformAnnotationSRStorage, |
1080 | | // UID_WaveformPresentationStateStorage, |
1081 | | // UID_WideFieldOphthalmicPhotographyStereographicProjectionImageStorage, |
1082 | | // UID_WideFieldOphthalmicPhotography3DCoordinatesImageStorage, |
1083 | | // UID_XAPerformedProcedureProtocolStorage, |
1084 | | // non-patient |
1085 | | // UID_ColorPaletteStorage, |
1086 | | // UID_CTDefinedProcedureProtocolStorage, |
1087 | | // UID_GenericImplantTemplateStorage, |
1088 | | // UID_HangingProtocolStorage, |
1089 | | // UID_ImplantAssemblyTemplateStorage, |
1090 | | // UID_ImplantTemplateGroupStorage, |
1091 | | // UID_InventoryStorage, |
1092 | | // UID_ProtocolApprovalStorage, |
1093 | | // UID_XADefinedProcedureProtocolStorage, |
1094 | | // retired |
1095 | | UID_RETIRED_HardcopyColorImageStorage, |
1096 | | UID_RETIRED_HardcopyGrayscaleImageStorage, |
1097 | | UID_RETIRED_NuclearMedicineImageStorage, |
1098 | | UID_RETIRED_StandaloneCurveStorage, |
1099 | | UID_RETIRED_StandaloneModalityLUTStorage, |
1100 | | UID_RETIRED_StandaloneOverlayStorage, |
1101 | | UID_RETIRED_StandalonePETCurveStorage, |
1102 | | UID_RETIRED_StandaloneVOILUTStorage, |
1103 | | UID_RETIRED_StoredPrintStorage, |
1104 | | UID_RETIRED_UltrasoundImageStorage, |
1105 | | UID_RETIRED_UltrasoundMultiframeImageStorage, |
1106 | | UID_RETIRED_VLImageStorage, |
1107 | | UID_RETIRED_VLMultiframeImageStorage, |
1108 | | UID_RETIRED_XRayAngiographicBiPlaneImageStorage, |
1109 | | // draft |
1110 | | // UID_DRAFT_RTBeamsDeliveryInstructionStorage, |
1111 | | // UID_DRAFT_SRAudioStorage, |
1112 | | // UID_DRAFT_SRComprehensiveStorage, |
1113 | | // UID_DRAFT_SRDetailStorage, |
1114 | | // UID_DRAFT_SRTextStorage, |
1115 | | // UID_DRAFT_WaveformStorage, |
1116 | | // DICOS |
1117 | | // UID_DICOS_CTImageStorage, |
1118 | | // UID_DICOS_DigitalXRayImageStorageForPresentation, |
1119 | | // UID_DICOS_DigitalXRayImageStorageForProcessing, |
1120 | | // UID_DICOS_ThreatDetectionReportStorage, |
1121 | | // UID_DICOS_2DAITStorage, |
1122 | | // UID_DICOS_3DAITStorage, |
1123 | | // UID_DICOS_QuadrupoleResonanceStorage, |
1124 | | // DICONDE |
1125 | | // UID_DICONDE_EddyCurrentImageStorage, |
1126 | | // UID_DICONDE_EddyCurrentMultiframeImageStorage, |
1127 | | // UID_DICONDE_ThermographyImageStorage, |
1128 | | // UID_DICONDE_ThermographyMultiFrameImageStorage, |
1129 | | // UID_DICONDE_UltrasoundWaveformStorage, |
1130 | | NULL |
1131 | | }; |
1132 | | |
1133 | | const int numberOfDcmLongSCUStorageSOPClassUIDs = OFstatic_cast(int, sizeof(dcmLongSCUStorageSOPClassUIDs) / sizeof(const char*) - 1); |
1134 | | |
1135 | | |
1136 | | /** an array of const strings containing all storage SOP classes that |
1137 | | * are proposed by default by those Storage SCU components in DCMTK |
1138 | | * that always propose TWO presentation context for each SOP class, |
1139 | | * e.g. storescu. This list is guaranteed to have at most 64 entries. |
1140 | | */ |
1141 | | const char* dcmShortSCUStorageSOPClassUIDs[] = { |
1142 | | /* This list *must* be limited to 64 SOP classes or less (currently: 64). |
1143 | | * If we have more than 64 storage transfer syntaxes, tools such as |
1144 | | * storescu will fail because they attempt to negotiate two presentation |
1145 | | * contexts for each SOP class, and there is a total limit of 128 contexts |
1146 | | * for one association. |
1147 | | * Because of this limitation, all draft and retired storage SOP classes |
1148 | | * are removed from this list. We have also omitted support for some |
1149 | | * recently approved SOP classes. |
1150 | | * UID_MediaStorageDirectoryStorage should not be present in this list. |
1151 | | */ |
1152 | | UID_AmbulatoryECGWaveformStorage, |
1153 | | UID_BasicTextSRStorage, |
1154 | | UID_BasicVoiceAudioWaveformStorage, |
1155 | | UID_BlendingSoftcopyPresentationStateStorage, |
1156 | | UID_CardiacElectrophysiologyWaveformStorage, |
1157 | | UID_ChestCADSRStorage, |
1158 | | UID_ColonCADSRStorage, |
1159 | | UID_ColorSoftcopyPresentationStateStorage, |
1160 | | UID_ComprehensiveSRStorage, |
1161 | | UID_ComputedRadiographyImageStorage, |
1162 | | UID_CTImageStorage, |
1163 | | UID_DigitalIntraOralXRayImageStorageForPresentation, |
1164 | | UID_DigitalIntraOralXRayImageStorageForProcessing, |
1165 | | UID_DigitalMammographyXRayImageStorageForPresentation, |
1166 | | UID_DigitalMammographyXRayImageStorageForProcessing, |
1167 | | UID_DigitalXRayImageStorageForPresentation, |
1168 | | UID_DigitalXRayImageStorageForProcessing, |
1169 | | UID_EncapsulatedPDFStorage, |
1170 | | UID_EnhancedCTImageStorage, |
1171 | | UID_EnhancedMRImageStorage, |
1172 | | UID_EnhancedSRStorage, |
1173 | | UID_EnhancedXAImageStorage, |
1174 | | UID_EnhancedXRFImageStorage, |
1175 | | UID_GeneralECGWaveformStorage, |
1176 | | UID_GrayscaleSoftcopyPresentationStateStorage, |
1177 | | UID_HemodynamicWaveformStorage, |
1178 | | UID_KeyObjectSelectionDocumentStorage, |
1179 | | UID_MammographyCADSRStorage, |
1180 | | UID_MRImageStorage, |
1181 | | UID_MRSpectroscopyStorage, |
1182 | | UID_MultiframeGrayscaleByteSecondaryCaptureImageStorage, |
1183 | | UID_MultiframeGrayscaleWordSecondaryCaptureImageStorage, |
1184 | | UID_MultiframeSingleBitSecondaryCaptureImageStorage, |
1185 | | UID_MultiframeTrueColorSecondaryCaptureImageStorage, |
1186 | | UID_NuclearMedicineImageStorage, |
1187 | | UID_OphthalmicPhotography16BitImageStorage, |
1188 | | UID_OphthalmicPhotography8BitImageStorage, |
1189 | | UID_OphthalmicTomographyImageStorage, |
1190 | | UID_PositronEmissionTomographyImageStorage, |
1191 | | UID_ProcedureLogStorage, |
1192 | | UID_PseudoColorSoftcopyPresentationStateStorage, |
1193 | | UID_RawDataStorage, |
1194 | | UID_RealWorldValueMappingStorage, |
1195 | | UID_RTBeamsTreatmentRecordStorage, |
1196 | | UID_RTBrachyTreatmentRecordStorage, |
1197 | | UID_RTDoseStorage, |
1198 | | UID_RTImageStorage, |
1199 | | UID_RTPlanStorage, |
1200 | | UID_RTStructureSetStorage, |
1201 | | UID_RTTreatmentSummaryRecordStorage, |
1202 | | UID_SecondaryCaptureImageStorage, |
1203 | | UID_SpatialFiducialsStorage, |
1204 | | UID_SpatialRegistrationStorage, |
1205 | | UID_StereometricRelationshipStorage, |
1206 | | UID_TwelveLeadECGWaveformStorage, |
1207 | | UID_UltrasoundImageStorage, |
1208 | | UID_UltrasoundMultiframeImageStorage, |
1209 | | UID_VLEndoscopicImageStorage, |
1210 | | UID_VLMicroscopicImageStorage, |
1211 | | UID_VLPhotographicImageStorage, |
1212 | | UID_VLSlideCoordinatesMicroscopicImageStorage, |
1213 | | UID_XRayAngiographicImageStorage, |
1214 | | UID_XRayRadiationDoseSRStorage, |
1215 | | UID_XRayRadiofluoroscopicImageStorage, |
1216 | | NULL |
1217 | | }; |
1218 | | |
1219 | | const int numberOfDcmShortSCUStorageSOPClassUIDs = OFstatic_cast(int, sizeof(dcmShortSCUStorageSOPClassUIDs) / sizeof(const char*) - 1); |
1220 | | |
1221 | | |
1222 | | /* |
1223 | | ** The global variable dcmImageSOPClassUIDs is an array of |
1224 | | ** string pointers containing the UIDs of all known Image SOP |
1225 | | ** Classes. The instances of SOP Classes in this list can be |
1226 | | ** referenced from DICOMDIR IMAGE records. |
1227 | | ** |
1228 | | ** The dcmgpdir/dcmmkdir program uses this list to determine |
1229 | | ** what kind of objects can be referenced from IMAGE records. |
1230 | | ** Be _very_ careful when adding SOP Classes to this list!! |
1231 | | ** |
1232 | | ** The global variable numberOfDcmImageSOPClassUIDs defines the |
1233 | | ** size of the array. |
1234 | | */ |
1235 | | const char* dcmImageSOPClassUIDs[] = { |
1236 | | UID_BreastProjectionXRayImageStorageForPresentation, |
1237 | | UID_BreastProjectionXRayImageStorageForProcessing, |
1238 | | UID_BreastTomosynthesisImageStorage, |
1239 | | UID_ComputedRadiographyImageStorage, |
1240 | | UID_ConfocalMicroscopyImageStorage, |
1241 | | UID_ConfocalMicroscopyTiledPyramidalImageStorage, |
1242 | | UID_CTImageStorage, |
1243 | | UID_CTImageStorageForProcessing, |
1244 | | UID_CornealTopographyMapStorage, |
1245 | | UID_DermoscopicPhotographyImageStorage, |
1246 | | UID_DigitalIntraOralXRayImageStorageForPresentation, |
1247 | | UID_DigitalIntraOralXRayImageStorageForProcessing, |
1248 | | UID_DigitalMammographyXRayImageStorageForPresentation, |
1249 | | UID_DigitalMammographyXRayImageStorageForProcessing, |
1250 | | UID_DigitalXRayImageStorageForPresentation, |
1251 | | UID_DigitalXRayImageStorageForProcessing, |
1252 | | UID_EnhancedContinuousRTImageStorage, |
1253 | | UID_EnhancedCTImageStorage, |
1254 | | UID_EnhancedCTImageStorageForProcessing, |
1255 | | UID_EnhancedMRColorImageStorage, |
1256 | | UID_EnhancedMRImageStorage, |
1257 | | UID_EnhancedPETImageStorage, |
1258 | | UID_EnhancedRTImageStorage, |
1259 | | UID_EnhancedUSVolumeStorage, |
1260 | | UID_EnhancedXAImageStorage, |
1261 | | UID_EnhancedXRFImageStorage, |
1262 | | UID_HeightMapSegmentationStorage, |
1263 | | UID_IntravascularOpticalCoherenceTomographyImageStorageForPresentation, |
1264 | | UID_IntravascularOpticalCoherenceTomographyImageStorageForProcessing, |
1265 | | UID_LabelMapSegmentationStorage, |
1266 | | UID_LegacyConvertedEnhancedCTImageStorage, |
1267 | | UID_LegacyConvertedEnhancedCTImageStorageForProcessing, |
1268 | | UID_LegacyConvertedEnhancedMRImageStorage, |
1269 | | UID_LegacyConvertedEnhancedPETImageStorage, |
1270 | | UID_MRImageStorage, |
1271 | | UID_MultiframeGrayscaleByteSecondaryCaptureImageStorage, |
1272 | | UID_MultiframeGrayscaleWordSecondaryCaptureImageStorage, |
1273 | | UID_MultiframeSingleBitSecondaryCaptureImageStorage, |
1274 | | UID_MultiframeTrueColorSecondaryCaptureImageStorage, |
1275 | | UID_NuclearMedicineImageStorage, |
1276 | | UID_OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage, |
1277 | | UID_OphthalmicOpticalCoherenceTomographyEnFaceImageStorage, |
1278 | | UID_OphthalmicPhotography16BitImageStorage, |
1279 | | UID_OphthalmicPhotography8BitImageStorage, |
1280 | | UID_OphthalmicThicknessMapStorage, |
1281 | | UID_OphthalmicTomographyImageStorage, |
1282 | | UID_ParametricMapStorage, |
1283 | | UID_PhotoacousticImageStorage, |
1284 | | UID_PositronEmissionTomographyImageStorage, |
1285 | | UID_RTImageStorage, |
1286 | | UID_SecondaryCaptureImageStorage, |
1287 | | UID_SegmentationStorage, |
1288 | | UID_UltrasoundImageStorage, |
1289 | | UID_UltrasoundMultiframeImageStorage, |
1290 | | UID_VideoEndoscopicImageStorage, |
1291 | | UID_VideoMicroscopicImageStorage, |
1292 | | UID_VideoPhotographicImageStorage, |
1293 | | UID_VLEndoscopicImageStorage, |
1294 | | UID_VLMicroscopicImageStorage, |
1295 | | UID_VLPhotographicImageStorage, |
1296 | | UID_VLSlideCoordinatesMicroscopicImageStorage, |
1297 | | UID_VLWholeSlideMicroscopyImageStorage, |
1298 | | UID_WideFieldOphthalmicPhotographyStereographicProjectionImageStorage, |
1299 | | UID_WideFieldOphthalmicPhotography3DCoordinatesImageStorage, |
1300 | | UID_XRay3DAngiographicImageStorage, |
1301 | | UID_XRay3DCraniofacialImageStorage, |
1302 | | UID_XRayAngiographicImageStorage, |
1303 | | UID_XRayRadiofluoroscopicImageStorage, |
1304 | | // retired |
1305 | | UID_RETIRED_HardcopyColorImageStorage, |
1306 | | UID_RETIRED_HardcopyGrayscaleImageStorage, |
1307 | | UID_RETIRED_NuclearMedicineImageStorage, |
1308 | | UID_RETIRED_UltrasoundImageStorage, |
1309 | | UID_RETIRED_UltrasoundMultiframeImageStorage, |
1310 | | UID_RETIRED_VLImageStorage, |
1311 | | UID_RETIRED_VLMultiframeImageStorage, |
1312 | | UID_RETIRED_XRayAngiographicBiPlaneImageStorage, |
1313 | | // DICOS |
1314 | | UID_DICOS_CTImageStorage, |
1315 | | UID_DICOS_DigitalXRayImageStorageForPresentation, |
1316 | | UID_DICOS_DigitalXRayImageStorageForProcessing, |
1317 | | // DICONDE |
1318 | | UID_DICONDE_EddyCurrentImageStorage, |
1319 | | UID_DICONDE_EddyCurrentMultiframeImageStorage, |
1320 | | UID_DICONDE_ThermographyImageStorage, |
1321 | | UID_DICONDE_ThermographyMultiFrameImageStorage, |
1322 | | NULL |
1323 | | }; |
1324 | | |
1325 | | const int numberOfDcmImageSOPClassUIDs = OFstatic_cast(int, sizeof(dcmImageSOPClassUIDs) / sizeof(const char*) - 1); |
1326 | | |
1327 | | |
1328 | | typedef struct { |
1329 | | const char *sopClass; /* official UID value */ |
1330 | | const char *modality; /* short character code */ |
1331 | | unsigned long averageSize; /* can be way, way out */ |
1332 | | } DcmModalityTable; |
1333 | | |
1334 | | /* |
1335 | | ** The modalities table defines a short character code for each |
1336 | | ** Storage SOP Class for use in filenames. |
1337 | | ** It also gives a typical size for each SOP Instance. This will |
1338 | | ** usually be way out, but is useful in user interfaces to give an |
1339 | | ** idea of progress when receiving an image (C-STORE does not indicate |
1340 | | ** the size of an image being transmitted). |
1341 | | */ |
1342 | | static const DcmModalityTable modalities[] = { |
1343 | | { UID_AcquisitionContextSRStorage, "SRa", 4096 }, |
1344 | | { UID_AdvancedBlendingPresentationStateStorage, "PSa", 4096 }, |
1345 | | { UID_AmbulatoryECGWaveformStorage, "ECA", 4096 }, |
1346 | | { UID_ArterialPulseWaveformStorage, "WVa", 4096 }, |
1347 | | { UID_AutorefractionMeasurementsStorage, "OPa", 4096 }, |
1348 | | { UID_BasicStructuredDisplayStorage, "SD", 4096 }, |
1349 | | { UID_BasicTextSRStorage, "SRt", 4096 }, |
1350 | | { UID_BasicVoiceAudioWaveformStorage, "AUV", 4096 }, |
1351 | | { UID_BlendingSoftcopyPresentationStateStorage, "PSb", 4096 }, |
1352 | | { UID_BodyPositionWaveformStorage, "WVb", 4096 }, |
1353 | | { UID_BreastProjectionXRayImageStorageForPresentation, "BX", 4096 * 4096 * 2 }, |
1354 | | { UID_BreastProjectionXRayImageStorageForProcessing, "BP", 4096 * 4096 * 2 }, |
1355 | | { UID_BreastTomosynthesisImageStorage, "BT", 4096 * 4096 * 2 }, |
1356 | | { UID_CardiacElectrophysiologyWaveformStorage, "WVc", 4096 }, |
1357 | | { UID_CArmPhotonElectronRadiationRecordStorage, "RRc", 4096 }, |
1358 | | { UID_CArmPhotonElectronRadiationStorage, "Rca", 4096 }, |
1359 | | { UID_ChestCADSRStorage, "SRh", 4096 }, |
1360 | | { UID_ColonCADSRStorage, "SRo", 4096 }, |
1361 | | { UID_ColorPaletteStorage, "CP", 4096 }, |
1362 | | { UID_ColorSoftcopyPresentationStateStorage, "PSc", 4096 }, |
1363 | | { UID_CompositingPlanarMPRVolumetricPresentationStateStorage, "VPc", 4096 }, |
1364 | | { UID_Comprehensive3DSRStorage, "SR3", 4096 }, |
1365 | | { UID_ComprehensiveSRStorage, "SRc", 4096 }, |
1366 | | { UID_ComputedRadiographyImageStorage, "CR", 2048 * 2048 * 2 }, |
1367 | | { UID_ConfocalMicroscopyImageStorage, "CFm", 1024 * 1024 }, |
1368 | | { UID_ConfocalMicroscopyTiledPyramidalImageStorage, "CFt", 1024 * 1024 * 10 }, |
1369 | | { UID_ContentAssessmentResultsStorage, "AS", 4096 }, |
1370 | | { UID_CornealTopographyMapStorage, "CM", 512 * 512 }, |
1371 | | { UID_CTDefinedProcedureProtocolStorage, "PPcd", 4096 }, /* was PPd */ |
1372 | | { UID_CTImageStorage, "CT", 512 * 512 * 2 }, |
1373 | | { UID_CTImageStorageForProcessing, "CT", 512 * 512 * 2 }, /* same prefix as "for presentation" */ |
1374 | | { UID_CTPerformedProcedureProtocolStorage, "PPcp", 4096 }, /* was PPp */ |
1375 | | { UID_DeformableSpatialRegistrationStorage, "RGd", 4096 }, |
1376 | | { UID_DermoscopicPhotographyImageStorage, "VLd", 768 * 576 * 3 }, |
1377 | | { UID_DigitalIntraOralXRayImageStorageForPresentation, "DXo", 1024 * 1024 * 2 }, |
1378 | | { UID_DigitalIntraOralXRayImageStorageForProcessing, "DPo", 1024 * 1024 * 2 }, |
1379 | | { UID_DigitalMammographyXRayImageStorageForPresentation, "DXm", 4096 * 4096 * 2 }, |
1380 | | { UID_DigitalMammographyXRayImageStorageForProcessing, "DPm", 4096 * 4096 * 2 }, |
1381 | | { UID_DigitalXRayImageStorageForPresentation, "DX", 2048 * 2048 * 2 }, |
1382 | | { UID_DigitalXRayImageStorageForProcessing, "DP", 2048 * 2048 * 2 }, |
1383 | | { UID_ElectromyogramWaveformStorage, "EMG", 4096 }, |
1384 | | { UID_ElectrooculogramWaveformStorage, "EOG", 4096 }, |
1385 | | { UID_EncapsulatedCDAStorage, "CDA", 4096 }, |
1386 | | { UID_EncapsulatedMTLStorage, "MTL", 4096 }, |
1387 | | { UID_EncapsulatedOBJStorage, "OBJ", 4096 }, |
1388 | | { UID_EncapsulatedPDFStorage, "PDF", 1024 * 1024 }, |
1389 | | { UID_EncapsulatedSTLStorage, "STL", 4096 }, |
1390 | | { UID_EnhancedContinuousRTImageStorage, "RIc", 4096 }, |
1391 | | { UID_EnhancedCTImageStorage, "CTe", 256 * 512 * 512 }, |
1392 | | { UID_EnhancedCTImageStorageForProcessing, "CTe", 256 * 512 * 512 }, /* same prefix as "for presentation" */ |
1393 | | { UID_EnhancedMRColorImageStorage, "MRc", 256 * 512 * 512 * 3 }, |
1394 | | { UID_EnhancedMRImageStorage, "MRe", 256 * 512 * 512 }, |
1395 | | { UID_EnhancedPETImageStorage, "PIe", 512 * 512 * 2 }, |
1396 | | { UID_EnhancedRTImageStorage, "RIe", 4096 }, |
1397 | | { UID_EnhancedSRStorage, "SRe", 4096 }, |
1398 | | { UID_EnhancedUSVolumeStorage, "USe", 512 * 512 }, |
1399 | | { UID_EnhancedXAImageStorage, "XAe", 256 * 512 * 512 }, |
1400 | | { UID_EnhancedXRayRadiationDoseSRStorage, "SRde", 4096 }, |
1401 | | { UID_EnhancedXRFImageStorage, "RFe", 256 * 512 * 512 }, |
1402 | | { UID_ExtensibleSRStorage, "SRx", 4096 }, |
1403 | | { UID_General32BitECGWaveformStorage, "ECGh", 4096 }, |
1404 | | { UID_GeneralAudioWaveformStorage, "AUG", 4096 }, |
1405 | | { UID_GeneralECGWaveformStorage, "ECG", 4096 }, |
1406 | | { UID_GenericImplantTemplateStorage, "IT", 4096 }, |
1407 | | { UID_GrayscalePlanarMPRVolumetricPresentationStateStorage, "VPg", 4096 }, |
1408 | | { UID_GrayscaleSoftcopyPresentationStateStorage, "PSg", 4096 }, |
1409 | | { UID_HangingProtocolStorage, "HP", 4096 }, |
1410 | | { UID_HeightMapSegmentationStorage, "SGh", 512 * 512 }, |
1411 | | { UID_HemodynamicWaveformStorage, "WVh", 4096 }, |
1412 | | { UID_ImplantAssemblyTemplateStorage, "ITa", 4096 }, |
1413 | | { UID_ImplantationPlanSRStorage, "SRi", 4096 }, |
1414 | | { UID_ImplantTemplateGroupStorage, "ITg", 4096 }, |
1415 | | { UID_IntraocularLensCalculationsStorage, "OPc", 4096 }, |
1416 | | { UID_IntravascularOpticalCoherenceTomographyImageStorageForPresentation, "OCt", 512 * 512 }, |
1417 | | { UID_IntravascularOpticalCoherenceTomographyImageStorageForProcessing, "OCp", 512 * 512 }, |
1418 | | { UID_InventoryStorage, "INV", 4096 }, |
1419 | | { UID_KeratometryMeasurementsStorage, "OPk", 4096 }, |
1420 | | { UID_KeyObjectSelectionDocumentStorage, "KO", 4096 }, |
1421 | | { UID_LabelMapSegmentationStorage, "SGl", 512 * 512 }, |
1422 | | { UID_LegacyConvertedEnhancedCTImageStorage, "CTl", 512 * 512 * 2 }, |
1423 | | { UID_LegacyConvertedEnhancedCTImageStorageForProcessing, "CTl", 512 * 512 * 2 }, /* same prefix as "for presentation" */ |
1424 | | { UID_LegacyConvertedEnhancedMRImageStorage, "MRl", 256 * 256 * 2 }, |
1425 | | { UID_LegacyConvertedEnhancedPETImageStorage, "PIl", 512 * 512 * 2 }, |
1426 | | { UID_LensometryMeasurementsStorage, "OPl", 4096 }, |
1427 | | { UID_MacularGridThicknessAndVolumeReportStorage, "SRg", 4096 }, |
1428 | | { UID_MammographyCADSRStorage, "SRm", 4096 }, |
1429 | | { UID_MicroscopyBulkSimpleAnnotationsStorage, "MAs", 4096 }, |
1430 | | { UID_MRImageStorage, "MR", 256 * 256 * 2 }, |
1431 | | { UID_MRSpectroscopyStorage, "MRs", 256 * 512 * 512 }, |
1432 | | { UID_MultichannelRespiratoryWaveformStorage, "WVm", 4096 }, |
1433 | | { UID_MultiframeGrayscaleByteSecondaryCaptureImageStorage, "SCb", 512 * 512 }, |
1434 | | { UID_MultiframeGrayscaleWordSecondaryCaptureImageStorage, "SCw", 512 * 512 * 2 }, |
1435 | | { UID_MultiframeSingleBitSecondaryCaptureImageStorage, "SCs", 1024 * 1024 }, /* roughly an A4 300dpi scan */ |
1436 | | { UID_MultiframeTrueColorSecondaryCaptureImageStorage, "SCc", 512 * 512 * 3 }, |
1437 | | { UID_MultipleVolumeRenderingVolumetricPresentationStateStorage, "VPm" , 4096 }, |
1438 | | { UID_NuclearMedicineImageStorage, "NM", 64 * 64 * 2 }, |
1439 | | { UID_OphthalmicAxialMeasurementsStorage, "OPx", 4096 }, |
1440 | | { UID_OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage, "OCb" , 768 * 576 }, |
1441 | | { UID_OphthalmicOpticalCoherenceTomographyEnFaceImageStorage, "OCe", 768 * 576 * 2 }, |
1442 | | { UID_OphthalmicPhotography16BitImageStorage, "OPw", 768 * 576 * 6 }, |
1443 | | { UID_OphthalmicPhotography8BitImageStorage, "OPb", 768 * 576 * 3 }, |
1444 | | { UID_OphthalmicThicknessMapStorage, "OPm", 768 * 576 }, |
1445 | | { UID_OphthalmicTomographyImageStorage, "OPt", 768 * 576 * 3 }, |
1446 | | { UID_OphthalmicVisualFieldStaticPerimetryMeasurementsStorage, "OPp", 4096 }, |
1447 | | { UID_ParametricMapStorage, "PM", 256 * 256 * 4 }, |
1448 | | { UID_PatientRadiationDoseSRStorage, "SRq", 4096 }, |
1449 | | { UID_PerformedImagingAgentAdministrationSRStorage, "SRi", 4096 }, |
1450 | | { UID_PhotoacousticImageStorage, "PA", 256 * 512 * 512 }, |
1451 | | { UID_PlannedImagingAgentAdministrationSRStorage, "SRj", 4096 }, |
1452 | | { UID_PositronEmissionTomographyImageStorage, "PI", 512 * 512 * 2 }, |
1453 | | { UID_ProcedureLogStorage, "SRp", 4096 }, |
1454 | | { UID_ProtocolApprovalStorage, "PAp", 4096 }, /* was PA */ |
1455 | | { UID_PseudoColorSoftcopyPresentationStateStorage, "PSp", 4096 }, |
1456 | | { UID_RadiopharmaceuticalRadiationDoseSRStorage, "SRr", 4096 }, |
1457 | | { UID_RawDataStorage, "RAW", 256 * 512 * 512 }, |
1458 | | { UID_RealWorldValueMappingStorage, "RWM", 4096 }, |
1459 | | { UID_RespiratoryWaveformStorage, "WVr", 4096 }, |
1460 | | { UID_RoboticArmRadiationStorage, "Rra", 4096 }, /* was RRr */ |
1461 | | { UID_RoboticRadiationRecordStorage, "RRr", 4096 }, |
1462 | | { UID_RoutineScalpElectroencephalogramWaveformStorage, "EEG", 4096 }, |
1463 | | { UID_RTBeamsDeliveryInstructionStorage, "RTd", 4096 }, |
1464 | | { UID_RTBeamsTreatmentRecordStorage, "RTb", 4096 }, |
1465 | | { UID_RTBrachyApplicationSetupDeliveryInstructionStorage, "RTa", 4096 }, |
1466 | | { UID_RTBrachyTreatmentRecordStorage, "RTr", 4096 }, |
1467 | | { UID_RTDoseStorage, "RD", 4096 }, |
1468 | | { UID_RTImageStorage, "RI", 4096 }, |
1469 | | { UID_RTIonBeamsTreatmentRecordStorage, "RTi", 4096 }, |
1470 | | { UID_RTIonPlanStorage, "RPi", 4096 }, |
1471 | | { UID_RTPatientPositionAcquisitionInstructionStorage, "RPp", 4096 }, |
1472 | | { UID_RTPlanStorage, "RP" , 4096 }, |
1473 | | { UID_RTPhysicianIntentStorage, "RIp", 4096 }, |
1474 | | { UID_RTRadiationRecordSetStorage, "RSr", 4096 }, |
1475 | | { UID_RTRadiationSalvageRecordStorage, "RRs", 4096 }, |
1476 | | { UID_RTRadiationSetDeliveryInstructionStorage, "RSd", 4096 }, |
1477 | | { UID_RTRadiationSetStorage, "RSe", 4096 }, /* was RRs */ |
1478 | | { UID_RTSegmentAnnotationStorage, "RAs", 4096 }, /* was RRs */ |
1479 | | { UID_RTStructureSetStorage, "RS", 4096 }, |
1480 | | { UID_RTTreatmentPreparationStorage, "RTp", 4096 }, |
1481 | | { UID_RTTreatmentSummaryRecordStorage, "RTs", 4096 }, |
1482 | | { UID_SecondaryCaptureImageStorage, "SC", 512 * 512 * 2 }, |
1483 | | { UID_SegmentationStorage, "SG", 512 * 512 }, |
1484 | | { UID_SegmentedVolumeRenderingVolumetricPresentationStateStorage, "VPs", 4096 }, |
1485 | | { UID_SimplifiedAdultEchoSRStorage, "SRu", 4096 }, |
1486 | | { UID_SleepElectroencephalogramWaveformStorage, "WVs", 4096 }, |
1487 | | { UID_SpatialFiducialsStorage, "FID", 4096 }, |
1488 | | { UID_SpatialRegistrationStorage, "RGs", 4096 }, |
1489 | | { UID_SpectaclePrescriptionReportStorage, "SRs", 4096 }, |
1490 | | { UID_StereometricRelationshipStorage, "OPr", 4096 }, |
1491 | | { UID_SubjectiveRefractionMeasurementsStorage, "OPs", 4096 }, |
1492 | | { UID_SurfaceScanMeshStorage, "SSm", 4096 }, |
1493 | | { UID_SurfaceScanPointCloudStorage, "SSp", 4096 }, |
1494 | | { UID_SurfaceSegmentationStorage, "SGs", 4096 }, |
1495 | | { UID_TomotherapeuticRadiationRecordStorage, "RRt", 4096 }, |
1496 | | { UID_TomotherapeuticRadiationStorage, "Rto", 4096 }, /* was RRt */ |
1497 | | { UID_TractographyResultsStorage, "TR", 4096 }, |
1498 | | { UID_TwelveLeadECGWaveformStorage, "TLE", 4096 }, |
1499 | | { UID_UltrasoundImageStorage, "US", 512 * 512 }, |
1500 | | { UID_UltrasoundMultiframeImageStorage, "USm", 512 * 512 }, |
1501 | | { UID_VariableModalityLUTSoftcopyPresentationStateStorage, "PSv", 4096 }, |
1502 | | { UID_VideoEndoscopicImageStorage, "VVe", 768 * 576 * 3 }, |
1503 | | { UID_VideoMicroscopicImageStorage, "VVm", 768 * 576 * 3 }, |
1504 | | { UID_VideoPhotographicImageStorage, "VVp", 768 * 576 * 3 }, |
1505 | | { UID_VisualAcuityMeasurementsStorage, "OPv", 4096 }, |
1506 | | { UID_VLEndoscopicImageStorage, "VLe", 768 * 576 * 3 }, |
1507 | | { UID_VLMicroscopicImageStorage, "VLm", 768 * 576 * 3 }, |
1508 | | { UID_VLPhotographicImageStorage, "VLp", 768 * 576 * 3 }, |
1509 | | { UID_VLSlideCoordinatesMicroscopicImageStorage, "VLs", 768 * 576 * 3 }, |
1510 | | { UID_VLWholeSlideMicroscopyImageStorage, "VLw", 10000 * 10000 * 3 }, |
1511 | | { UID_VolumeRenderingVolumetricPresentationStateStorage, "VPv", 4096 }, |
1512 | | { UID_WaveformAcquisitionPresentationStateStorage, "PSq", 4096 }, |
1513 | | { UID_WaveformAnnotationSRStorage, "SRw", 4096 }, |
1514 | | { UID_WaveformPresentationStateStorage, "PSw", 4096 }, |
1515 | | { UID_WideFieldOphthalmicPhotographyStereographicProjectionImageStorage, "OWs", 768 * 576 * 3 }, |
1516 | | { UID_WideFieldOphthalmicPhotography3DCoordinatesImageStorage, "OW3", 768 * 576 * 3 }, |
1517 | | { UID_XADefinedProcedureProtocolStorage, "PPxd", 4096 }, |
1518 | | { UID_XAPerformedProcedureProtocolStorage, "PPxp", 4096 }, |
1519 | | { UID_XAXRFGrayscaleSoftcopyPresentationStateStorage, "PSx", 4096 }, |
1520 | | { UID_XRay3DAngiographicImageStorage, "XA3", 256 * 512 * 512 }, |
1521 | | { UID_XRay3DCraniofacialImageStorage, "XC3", 256 * 512 * 512 }, |
1522 | | { UID_XRayAngiographicImageStorage, "XA", 256 * 512 * 512 }, |
1523 | | { UID_XRayRadiationDoseSRStorage, "SRd", 4096 }, |
1524 | | { UID_XRayRadiofluoroscopicImageStorage, "RF", 256 * 512 * 512 }, |
1525 | | // retired |
1526 | | { UID_RETIRED_HardcopyColorImageStorage, "HC", 4096 }, |
1527 | | { UID_RETIRED_HardcopyGrayscaleImageStorage, "HG", 4096 }, |
1528 | | { UID_RETIRED_NuclearMedicineImageStorage, "NMr", 64 * 64 * 2 }, |
1529 | | { UID_RETIRED_StandaloneCurveStorage, "CV", 4096 }, |
1530 | | { UID_RETIRED_StandaloneModalityLUTStorage, "ML", 4096 * 2 }, |
1531 | | { UID_RETIRED_StandaloneOverlayStorage, "OV", 512 * 512 }, |
1532 | | { UID_RETIRED_StandalonePETCurveStorage, "PC", 4096 }, |
1533 | | { UID_RETIRED_StandaloneVOILUTStorage, "VO", 4096 * 2 }, |
1534 | | { UID_RETIRED_StoredPrintStorage, "SP", 4096 }, |
1535 | | { UID_RETIRED_UltrasoundImageStorage, "USr", 512 * 512 }, |
1536 | | { UID_RETIRED_UltrasoundMultiframeImageStorage, "USf", 512 * 512 }, |
1537 | | { UID_RETIRED_VLImageStorage, "VLr", 768 * 576 * 3 }, |
1538 | | { UID_RETIRED_VLMultiframeImageStorage, "VMr", 768 * 576 * 3 }, |
1539 | | { UID_RETIRED_XRayAngiographicBiPlaneImageStorage, "XB", 512 * 512 * 2 }, |
1540 | | // draft |
1541 | | { UID_DRAFT_RTBeamsDeliveryInstructionStorage, "RB_d", 4096 }, /* was "RBd" */ |
1542 | | { UID_DRAFT_SRAudioStorage, "SR_a", 4096 }, /* was "SRw" */ |
1543 | | { UID_DRAFT_SRComprehensiveStorage, "SR_c", 4096 }, /* was "SRx" */ |
1544 | | { UID_DRAFT_SRDetailStorage, "SR_d", 4096 }, /* was "SRy" */ |
1545 | | { UID_DRAFT_SRTextStorage, "SR_t", 4096 }, /* was "SRz" */ |
1546 | | { UID_DRAFT_WaveformStorage, "WV_d", 4096 }, /* was "WVd" */ |
1547 | | // DICOS |
1548 | | { UID_DICOS_CTImageStorage, "CTs", 512 * 512 * 2 }, |
1549 | | { UID_DICOS_DigitalXRayImageStorageForPresentation, "DXs", 2048 * 2048 * 2 }, |
1550 | | { UID_DICOS_DigitalXRayImageStorageForProcessing, "DPs", 2048 * 2048 * 2 }, |
1551 | | { UID_DICOS_ThreatDetectionReportStorage, "TDR", 4096 }, |
1552 | | { UID_DICOS_2DAITStorage, "AI2", 4096 }, |
1553 | | { UID_DICOS_3DAITStorage, "AI3", 4096 }, |
1554 | | { UID_DICOS_QuadrupoleResonanceStorage, "QR", 4096 }, |
1555 | | // DICONDE |
1556 | | { UID_DICONDE_EddyCurrentImageStorage, "EC", 512 * 512 }, |
1557 | | { UID_DICONDE_EddyCurrentMultiframeImageStorage, "ECm", 512 * 512 }, |
1558 | | { UID_DICONDE_ThermographyImageStorage, "TG", 512 * 512 }, |
1559 | | { UID_DICONDE_ThermographyMultiFrameImageStorage, "TGm", 512 * 512 }, |
1560 | | { UID_DICONDE_UltrasoundWaveformStorage, "UW", 4096 } |
1561 | | }; |
1562 | | |
1563 | | static const int numberOfDcmModalityTableEntries = OFstatic_cast(int, sizeof(modalities) / sizeof(DcmModalityTable)); |
1564 | | |
1565 | | |
1566 | | /* |
1567 | | * Public Function Prototypes |
1568 | | */ |
1569 | | |
1570 | | const char *dcmSOPClassUIDToModality(const char *sopClassUID, |
1571 | | const char *defaultValue) |
1572 | 0 | { |
1573 | 0 | if (sopClassUID == NULL) return NULL; |
1574 | | /* check for known SOP class */ |
1575 | 0 | for (int i = 0; i < numberOfDcmModalityTableEntries; i++) |
1576 | 0 | { |
1577 | 0 | if (strcmp(modalities[i].sopClass, sopClassUID) == 0) return modalities[i].modality; |
1578 | 0 | } |
1579 | | /* SOP class not found */ |
1580 | 0 | return defaultValue; |
1581 | 0 | } |
1582 | | |
1583 | | unsigned long dcmGuessModalityBytes(const char *sopClassUID) |
1584 | 0 | { |
1585 | 0 | unsigned long nbytes = 1048576; /* default: 1 MByte */ |
1586 | |
|
1587 | 0 | if (sopClassUID == NULL) return nbytes; |
1588 | | |
1589 | 0 | int found=0; |
1590 | 0 | for (int i = 0; (!found && (i < numberOfDcmModalityTableEntries)); i++) |
1591 | 0 | { |
1592 | 0 | found = (strcmp(modalities[i].sopClass, sopClassUID) == 0); |
1593 | 0 | if (found) nbytes = modalities[i].averageSize; |
1594 | 0 | } |
1595 | |
|
1596 | 0 | return nbytes; |
1597 | 0 | } |
1598 | | |
1599 | | |
1600 | | /* |
1601 | | ** dcmFindNameOfUID(const char* uid, const char* defaultValue) |
1602 | | ** Return the name of a UID. |
1603 | | ** Performs a table lookup and returns a pointer to a read-only string. |
1604 | | ** Returns defaultValue if the UID is not known. |
1605 | | */ |
1606 | | const char* |
1607 | | dcmFindNameOfUID(const char* uid, const char* defaultValue) |
1608 | 0 | { |
1609 | 0 | if (uid == NULL) return defaultValue; |
1610 | 0 | for (int i = 0; i < uidNameMap_size; i++) { |
1611 | 0 | if (uidNameMap[i].uid != NULL && strcmp(uid, uidNameMap[i].uid) == 0) { |
1612 | 0 | return uidNameMap[i].name; |
1613 | 0 | } |
1614 | 0 | } |
1615 | 0 | return defaultValue; |
1616 | 0 | } |
1617 | | |
1618 | | |
1619 | | /* |
1620 | | ** dcmFindUIDFromName(const char* name) |
1621 | | ** Return the UID of a name. |
1622 | | ** Performs a table lookup and returns a pointer to a read-only string. |
1623 | | ** Returns NULL if the name is not known. |
1624 | | */ |
1625 | | const char* |
1626 | | dcmFindUIDFromName(const char* name) |
1627 | 0 | { |
1628 | 0 | if (name == NULL) return NULL; |
1629 | 0 | for(int i = 0; i < uidNameMap_size; i++) |
1630 | 0 | { |
1631 | 0 | if (uidNameMap[i].name != NULL && strcmp(name, uidNameMap[i].name) == 0) |
1632 | 0 | return uidNameMap[i].uid; |
1633 | 0 | } |
1634 | 0 | return NULL; |
1635 | 0 | } |
1636 | | |
1637 | | |
1638 | | /* |
1639 | | ** dcmFindKeywordOfUID(const char* uid, const char* defaultValue) |
1640 | | ** Return the keyword of a UID. |
1641 | | ** Performs a table lookup and returns a pointer to a read-only string. |
1642 | | ** Returns defaultValue if the UID is not known. |
1643 | | */ |
1644 | | const char* |
1645 | | dcmFindKeywordOfUID(const char* uid, const char* defaultValue) |
1646 | 0 | { |
1647 | 0 | if (uid == NULL) return defaultValue; |
1648 | 0 | for (int i = 0; i < uidNameMap_size; i++) { |
1649 | 0 | if (uidNameMap[i].uid != NULL && strcmp(uid, uidNameMap[i].uid) == 0) { |
1650 | 0 | return uidNameMap[i].keyword; |
1651 | 0 | } |
1652 | 0 | } |
1653 | 0 | return defaultValue; |
1654 | 0 | } |
1655 | | |
1656 | | |
1657 | | /* |
1658 | | ** dcmFindUIDFromKeyword(const char* keyword) |
1659 | | ** Return the UID of a keyword. |
1660 | | ** Performs a table lookup and returns a pointer to a read-only string. |
1661 | | ** Returns NULL if the keyword is not known. |
1662 | | */ |
1663 | | const char* |
1664 | | dcmFindUIDFromKeyword(const char* keyword) |
1665 | 0 | { |
1666 | 0 | if (keyword == NULL) return NULL; |
1667 | 0 | for(int i = 0; i < uidNameMap_size; i++) |
1668 | 0 | { |
1669 | 0 | if (uidNameMap[i].keyword != NULL && strcmp(keyword, uidNameMap[i].keyword) == 0) |
1670 | 0 | return uidNameMap[i].uid; |
1671 | 0 | } |
1672 | 0 | return NULL; |
1673 | 0 | } |
1674 | | |
1675 | | |
1676 | | /* |
1677 | | ** dcmGetPropertiesOfUID(const char* uid, DcmUIDProperties &properties) |
1678 | | ** Return the properties of a UID. |
1679 | | ** Performs a table lookup and fills a given struct with the properties. |
1680 | | ** Returns true if UID was found, false otherwise. |
1681 | | */ |
1682 | | OFBool |
1683 | | dcmGetPropertiesOfUID(const char* uid, DcmUIDProperties &properties) |
1684 | 0 | { |
1685 | 0 | if (uid != NULL) |
1686 | 0 | { |
1687 | 0 | for (int i = 0; i < uidNameMap_size; i++) { |
1688 | 0 | if (uidNameMap[i].uid != NULL && strcmp(uid, uidNameMap[i].uid) == 0) { |
1689 | 0 | properties = uidNameMap[i].properties; |
1690 | 0 | return OFTrue; |
1691 | 0 | } |
1692 | 0 | } |
1693 | 0 | } |
1694 | 0 | return OFFalse; |
1695 | 0 | } |
1696 | | |
1697 | | |
1698 | | /* |
1699 | | ** dcmIsaStorageSOPClassUID(const char* uid) |
1700 | | ** Returns true if the uid is one of the Storage SOP Classes. |
1701 | | ** Performs a table lookup in the dcmAllStorageSOPClassUIDs, |
1702 | | ** dcmNonPatientStorageSOPClassUIDs and/or dcmImageSOPClassUIDs table. |
1703 | | */ |
1704 | | OFBool |
1705 | | dcmIsaStorageSOPClassUID(const char* uid, const E_StorageSOPClassType type) |
1706 | 0 | { |
1707 | 0 | if (uid == NULL) return OFFalse; |
1708 | | /* check for patient object */ |
1709 | 0 | if (type & ESSC_Patient) { |
1710 | 0 | for (int i = 0; i < numberOfDcmAllStorageSOPClassUIDs; i++) { |
1711 | 0 | if (dcmAllStorageSOPClassUIDs[i] != NULL && strcmp(uid, dcmAllStorageSOPClassUIDs[i]) == 0) { |
1712 | 0 | return OFTrue; |
1713 | 0 | } |
1714 | 0 | } |
1715 | 0 | } |
1716 | | /* check for non-patient object */ |
1717 | 0 | if (type & ESSC_NonPatient) { |
1718 | 0 | for (int i = 0; dcmNonPatientStorageSOPClassUIDs[i] != NULL; i++) { |
1719 | 0 | if (strcmp(uid, dcmNonPatientStorageSOPClassUIDs[i]) == 0) { |
1720 | 0 | return OFTrue; |
1721 | 0 | } |
1722 | 0 | } |
1723 | 0 | } |
1724 | | /* check for image object */ |
1725 | 0 | if (type & ESSC_Image) { |
1726 | 0 | for (int i = 0; i < numberOfDcmImageSOPClassUIDs; i++) { |
1727 | 0 | if (dcmImageSOPClassUIDs[i] != NULL && strcmp(uid, dcmImageSOPClassUIDs[i]) == 0) { |
1728 | 0 | return OFTrue; |
1729 | 0 | } |
1730 | 0 | } |
1731 | 0 | } |
1732 | 0 | return OFFalse; |
1733 | 0 | } |
1734 | | |
1735 | | |
1736 | | /* |
1737 | | ** dcmIsImageStorageSOPClassUID(const char* uid) |
1738 | | ** Returns true if the uid is one of the Image Storage SOP Classes. |
1739 | | */ |
1740 | | OFBool |
1741 | | dcmIsImageStorageSOPClassUID(const char* uid) |
1742 | 0 | { |
1743 | 0 | return dcmIsaStorageSOPClassUID(uid, ESSC_Image); |
1744 | 0 | } |
1745 | | |
1746 | | // ******************************** |
1747 | | |
1748 | | #ifndef HAVE_GETHOSTID |
1749 | | #if defined(HAVE_SYSINFO) && defined(HAVE_SYS_SYSTEMINFO_H) |
1750 | | |
1751 | | /* Implementation of gethostid() based on sysinfo(). |
1752 | | * This implementation is used, for example, on Solaris. |
1753 | | */ |
1754 | | #include <sys/systeminfo.h> |
1755 | | static long gethostid(void) |
1756 | | { |
1757 | | if (sysinfo(SI_HW_SERIAL, buf, 128) == -1) { |
1758 | | DCMDATA_FATAL("sysinfo: " << OFStandard::getLastSystemErrorCode().message()); |
1759 | | exit(1); |
1760 | | } |
1761 | | return(strtoul(buf, NULL, 0)); |
1762 | | } |
1763 | | |
1764 | | #else // !HAVE_SYSINFO |
1765 | | |
1766 | | /* |
1767 | | ** There is no implementation of gethostid() and we cannot implement it in |
1768 | | ** terms of sysinfo() so define a workaround. |
1769 | | */ |
1770 | | |
1771 | | #ifdef _WIN32 |
1772 | | |
1773 | | /* On Windows systems specify a routine to determine the MAC address of the Ethernet adapter. |
1774 | | * This implementation uses Win32 system calls available on Windows 2000 and newer. |
1775 | | * A different implementation supporting Windows 95 was used in DCMTK releases up to 3.6.0, |
1776 | | * but that implementation does not work reliably anymore on Windows 10. |
1777 | | */ |
1778 | | static IP_ADAPTER_INFO* getMACAddresses(OFVector<Uint8>& buffer) |
1779 | | { |
1780 | | // get adapter info using OFVector to allocate memory |
1781 | | DWORD bufferSize = 0; |
1782 | | DWORD status = GetAdaptersInfo(OFnullptr, &bufferSize); |
1783 | | if (status == ERROR_BUFFER_OVERFLOW) |
1784 | | { |
1785 | | buffer.resize(bufferSize); |
1786 | | status = GetAdaptersInfo(OFreinterpret_cast(IP_ADAPTER_INFO*, &*buffer.begin()), &bufferSize); |
1787 | | } |
1788 | | if (status == ERROR_SUCCESS) |
1789 | | return OFreinterpret_cast(IP_ADAPTER_INFO*, &*buffer.begin()); |
1790 | | // print out the error message for debugging |
1791 | | OFString message; |
1792 | | LPVOID errBuf = OFnullptr; |
1793 | | if (FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, |
1794 | | OFnullptr, status, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), OFreinterpret_cast(LPTSTR, &errBuf), 0, OFnullptr) > 0) |
1795 | | { |
1796 | | message = OFstatic_cast(const char*, errBuf); |
1797 | | // remove "\r\n" |
1798 | | if (message.size() >= 2 && message.substr(message.length() - 2) == "\r\n") |
1799 | | message = message.substr(0, message.length() - 2); |
1800 | | } |
1801 | | LocalFree(errBuf); |
1802 | | if (!message.empty()) |
1803 | | { |
1804 | | DCMDATA_WARN("GetAdaptersInfo() failed with the error: '" << message << '\''); |
1805 | | } |
1806 | | else |
1807 | | { |
1808 | | DCMDATA_WARN("GetAdaptersInfo() failed with an unknown error"); |
1809 | | } |
1810 | | // a null pointer indicates that no adapter is available |
1811 | | return OFnullptr; |
1812 | | } |
1813 | | #endif |
1814 | | |
1815 | | #ifdef HAVE_PROTOTYPE_GETHOSTID |
1816 | | /* CW10 has a prototype but no implementation (gethostid() is already declared extern */ |
1817 | | long gethostid(void) |
1818 | | #else |
1819 | | static long gethostid(void) |
1820 | | #endif |
1821 | | { |
1822 | | long result = 0; |
1823 | | char name[1024]; |
1824 | | |
1825 | | /* |
1826 | | ** Define the hostid to be the system's main IP address. |
1827 | | ** This is not perfect but it is better than nothing (i.e. using zero) |
1828 | | */ |
1829 | | OFStandard::initializeNetwork(); |
1830 | | if (gethostname(name, 1024) == 0) |
1831 | | { |
1832 | | struct sockaddr_in *sin = NULL; |
1833 | | struct sockaddr_in6 *sin6 = NULL; |
1834 | | long *lp = NULL; |
1835 | | OFSockAddr sa; |
1836 | | OFStandard::getAddressByHostname(name, AF_UNSPEC, sa); |
1837 | | switch (sa.getFamily()) |
1838 | | { |
1839 | | case AF_INET: |
1840 | | sin = sa. getSockaddr_in(); |
1841 | | result = OFstatic_cast(long, sin->sin_addr.s_addr); |
1842 | | break; |
1843 | | case AF_INET6: |
1844 | | sin6 = sa. getSockaddr_in6(); |
1845 | | // interpret the first four bytes of the IPv6 address as a long |
1846 | | lp = OFreinterpret_cast(long *, &sin6->sin6_addr); |
1847 | | result = *lp; |
1848 | | break; |
1849 | | default: |
1850 | | // unknown protocol family. Do nothing. |
1851 | | break; |
1852 | | } |
1853 | | } |
1854 | | |
1855 | | OFStandard::shutdownNetwork(); |
1856 | | |
1857 | | /* on Windows systems determine some system specific information (e.g. MAC address) */ |
1858 | | #ifdef HAVE_WINDOWS_H |
1859 | | OFCRC32 crc; |
1860 | | /* get some processor specific information in addition to the MAC address */ |
1861 | | SYSTEM_INFO systemInfo; |
1862 | | GetSystemInfo(&systemInfo); |
1863 | | /* get volume information of the system drive */ |
1864 | | char systemDrive[MAX_PATH]; |
1865 | | DWORD serialNumber = 0; |
1866 | | if (GetSystemDirectoryA(systemDrive, OFstatic_cast(UINT, sizeof(systemDrive))) >= 0) |
1867 | | { |
1868 | | /* check for proper pathname */ |
1869 | | if ((strlen(systemDrive) >= 3) && (systemDrive[1] == ':') && (systemDrive[2] == '\\')) |
1870 | | { |
1871 | | /* truncate the pathname directly after the drive specification */ |
1872 | | systemDrive[3] = 0; |
1873 | | if (!GetVolumeInformationA(systemDrive, NULL, 0, &serialNumber, NULL, NULL, NULL, 0)) |
1874 | | serialNumber = 0; |
1875 | | } |
1876 | | } |
1877 | | /* concatenate the host specific elements and compute a 32-bit checksum */ |
1878 | | crc.addBlock(&result /*ip address*/, OFstatic_cast(unsigned long, sizeof(result))); |
1879 | | // add the MAC addresses of all adapters |
1880 | | { |
1881 | | OFVector<Uint8> buffer; |
1882 | | for (IP_ADAPTER_INFO* adapterInfo = getMACAddresses(buffer); adapterInfo; adapterInfo = adapterInfo->Next) |
1883 | | crc.addBlock(adapterInfo->Address, adapterInfo->AddressLength); |
1884 | | } |
1885 | | crc.addBlock(&serialNumber, OFstatic_cast(unsigned long, sizeof(serialNumber))); |
1886 | | crc.addBlock(&systemInfo.wProcessorLevel, OFstatic_cast(unsigned long, sizeof(systemInfo.wProcessorLevel))); |
1887 | | crc.addBlock(&systemInfo.wProcessorRevision, OFstatic_cast(unsigned long, sizeof(systemInfo.wProcessorRevision))); |
1888 | | crc.addBlock(&systemInfo.dwProcessorType, OFstatic_cast(unsigned long, sizeof(systemInfo.dwProcessorType))); |
1889 | | result = OFstatic_cast(long, crc.getCRC32()); |
1890 | | #endif |
1891 | | /* 'artificial' hostid: on Windows system a CRC32 checksum over some host specific |
1892 | | information (e.g. MAC address), the 4 bytes TCP/IP address otherwise. |
1893 | | */ |
1894 | | return result; |
1895 | | } |
1896 | | |
1897 | | #endif // !HAVE_SYSINFO |
1898 | | #else // HAVE_GETHOSTID |
1899 | | #ifndef HAVE_PROTOTYPE_GETHOSTID |
1900 | | extern "C" { |
1901 | | long gethostid(void); |
1902 | | } |
1903 | | #endif // !HAVE_PROTOTYPE_GETHOSTID |
1904 | | #endif // HAVE_GETHOSTID |
1905 | | |
1906 | | // ******************************** |
1907 | | |
1908 | | /* |
1909 | | * Global variable storing the return value of gethostid(). |
1910 | | * Since the variable is not declared in the header file it can only be used |
1911 | | * within this source file. Any access to or modification of its value is |
1912 | | * protected by a mutex (see dcmGenerateUniqueIdentifier()). |
1913 | | */ |
1914 | | |
1915 | | static unsigned long hostIdentifier = 0; |
1916 | | |
1917 | | |
1918 | | /* |
1919 | | ** char* generateUniqueIdentifier(char* buf) |
1920 | | ** Creates a Unique Identifier in buf and returns buf. |
1921 | | ** buf must be at least 65 bytes. |
1922 | | */ |
1923 | | |
1924 | | |
1925 | | #ifdef WITH_THREADS |
1926 | | static OFMutex uidCounterMutex; // mutex protecting access to counterOfCurrentUID and hostIdentifier |
1927 | | #endif |
1928 | | |
1929 | | static unsigned int counterOfCurrentUID = 0; |
1930 | | |
1931 | | static const unsigned int maxUIDLen = 64; /* A UID may be 64 chars or less */ |
1932 | | |
1933 | | static void |
1934 | | initCounterOfCurrentUID() |
1935 | 0 | { |
1936 | | /* Code taken from oftime.cc */ |
1937 | | #ifdef HAVE_WINDOWS_H |
1938 | | /* Windows: no microseconds available, use milliseconds instead */ |
1939 | | SYSTEMTIME timebuf; |
1940 | | GetSystemTime(&timebuf); |
1941 | | counterOfCurrentUID = timebuf.wMilliseconds; /* This is in the range 0 - 999 */ |
1942 | | #else /* Unix */ |
1943 | 0 | struct timeval tv; |
1944 | 0 | if (gettimeofday(&tv, NULL) == 0) |
1945 | 0 | counterOfCurrentUID = OFstatic_cast(Uint32, tv.tv_usec); /* This is in the range 0 - 999999 */ |
1946 | 0 | #endif |
1947 | | /* Do not ever use "0" for the counter */ |
1948 | 0 | counterOfCurrentUID++; |
1949 | 0 | } |
1950 | | |
1951 | | |
1952 | | static char* |
1953 | | stripTrailing(char* s, char c) |
1954 | 0 | { |
1955 | 0 | if (s == NULL) return s; |
1956 | 0 | for |
1957 | 0 | ( |
1958 | 0 | char* it = s + strlen(s) - 1; |
1959 | 0 | it >= s && *it == c; |
1960 | 0 | *it-- = '\0' |
1961 | 0 | ); |
1962 | 0 | return s; |
1963 | 0 | } |
1964 | | |
1965 | | static void |
1966 | | addUIDComponent(char* uid, const char* s) |
1967 | 0 | { |
1968 | | /* copy into UID as much of the contents of s as possible */ |
1969 | 0 | if (OFStandard::strlcat(uid, s, maxUIDLen + 1) >= maxUIDLen + 1) // maxUIDLen+1 because strlcat() wants the size of the buffer, not the permitted number of characters. |
1970 | 0 | { |
1971 | 0 | DCMDATA_WARN("Truncated UID in dcmGenerateUniqueIdentifier(), SITE_UID_ROOT too long?"); |
1972 | 0 | } |
1973 | 0 | stripTrailing(uid, '.'); |
1974 | 0 | } |
1975 | | |
1976 | | inline static unsigned long |
1977 | | forcePositive(long i) |
1978 | 0 | { |
1979 | 0 | return (i < 0) ? OFstatic_cast(unsigned long, -i) : OFstatic_cast(unsigned long, i); |
1980 | 0 | } |
1981 | | |
1982 | | char* dcmGenerateUniqueIdentifier(char* uid, const char* prefix) |
1983 | 0 | { |
1984 | 0 | char buf[128]; /* be very safe */ |
1985 | |
|
1986 | 0 | uid[0] = '\0'; /* initialize */ |
1987 | |
|
1988 | 0 | #ifdef WITH_THREADS |
1989 | 0 | uidCounterMutex.lock(); |
1990 | 0 | #endif |
1991 | 0 | if (hostIdentifier == 0) |
1992 | 0 | { |
1993 | | /* On 64-bit Linux, the "32-bit identifier" returned by gethostid() is |
1994 | | sign-extended to a 64-bit long, so we need to blank the upper 32 bits */ |
1995 | 0 | hostIdentifier = OFstatic_cast(unsigned long, gethostid() & 0xffffffff); |
1996 | 0 | } |
1997 | 0 | if (counterOfCurrentUID == 0) |
1998 | 0 | initCounterOfCurrentUID(); |
1999 | |
|
2000 | 0 | unsigned int counter = counterOfCurrentUID++; |
2001 | 0 | #ifdef WITH_THREADS |
2002 | 0 | uidCounterMutex.unlock(); |
2003 | 0 | #endif |
2004 | |
|
2005 | 0 | if (prefix != NULL ) { |
2006 | 0 | addUIDComponent(uid, prefix); |
2007 | 0 | } else { |
2008 | 0 | addUIDComponent(uid, SITE_INSTANCE_UID_ROOT); |
2009 | 0 | } |
2010 | |
|
2011 | 0 | OFStandard::snprintf(buf, sizeof(buf), ".%lu", hostIdentifier); |
2012 | 0 | addUIDComponent(uid, buf); |
2013 | |
|
2014 | 0 | OFStandard::snprintf(buf, sizeof(buf), ".%lu", forcePositive(OFStandard::getProcessID())); |
2015 | 0 | addUIDComponent(uid, buf); |
2016 | |
|
2017 | 0 | OFStandard::snprintf(buf, sizeof(buf), ".%lu", forcePositive(OFstatic_cast(long, time(NULL)))); |
2018 | 0 | addUIDComponent(uid, buf); |
2019 | |
|
2020 | 0 | OFStandard::snprintf(buf, sizeof(buf), ".%u", counter); |
2021 | |
|
2022 | 0 | addUIDComponent(uid, buf); |
2023 | |
|
2024 | 0 | return uid; |
2025 | 0 | } |