00001 /* 00002 * 00003 * Copyright (C) 1994-2004, OFFIS 00004 * 00005 * This software and supporting documentation were developed by 00006 * 00007 * Kuratorium OFFIS e.V. 00008 * Healthcare Information and Communication Systems 00009 * Escherweg 2 00010 * D-26121 Oldenburg, Germany 00011 * 00012 * THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND OFFIS MAKES NO WARRANTY 00013 * REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY OR 00014 * FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES OR 00015 * ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND 00016 * PERFORMANCE OF THE SOFTWARE IS WITH THE USER. 00017 * 00018 * Module: dcmdata 00019 * 00020 * Author: Andrew Hewett 00021 * 00022 * Purpose: 00023 * Definitions of "well known" DICOM Unique Indentifiers, 00024 * routines for finding and creating UIDs. 00025 * 00026 * Last Update: $Author: joergr $ 00027 * Update Date: $Date: 2004/05/27 10:31:39 $ 00028 * Source File: $Source: /share/dicom/cvs-depot/dcmtk/dcmdata/include/dcuid.h,v $ 00029 * CVS/RCS Revision: $Revision: 1.64 $ 00030 * Status: $State: Exp $ 00031 * 00032 * CVS/RCS Log at end of file 00033 * 00034 */ 00035 00036 #ifndef DCUID_H 00037 #define DCUID_H 00038 00039 #include "osconfig.h" /* make sure OS specific configuration is included first */ 00040 #include "dctypes.h" 00041 00042 #define INCLUDE_CSTDLIB 00043 #include "ofstdinc.h" 00044 00045 #ifdef HAVE_UNISTD_H 00046 BEGIN_EXTERN_C 00047 #include <unistd.h> /* for NULL */ 00048 END_EXTERN_C 00049 #endif 00050 00051 00052 /* 00053 ** dcmFindNameOfUID(const char* uid) 00054 ** Return the name of a UID. 00055 ** Performs a table lookup and returns a pointer to a read-only string. 00056 ** Returns NULL if the UID is not known. 00057 */ 00058 00059 const char* dcmFindNameOfUID(const char* uid); 00060 00061 // 00062 // dcmFindUIDFromName(const char* name) 00063 // Return the UID of a name. 00064 // Performs a table lookup and returns a pointer to a read-only string. 00065 // Returns NULL if the name is not known. 00066 // 00067 00068 const char * dcmFindUIDFromName(const char * name); 00069 00070 00071 /* 00072 ** The global variable dcmStorageSOPClassUIDs is an array of 00073 ** string pointers containing the UIDs of all known Storage SOP 00074 ** Classes. The global variable numberOfDcmStorageStopClassUIDs 00075 ** defines the size of the array. 00076 */ 00077 00078 extern const char* dcmStorageSOPClassUIDs[]; 00079 extern const int numberOfDcmStorageSOPClassUIDs; 00080 00081 /* 00082 ** dcmIsaStorageSOPClassUID(const char* uid) 00083 ** Returns true if the uid is one of the Storage SOP Classes. 00084 ** Performs a table lookup in the dcmStorageSOPClassUIDs table. 00085 */ 00086 OFBool dcmIsaStorageSOPClassUID(const char* uid); 00087 00088 /* 00089 ** The global variable dcmImageSOPClassUIDs is an array of 00090 ** string pointers containing the UIDs of all known Image SOP 00091 ** Classes. The global variable numberOfDcmImageSOPClassUIDs 00092 ** defines the size of the array. 00093 ** NOTE: this list represets a subset of the dcmStorageSOPClassUIDs list 00094 */ 00095 00096 extern const char* dcmImageSOPClassUIDs[]; 00097 extern const int numberOfDcmImageSOPClassUIDs; 00098 00099 00100 /* 00101 ** char* generateUniqueIdentifier(char* uid) 00102 ** Creates a Unique Identifer in uid and returns uid. 00103 ** uid must be at least 65 bytes. Care is taken to make sure 00104 ** that the generated UID is 64 characters or less. 00105 ** 00106 ** If a prefix string is not passed as the second argument a 00107 ** default of SITE_INSTANCE_UID_ROOT (see below) will be used. 00108 ** Otherwise the supplied prefix string will appear at the beginning 00109 ** of uid. 00110 ** 00111 ** The UID is created by appending to the prefix the following: 00112 ** the host id (if obtainable, zero otherwise) 00113 ** the process id (if obtainable, zero otherwise) 00114 ** the system calendar time 00115 ** an accumulating counter for this process 00116 */ 00117 char* dcmGenerateUniqueIdentifier(char* uid, const char* prefix=NULL); 00118 00119 /* 00120 * dcmSOPClassUIDToModality 00121 * performs a table lookup and returns a short modality identifier 00122 * that can be used for building file names etc. 00123 * Identifiers are defined for all storage SOP classes. 00124 * Returns NULL if no modality identifier found or sopClassUID==NULL. 00125 */ 00126 const char *dcmSOPClassUIDToModality(const char *sopClassUID); 00127 00128 /* 00129 * dcmGuessModalityBytes 00130 * performs a table lookup and returns a guessed average 00131 * file size for the given SOP class. 00132 * Average sizes are defined for all storage SOP classes. 00133 */ 00134 unsigned long dcmGuessModalityBytes(const char *sopClassUID); 00135 00136 /* 00137 ** String Constants 00138 */ 00139 00140 /* 00141 ** OFFIS UID is: 1.2.276.0.7230010 00142 ** UID root for OFFIS DCMTK project: 1.2.276.0.7230010.3 00143 ** for OFFIS GO-Kard project: 1.2.276.0.7230010.8 00144 */ 00145 00146 /* NOTE: Implementation version name VR=SH may not be longer than 16 chars 00147 * The second name is used to identify files written without dcmdata 00148 * (i.e. using the --bit-preserving switch in various tools) 00149 */ 00150 #define OFFIS_DTK_IMPLEMENTATION_VERSION_NAME "OFFIS_DCMTK_353" 00151 #define OFFIS_DTK_IMPLEMENTATION_VERSION_NAME2 "OFFIS_DCMBP_353" 00152 #define OFFIS_DCMTK_RELEASEDATE "2004-05-27" 00153 00154 #define OFFIS_UID_ROOT "1.2.276.0.7230010.3" 00155 #define OFFIS_DCMTK_VERSION_NUMBER 353 00156 #define OFFIS_DCMTK_VERSION_STRING "3.5.3" 00157 #define OFFIS_DCMTK_VERSION_SUFFIX "" 00158 #define OFFIS_DCMTK_VERSION OFFIS_DCMTK_VERSION_STRING OFFIS_DCMTK_VERSION_SUFFIX 00159 #define OFFIS_IMPLEMENTATION_CLASS_UID OFFIS_UID_ROOT ".0." OFFIS_DCMTK_VERSION_STRING 00160 #define OFFIS_INSTANCE_CREATOR_UID OFFIS_IMPLEMENTATION_CLASS_UID 00161 00162 #define OFFIS_CODING_SCHEME_UID_ROOT OFFIS_UID_ROOT ".0.0" 00163 #define OFFIS_CODING_SCHEME_VERSION "1" 00164 #define OFFIS_CODING_SCHEME_UID OFFIS_CODING_SCHEME_UID_ROOT "." OFFIS_CODING_SCHEME_VERSION 00165 00166 /* 00167 ** Each site should define its own SITE_UID_ROOT 00168 */ 00169 #ifndef SITE_UID_ROOT 00170 #define SITE_UID_ROOT OFFIS_UID_ROOT /* default */ 00171 #endif 00172 00173 /* 00174 ** Useful UID prefixes. These can be whatever you want. 00175 ** 00176 ** These site UIDs are arbitary, non-standard, with no meaning 00177 ** and can be changed at any time. Do _not_ rely on these values. 00178 ** Do _not_ assume any semantics when using these suffixes. 00179 ** 00180 */ 00181 00182 #define SITE_STUDY_UID_ROOT SITE_UID_ROOT ".1.2" 00183 #define SITE_SERIES_UID_ROOT SITE_UID_ROOT ".1.3" 00184 #define SITE_INSTANCE_UID_ROOT SITE_UID_ROOT ".1.4" 00185 00186 /* 00187 ** A private SOP Class UID which can be used in a file meta-header when 00188 ** no real SOP Class is stored in the file. -- NON-STANDARD 00189 */ 00190 #define UID_PrivateGenericFileSOPClass SITE_UID_ROOT ".1.0.1" 00191 00192 00193 /* 00194 ** DICOM Defined Standard Application Context UID 00195 */ 00196 00197 #define UID_StandardApplicationContext "1.2.840.10008.3.1.1.1" 00198 00199 /* 00200 ** Defined Transfer Syntax UIDs 00201 */ 00202 00203 /* Implicit VR Little Endian: Default Transfer Syntax for DICOM */ 00204 #define UID_LittleEndianImplicitTransferSyntax "1.2.840.10008.1.2" 00205 /* Explicit VR Little Endian */ 00206 #define UID_LittleEndianExplicitTransferSyntax "1.2.840.10008.1.2.1" 00207 /* Explicit VR Big Endian */ 00208 #define UID_BigEndianExplicitTransferSyntax "1.2.840.10008.1.2.2" 00209 /* JPEG Baseline (Process 1): Default Transfer Syntax 00210 for Lossy JPEG 8 Bit Image Compression */ 00211 #define UID_JPEGProcess1TransferSyntax "1.2.840.10008.1.2.4.50" 00212 /* JPEG Extended (Process 2 & 4): Default Transfer Syntax 00213 for Lossy JPEG 12 Bit Image Compression (Process 4 only) */ 00214 #define UID_JPEGProcess2_4TransferSyntax "1.2.840.10008.1.2.4.51" 00215 /* JPEG Extended (Process 3 & 5) */ 00216 #define UID_JPEGProcess3_5TransferSyntax "1.2.840.10008.1.2.4.52" 00217 /* JPEG Spectral Selection, Non-Hierarchical (Process 6 & 8) */ 00218 #define UID_JPEGProcess6_8TransferSyntax "1.2.840.10008.1.2.4.53" 00219 /* JPEG Spectral Selection, Non-Hierarchical (Process 7 & 9) */ 00220 #define UID_JPEGProcess7_9TransferSyntax "1.2.840.10008.1.2.4.54" 00221 /* JPEG Full Progression, Non-Hierarchical (Process 10 & 12) */ 00222 #define UID_JPEGProcess10_12TransferSyntax "1.2.840.10008.1.2.4.55" 00223 /* JPEG Full Progression, Non-Hierarchical (Process 11 & 13) */ 00224 #define UID_JPEGProcess11_13TransferSyntax "1.2.840.10008.1.2.4.56" 00225 /* JPEG Lossless, Non-Hierarchical (Process 14) */ 00226 #define UID_JPEGProcess14TransferSyntax "1.2.840.10008.1.2.4.57" 00227 /* JPEG Lossless, Non-Hierarchical (Process 15) */ 00228 #define UID_JPEGProcess15TransferSyntax "1.2.840.10008.1.2.4.58" 00229 /* JPEG Extended, Hierarchical (Process 16 & 18) */ 00230 #define UID_JPEGProcess16_18TransferSyntax "1.2.840.10008.1.2.4.59" 00231 /* JPEG Extended, Hierarchical (Process 17 & 19) */ 00232 #define UID_JPEGProcess17_19TransferSyntax "1.2.840.10008.1.2.4.60" 00233 /* JPEG Spectral Selection, Hierarchical (Process 20 & 22) */ 00234 #define UID_JPEGProcess20_22TransferSyntax "1.2.840.10008.1.2.4.61" 00235 /* JPEG Spectral Selection, Hierarchical (Process 21 & 23) */ 00236 #define UID_JPEGProcess21_23TransferSyntax "1.2.840.10008.1.2.4.62" 00237 /* JPEG Full Progression, Hierarchical (Process 24 & 26) */ 00238 #define UID_JPEGProcess24_26TransferSyntax "1.2.840.10008.1.2.4.63" 00239 /* JPEG Full Progression, Hierarchical (Process 25 & 27) */ 00240 #define UID_JPEGProcess25_27TransferSyntax "1.2.840.10008.1.2.4.64" 00241 /* JPEG Lossless, Hierarchical (Process 28) */ 00242 #define UID_JPEGProcess28TransferSyntax "1.2.840.10008.1.2.4.65" 00243 /* JPEG Lossless, Hierarchical (Process 29) */ 00244 #define UID_JPEGProcess29TransferSyntax "1.2.840.10008.1.2.4.66" 00245 /* JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14 00246 [Selection Value 1]): Default Transfer Syntax for Lossless JPEG Image Compression */ 00247 #define UID_JPEGProcess14SV1TransferSyntax "1.2.840.10008.1.2.4.70" 00248 /* JPEG-LS Lossless Image Compression */ 00249 #define UID_JPEGLSLosslessTransferSyntax "1.2.840.10008.1.2.4.80" 00250 /* JPEG-LS Lossy (Near-Lossless) Image Compression */ 00251 #define UID_JPEGLSLossyTransferSyntax "1.2.840.10008.1.2.4.81" 00252 /* RLE Lossless */ 00253 #define UID_RLELosslessTransferSyntax "1.2.840.10008.1.2.5" 00254 /* Deflated Explicit VR Little Endian */ 00255 #define UID_DeflatedExplicitVRLittleEndianTransferSyntax "1.2.840.10008.1.2.1.99" 00256 /* JPEG 2000 Image Compression (Lossless Only) */ 00257 #define UID_JPEG2000LosslessOnlyTransferSyntax "1.2.840.10008.1.2.4.90" 00258 /* JPEG 2000 Image Compression (Lossless or Lossy) */ 00259 #define UID_JPEG2000TransferSyntax "1.2.840.10008.1.2.4.91" 00260 /* MPEG2 Main Profile @ Main Level */ 00261 #define UID_MPEG2MainProfileAtMainLevelTransferSyntax "1.2.840.10008.1.2.4.100" 00262 00263 00264 /* 00265 ** Defined SOP UIDs according to 2001 DICOM edition 00266 */ 00267 00268 // Storage 00269 #define UID_StoredPrintStorage "1.2.840.10008.5.1.1.27" 00270 #define UID_HardcopyGrayscaleImageStorage "1.2.840.10008.5.1.1.29" 00271 #define UID_HardcopyColorImageStorage "1.2.840.10008.5.1.1.30" 00272 #define UID_ComputedRadiographyImageStorage "1.2.840.10008.5.1.4.1.1.1" 00273 #define UID_DigitalXRayImageStorageForPresentation "1.2.840.10008.5.1.4.1.1.1.1" 00274 #define UID_DigitalXRayImageStorageForProcessing "1.2.840.10008.5.1.4.1.1.1.1.1" 00275 #define UID_DigitalMammographyXRayImageStorageForPresentation "1.2.840.10008.5.1.4.1.1.1.2" 00276 #define UID_DigitalMammographyXRayImageStorageForProcessing "1.2.840.10008.5.1.4.1.1.1.2.1" 00277 #define UID_DigitalIntraOralXRayImageStorageForPresentation "1.2.840.10008.5.1.4.1.1.1.3" 00278 #define UID_DigitalIntraOralXRayImageStorageForProcessing "1.2.840.10008.5.1.4.1.1.1.3.1" 00279 #define UID_CTImageStorage "1.2.840.10008.5.1.4.1.1.2" 00280 #define UID_EnhancedCTImageStorage "1.2.840.10008.5.1.4.1.1.2.1" 00281 #define UID_RETIRED_UltrasoundMultiframeImageStorage "1.2.840.10008.5.1.4.1.1.3" 00282 #define UID_UltrasoundMultiframeImageStorage "1.2.840.10008.5.1.4.1.1.3.1" 00283 #define UID_MRImageStorage "1.2.840.10008.5.1.4.1.1.4" 00284 #define UID_RETIRED_NuclearMedicineImageStorage "1.2.840.10008.5.1.4.1.1.5" 00285 #define UID_RETIRED_UltrasoundImageStorage "1.2.840.10008.5.1.4.1.1.6" 00286 #define UID_UltrasoundImageStorage "1.2.840.10008.5.1.4.1.1.6.1" 00287 #define UID_SecondaryCaptureImageStorage "1.2.840.10008.5.1.4.1.1.7" 00288 #define UID_StandaloneOverlayStorage "1.2.840.10008.5.1.4.1.1.8" 00289 #define UID_StandaloneCurveStorage "1.2.840.10008.5.1.4.1.1.9" 00290 #define UID_TwelveLeadECGWaveformStorage "1.2.840.10008.5.1.4.1.1.9.1.1" 00291 #define UID_GeneralECGWaveformStorage "1.2.840.10008.5.1.4.1.1.9.1.2" 00292 #define UID_AmbulatoryECGWaveformStorage "1.2.840.10008.5.1.4.1.1.9.1.3" 00293 #define UID_HemodynamicWaveformStorage "1.2.840.10008.5.1.4.1.1.9.2.1" 00294 #define UID_CardiacElectrophysiologyWaveformStorage "1.2.840.10008.5.1.4.1.1.9.3.1" 00295 #define UID_BasicVoiceAudioWaveformStorage "1.2.840.10008.5.1.4.1.1.9.4.1" 00296 #define UID_StandaloneModalityLUTStorage "1.2.840.10008.5.1.4.1.1.10" 00297 #define UID_StandaloneVOILUTStorage "1.2.840.10008.5.1.4.1.1.11" 00298 #define UID_GrayscaleSoftcopyPresentationStateStorage "1.2.840.10008.5.1.4.1.1.11.1" 00299 #define UID_XRayAngiographicImageStorage "1.2.840.10008.5.1.4.1.1.12.1" 00300 #define UID_XRayFluoroscopyImageStorage "1.2.840.10008.5.1.4.1.1.12.2" 00301 #define UID_RETIRED_XRayAngiographicBiPlaneImageStorage "1.2.840.10008.5.1.4.1.1.12.3" 00302 #define UID_NuclearMedicineImageStorage "1.2.840.10008.5.1.4.1.1.20" 00303 #define UID_RETIRED_VLImageStorage "1.2.840.10008.5.1.4.1.1.77.1" 00304 #define UID_VLEndoscopicImageStorage "1.2.840.10008.5.1.4.1.1.77.1.1" 00305 #define UID_VLMicroscopicImageStorage "1.2.840.10008.5.1.4.1.1.77.1.2" 00306 #define UID_VLSlideCoordinatesMicroscopicImageStorage "1.2.840.10008.5.1.4.1.1.77.1.3" 00307 #define UID_VLPhotographicImageStorage "1.2.840.10008.5.1.4.1.1.77.1.4" 00308 #define UID_RETIRED_VLMultiFrameImageStorage "1.2.840.10008.5.1.4.1.1.77.2" 00309 #define UID_BasicTextSR "1.2.840.10008.5.1.4.1.1.88.11" 00310 #define UID_EnhancedSR "1.2.840.10008.5.1.4.1.1.88.22" 00311 #define UID_ComprehensiveSR "1.2.840.10008.5.1.4.1.1.88.33" 00312 #define UID_PETImageStorage "1.2.840.10008.5.1.4.1.1.128" 00313 #define UID_PETCurveStorage "1.2.840.10008.5.1.4.1.1.129" 00314 #define UID_RTImageStorage "1.2.840.10008.5.1.4.1.1.481.1" 00315 #define UID_RTDoseStorage "1.2.840.10008.5.1.4.1.1.481.2" 00316 #define UID_RTStructureSetStorage "1.2.840.10008.5.1.4.1.1.481.3" 00317 #define UID_RTBeamsTreatmentRecordStorage "1.2.840.10008.5.1.4.1.1.481.4" 00318 #define UID_RTPlanStorage "1.2.840.10008.5.1.4.1.1.481.5" 00319 #define UID_RTBrachyTreatmentRecordStorage "1.2.840.10008.5.1.4.1.1.481.6" 00320 #define UID_RTTreatmentSummaryRecordStorage "1.2.840.10008.5.1.4.1.1.481.7" 00321 00322 // Storage SOP Classes from Supplement 49 (final text) 00323 #define UID_EnhancedMRImageStorage "1.2.840.10008.5.1.4.1.1.4.1" 00324 #define UID_MRSpectroscopyStorage "1.2.840.10008.5.1.4.1.1.4.2" 00325 #define UID_RawDataStorage "1.2.840.10008.5.1.4.1.1.66" 00326 00327 // Storage SOP Class from Supplement 50 (final text) 00328 #define UID_MammographyCADSR "1.2.840.10008.5.1.4.1.1.88.50" 00329 00330 // Storage SOP Classes from Supplement 57 (final text) 00331 #define UID_MultiframeSingleBitSecondaryCaptureImageStorage "1.2.840.10008.5.1.4.1.1.7.1" 00332 #define UID_MultiframeGrayscaleByteSecondaryCaptureImageStorage "1.2.840.10008.5.1.4.1.1.7.2" 00333 #define UID_MultiframeGrayscaleWordSecondaryCaptureImageStorage "1.2.840.10008.5.1.4.1.1.7.3" 00334 #define UID_MultiframeTrueColorSecondaryCaptureImageStorage "1.2.840.10008.5.1.4.1.1.7.4" 00335 00336 // Storage SOP Class from Supplement 59 (final text) 00337 #define UID_KeyObjectSelectionDocument "1.2.840.10008.5.1.4.1.1.88.59" 00338 00339 // Storage SOP Class from Supplement 65 (final text) 00340 #define UID_ChestCADSR "1.2.840.10008.5.1.4.1.1.88.65" 00341 00342 // Storage SOP Class from Supplement 66 (final text) 00343 #define UID_ProcedureLogStorage "1.2.840.10008.5.1.4.1.1.88.40" 00344 00345 // Storage SOP Class from Supplement 73 (final text) 00346 #define UID_SpatialRegistrationStorage "1.2.840.10008.5.1.4.1.1.66.1" 00347 #define UID_SpatialFiducialsStorage "1.2.840.10008.5.1.4.1.1.66.2" 00348 00349 // Worklist and Query/Retrieve 00350 #define UID_FINDPatientRootQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.1.1" 00351 #define UID_MOVEPatientRootQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.1.2" 00352 #define UID_GETPatientRootQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.1.3" 00353 #define UID_FINDStudyRootQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.2.1" 00354 #define UID_MOVEStudyRootQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.2.2" 00355 #define UID_GETStudyRootQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.2.3" 00356 #define UID_FINDPatientStudyOnlyQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.3.1" 00357 #define UID_MOVEPatientStudyOnlyQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.3.2" 00358 #define UID_GETPatientStudyOnlyQueryRetrieveInformationModel "1.2.840.10008.5.1.4.1.2.3.3" 00359 #define UID_FINDModalityWorklistInformationModel "1.2.840.10008.5.1.4.31" 00360 #define UID_FINDGeneralPurposeWorklistInformationModel "1.2.840.10008.5.1.4.32.1" 00361 00362 // Print 00363 #define UID_BasicFilmSessionSOPClass "1.2.840.10008.5.1.1.1" 00364 #define UID_BasicFilmBoxSOPClass "1.2.840.10008.5.1.1.2" 00365 #define UID_BasicGrayscaleImageBoxSOPClass "1.2.840.10008.5.1.1.4" 00366 #define UID_BasicColorImageBoxSOPClass "1.2.840.10008.5.1.1.4.1" 00367 #define UID_RETIRED_ReferencedImageBoxSOPClass "1.2.840.10008.5.1.1.4.2" 00368 #define UID_BasicGrayscalePrintManagementMetaSOPClass "1.2.840.10008.5.1.1.9" 00369 #define UID_RETIRED_ReferencedGrayscalePrintManagementMetaSOPClass "1.2.840.10008.5.1.1.9.1" 00370 #define UID_PrintJobSOPClass "1.2.840.10008.5.1.1.14" 00371 #define UID_BasicAnnotationBoxSOPClass "1.2.840.10008.5.1.1.15" 00372 #define UID_PrinterSOPClass "1.2.840.10008.5.1.1.16" 00373 #define UID_PrinterConfigurationRetrievalSOPClass "1.2.840.10008.5.1.1.16.376" 00374 #define UID_PrinterSOPInstance "1.2.840.10008.5.1.1.17" 00375 #define UID_PrinterConfigurationRetrievalSOPInstance "1.2.840.10008.5.1.1.17.376" 00376 #define UID_BasicColorPrintManagementMetaSOPClass "1.2.840.10008.5.1.1.18" 00377 #define UID_RETIRED_ReferencedColorPrintManagementMetaSOPClass "1.2.840.10008.5.1.1.18.1" 00378 #define UID_VOILUTBoxSOPClass "1.2.840.10008.5.1.1.22" 00379 #define UID_PresentationLUTSOPClass "1.2.840.10008.5.1.1.23" 00380 #define UID_ImageOverlayBoxSOPClass "1.2.840.10008.5.1.1.24" 00381 #define UID_BasicPrintImageOverlayBoxSOPClass "1.2.840.10008.5.1.1.24.1" 00382 #define UID_PrintQueueSOPInstance "1.2.840.10008.5.1.1.25" 00383 #define UID_PrintQueueManagementSOPClass "1.2.840.10008.5.1.1.26" 00384 #define UID_PullPrintRequestSOPClass "1.2.840.10008.5.1.1.31" 00385 #define UID_PullStoredPrintManagementMetaSOPClass "1.2.840.10008.5.1.1.32" 00386 00387 // Storage Commitment 00388 #define UID_StorageCommitmentPushModelSOPClass "1.2.840.10008.1.20.1" 00389 #define UID_StorageCommitmentPushModelSOPInstance "1.2.840.10008.1.20.1.1" 00390 #define UID_RETIRED_StorageCommitmentPullModelSOPClass "1.2.840.10008.1.20.2" 00391 #define UID_RETIRED_StorageCommitmentPullModelSOPInstance "1.2.840.10008.1.20.2.1" 00392 00393 // MPPS 00394 #define UID_ModalityPerformedProcedureStepSOPClass "1.2.840.10008.3.1.2.3.3" 00395 #define UID_ModalityPerformedProcedureStepRetrieveSOPClass "1.2.840.10008.3.1.2.3.4" 00396 #define UID_ModalityPerformedProcedureStepNotificationSOPClass "1.2.840.10008.3.1.2.3.5" 00397 00398 // Detached Management 00399 #define UID_DetachedPatientManagementSOPClass "1.2.840.10008.3.1.2.1.1" 00400 #define UID_DetachedPatientManagementMetaSOPClass "1.2.840.10008.3.1.2.1.4" 00401 #define UID_DetachedVisitManagementSOPClass "1.2.840.10008.3.1.2.2.1" 00402 #define UID_DetachedStudyManagementSOPClass "1.2.840.10008.3.1.2.3.1" 00403 #define UID_DetachedResultsManagementSOPClass "1.2.840.10008.3.1.2.5.1" 00404 #define UID_DetachedResultsManagementMetaSOPClass "1.2.840.10008.3.1.2.5.4" 00405 #define UID_DetachedStudyManagementMetaSOPClass "1.2.840.10008.3.1.2.5.5" 00406 #define UID_DetachedInterpretationManagementSOPClass "1.2.840.10008.3.1.2.6.1" 00407 00408 // General Purpose Worklist 00409 #define UID_GeneralPurposeScheduledProcedureStepSOPClass "1.2.840.10008.5.1.4.32.2" 00410 #define UID_GeneralPurposePerformedProcedureStepSOPClass "1.2.840.10008.5.1.4.32.3" 00411 #define UID_GeneralPurposeWorklistManagementMetaSOPClass "1.2.840.10008.5.1.4.32" 00412 00413 // Other 00414 #define UID_VerificationSOPClass "1.2.840.10008.1.1" 00415 // was UID_BasicDirectoryStorageSOPClass in DCMTK versions prior to 3.5.3 00416 #define UID_MediaStorageDirectoryStorage "1.2.840.10008.1.3.10" 00417 #define UID_BasicStudyContentNotificationSOPClass "1.2.840.10008.1.9" 00418 #define UID_StudyComponentManagementSOPClass "1.2.840.10008.3.1.2.3.2" 00419 00420 // UID for DICOM Controlled Terminology, defined in CP 324 00421 #define UID_DICOMControlledTerminologyCodingScheme "1.2.840.10008.2.16.4" 00422 00423 // Supplement 47 (final text) 00424 #define UID_VideoEndoscopicImageStorage "1.2.840.10008.5.1.4.1.1.77.1.1.1" 00425 #define UID_MicroscopicImageStorage "1.2.840.10008.5.1.4.1.1.77.1.2.1" 00426 #define UID_VideoPhotographicImageStorage "1.2.840.10008.5.1.4.1.1.77.1.4.1" 00427 00428 // Supplement 66 (final text) 00429 #define UID_ProceduralEventLoggingSOPClass "1.2.840.10008.1.40" 00430 #define UID_ProceduralEventLoggingSOPInstance "1.2.840.10008.1.40.1" 00431 00432 // Supplement 73 (final text) 00433 #define UID_TalairachBrainAtlasFrameOfReference "1.2.840.10008.1.4.1.1" 00434 #define UID_SPM2T1FrameOfReference "1.2.840.10008.1.4.1.2" 00435 #define UID_SPM2T2FrameOfReference "1.2.840.10008.1.4.1.3" 00436 #define UID_SPM2PDFrameOfReference "1.2.840.10008.1.4.1.4" 00437 #define UID_SPM2EPIFrameOfReference "1.2.840.10008.1.4.1.5" 00438 #define UID_SPM2FILT1FrameOfReference "1.2.840.10008.1.4.1.6" 00439 #define UID_SPM2PETFrameOfReference "1.2.840.10008.1.4.1.7" 00440 #define UID_SPM2TRANSMFrameOfReference "1.2.840.10008.1.4.1.8" 00441 #define UID_SPM2SPECTFrameOfReference "1.2.840.10008.1.4.1.9" 00442 #define UID_SPM2GRAYFrameOfReference "1.2.840.10008.1.4.1.10" 00443 #define UID_SPM2WHITEFrameOfReference "1.2.840.10008.1.4.1.11" 00444 #define UID_SPM2CSFFrameOfReference "1.2.840.10008.1.4.1.12" 00445 #define UID_SPM2BRAINMASKFrameOfReference "1.2.840.10008.1.4.1.13" 00446 #define UID_SPM2AVG305T1FrameOfReference "1.2.840.10008.1.4.1.14" 00447 #define UID_SPM2AVG152T1FrameOfReference "1.2.840.10008.1.4.1.15" 00448 #define UID_SPM2AVG152T2FrameOfReference "1.2.840.10008.1.4.1.16" 00449 #define UID_SPM2AVG152PDFrameOfReference "1.2.840.10008.1.4.1.17" 00450 #define UID_SPM2SINGLESUBJT1FrameOfReference "1.2.840.10008.1.4.1.18" 00451 #define UID_ICBM452T1FrameOfReference "1.2.840.10008.1.4.2.1" 00452 #define UID_ICBMSingleSubjectMRIFrameOfReference "1.2.840.10008.1.4.2.2" 00453 00454 // Private DCMTK UIDs 00455 00456 // Private SOP Class UID used to shutdown external network applications 00457 #define UID_PrivateShutdownSOPClass "1.2.276.0.7230010.3.4.1915765545.18030.917282194.0" 00458 00459 00460 /* DRAFT SUPPLEMENTS - EXPERIMENTAL USE ONLY */ 00461 00462 /* 00463 * The following UIDs were defined in "frozen draft for trial implementation" 00464 * versions of various DICOM supplements and changed before final text. 00465 * Since it is likely that trial implementations exist, we leave the UIDs in the dictionary. 00466 */ 00467 00468 /* Supplement 23 Frozen Draft (November 1997) */ 00469 #define UID_DRAFT_SRTextStorage "1.2.840.10008.5.1.4.1.1.88.1" 00470 #define UID_DRAFT_SRAudioStorage "1.2.840.10008.5.1.4.1.1.88.2" 00471 #define UID_DRAFT_SRDetailStorage "1.2.840.10008.5.1.4.1.1.88.3" 00472 #define UID_DRAFT_SRComprehensiveStorage "1.2.840.10008.5.1.4.1.1.88.4" 00473 00474 /* Supplement 30 Draft 08 for Demonstration (October 1997) */ 00475 #define UID_DRAFT_WaveformStorage "1.2.840.10008.5.1.4.1.1.9.1" 00476 00477 00478 #endif /* DCUID_H */ 00479 00480 00481 /* 00482 ** CVS/RCS Log: 00483 ** $Log: dcuid.h,v $ 00484 ** Revision 1.64 2004/05/27 10:31:39 joergr 00485 ** Updated version name and implementation name to reflect release 3.5.3. 00486 ** 00487 ** Revision 1.63 2004/04/14 11:49:28 joergr 00488 ** Replaced non-Unix newline characters. 00489 ** 00490 ** Revision 1.62 2004/04/06 18:02:25 joergr 00491 ** Updated data dictionary, UIDs and transfer syntaxes for the latest Final Text 00492 ** Supplements (42 and 47) and Correction Proposals (CP 25). 00493 ** Added missing suffix "TransferSyntax" to some transfer syntax constants. 00494 ** 00495 ** Revision 1.61 2004/03/16 13:43:26 joergr 00496 ** Renamed UID_BasicDirectoryStorageSOPClass to UID_MediaStorageDirectoryStorage. 00497 ** 00498 ** Revision 1.60 2004/02/13 14:10:30 joergr 00499 ** Fixed wrong spelling of "SpatialFiducialsStorage". 00500 ** 00501 ** Revision 1.59 2004/02/13 11:42:43 joergr 00502 ** Corrected order of tags, modified comments and other minor corrections. 00503 ** 00504 ** Revision 1.58 2004/02/11 15:53:08 wilkens 00505 ** Updated attribute and UID specification (update before dcmtk 3.5.3 release). 00506 ** 00507 ** Revision 1.57 2003/11/07 13:57:19 meichel 00508 ** Updated version name to reflect interim release 3.5.2a 00509 ** 00510 ** Revision 1.56 2003/10/09 17:47:25 joergr 00511 ** Renamed OFFIS_PRIVATE_CODING_xxx macros to OFFIS_CODING_xxx. 00512 ** 00513 ** Revision 1.55 2003/10/09 12:49:38 joergr 00514 ** Added support for SOP Class "Procedure Log" (Supplement 66). 00515 ** 00516 ** Revision 1.54 2003/05/20 08:53:27 joergr 00517 ** Added support for SOP Class "Chest CAD SR" (Supplement 65). 00518 ** 00519 ** Revision 1.53 2002/12/23 10:58:21 meichel 00520 ** Updated version name and implementation name to reflect release 3.5.2 00521 ** 00522 ** Revision 1.52 2002/12/09 13:03:19 meichel 00523 ** Updated list of UIDs 00524 ** 00525 ** Revision 1.51 2002/11/27 12:07:23 meichel 00526 ** Adapted module dcmdata to use of new header file ofstdinc.h 00527 ** 00528 ** Revision 1.50 2002/06/19 15:35:55 meichel 00529 ** Updated list of SOP Class UIDs for Supplement 49 00530 ** 00531 ** Revision 1.49 2002/01/08 10:43:00 joergr 00532 ** Corrected spelling of function dcmGenerateUniqueIdentifier(). 00533 ** Added comment about another reserved UID root (for OFFIS GO-Kard project). 00534 ** 00535 ** Revision 1.48 2001/12/20 11:16:53 meichel 00536 ** Updated Version Number and Implementation Version Name to reflect the 00537 ** current public release (3.5.1) 00538 ** 00539 ** Revision 1.47 2001/11/08 16:17:29 meichel 00540 ** Updated data dictionary, UIDs and transfer syntaxes for DICOM 2001 edition. 00541 ** 00542 ** Revision 1.46 2001/11/02 15:44:02 meichel 00543 ** Introduced DCMTK version number macro OFFIS_DCMTK_VERSION_NUMBER in dcuid.h 00544 ** 00545 ** Revision 1.45 2001/06/14 14:04:06 meichel 00546 ** Updated Version Number and Implementation Version Name to reflect the 00547 ** current public release (3.5.0) 00548 ** 00549 ** Revision 1.44 2001/06/01 15:48:46 meichel 00550 ** Updated copyright header 00551 ** 00552 ** Revision 1.43 2001/05/25 09:50:17 meichel 00553 ** Updated data dictionary and UID list (again). 00554 ** 00555 ** Revision 1.42 2001/05/10 16:10:36 meichel 00556 ** Updated data dictionary and UID list 00557 ** 00558 ** Revision 1.41 2000/12/20 10:18:23 meichel 00559 ** Updated Version Number and Implementation Version Name to reflect the 00560 ** current public release (3.4.2) 00561 ** 00562 ** Revision 1.40 2000/12/14 12:47:41 joergr 00563 ** Updated SOP Class and Transfer Syntax UIDs for 2000 edition of the DICOM 00564 ** standard. 00565 ** 00566 ** Revision 1.39 2000/11/16 12:49:11 joergr 00567 ** Added definition of InstanceCreatorUID. 00568 ** 00569 ** Revision 1.38 2000/10/12 08:19:05 joergr 00570 ** Updated data dictionary to reflect the changes made in supplement 23 00571 ** (Structured Reporting) final text. 00572 ** Added private coding scheme creator UID for SR codes. Restructured scheme 00573 ** for site UIDs. 00574 ** 00575 ** Revision 1.37 2000/05/30 13:02:24 joergr 00576 ** Added new private SOP class (UID definition) to allow external shutdown 00577 ** of console applications via negotiation of this special SOP class 00578 ** (currently used for imagectn and dcmpsrcv). 00579 ** 00580 ** Revision 1.36 2000/04/14 16:04:50 meichel 00581 ** Made function dcmGenerateUniqueIdentifer thread safe by protecting 00582 ** the counter with a Mutex and using gethostbyname_r instead of 00583 ** gethostbyname on Posix platforms. 00584 ** 00585 ** Revision 1.35 2000/03/08 16:26:20 meichel 00586 ** Updated copyright header. 00587 ** 00588 ** Revision 1.34 2000/02/23 15:11:40 meichel 00589 ** Corrected macro for Borland C++ Builder 4 workaround. 00590 ** 00591 ** Revision 1.33 2000/02/03 11:48:22 meichel 00592 ** Rebuilt data dictionary based on 1999 standard text, 00593 ** latest supplements and CP packet 6. 00594 ** 00595 ** Revision 1.32 2000/02/01 10:12:03 meichel 00596 ** Avoiding to include <stdlib.h> as extern "C" on Borland C++ Builder 4, 00597 ** workaround for bug in compiler header files. 00598 ** 00599 ** Revision 1.31 1999/07/14 12:02:33 meichel 00600 ** Updated data dictionary for supplement 29, 39, 33_lb, CP packet 4 and 5. 00601 ** Corrected dcmtk applications for changes in attribute name constants. 00602 ** 00603 ** Revision 1.30 1999/05/06 12:42:09 meichel 00604 ** Updated Version Number and Implementation Version Name to reflect the 00605 ** current public release (3.4.0) 00606 ** 00607 ** Revision 1.29 1999/03/31 09:24:52 meichel 00608 ** Updated copyright header in module dcmdata 00609 ** 00610 ** Revision 1.28 1999/03/22 13:41:22 meichel 00611 ** Reworked UID list based on the 1998 DICOM edition and the latest 00612 ** supplement versions. 00613 ** 00614 ** Revision 1.27 1999/03/17 11:08:25 meichel 00615 ** added UIDs for Supplement 32 (DX) 00616 ** 00617 ** Revision 1.26 1998/10/26 13:02:49 meichel 00618 ** Updated data dictionary and UIDs for Grayscale Softcopy Presentation State 00619 ** (Supplement 33 frozen draft). 00620 ** 00621 ** Revision 1.25 1998/02/25 14:26:29 hewett 00622 ** Updated status of supplements 17 & 22 to reflect their Final Text status 00623 ** Updated data dictionary and UID information to reflect changes in 00624 ** Supplement 24 (Stored Print Related SOP Classes). Some data dictionary 00625 ** attibutes and UIDs have changed between the Letter Ballot version and 00626 ** the Final Text version. 00627 ** 00628 ** Revision 1.24 1998/02/17 12:33:58 meichel 00629 ** Updated Version Number and Implementation Version Name to reflect the 00630 ** current public release (3.3.1). Updated documentation to reflect changes in 3.3.1. 00631 ** 00632 ** Revision 1.23 1998/02/06 09:03:09 hewett 00633 ** Updated support for Supplements 15 (Visible Light), 00634 ** 16 (Postscript Print Management), 17 (Modality Performed Procedure Step), 00635 ** 22 (Presentation Look Up Table (LUT)), 23 (Structured Reporting), 00636 ** 24 (Stored Print), 30 (Waveform Interchange). 00637 ** 00638 ** Revision 1.22 1998/01/14 15:14:45 hewett 00639 ** Added basic support for the Structured Reporting (SR) SOP Classes. 00640 ** 00641 ** Revision 1.21 1997/10/07 07:44:20 meichel 00642 ** Updated Version Number and Implementation Version Name to reflect the 00643 ** current public release (3.3) 00644 ** 00645 ** Revision 1.20 1997/10/01 11:42:26 hewett 00646 ** Updated DCMTK version number and date for 3.3 release 00647 ** 00648 ** Revision 1.19 1997/09/22 14:56:46 hewett 00649 ** Added a global list of Image SOP Classes UIDs (dcmImageSOPClassUIDs) 00650 ** which is used by dcmgpdir to identify SOP Classes which can be 00651 ** referenced from a DICOMDIR IMAGE record. 00652 ** 00653 ** Revision 1.18 1997/06/09 13:28:15 hewett 00654 ** Updated Version Number and Implementation Version Name to reflect the 00655 ** current public release (3.2.1) 00656 ** 00657 ** Revision 1.17 1997/06/02 08:27:48 hewett 00658 ** Updated Version Number and Implementation Version Name to reflect the 00659 ** current public release (3.2). 00660 ** 00661 ** Revision 1.16 1997/05/29 15:52:54 meichel 00662 ** Added constant for dcmtk release date in dcuid.h. 00663 ** All dcmtk applications now contain a version string 00664 ** which is displayed with the command line options ("usage" message) 00665 ** and which can be queried in the binary with the "ident" command. 00666 ** 00667 ** Revision 1.15 1997/05/23 10:44:17 meichel 00668 ** Major rewrite of storescp application. See CHANGES for details. 00669 ** Changes to interfaces of some DIMSE functions. 00670 ** 00671 ** Revision 1.14 1997/05/13 13:57:42 hewett 00672 ** Added UIDs for the draft supplements 12 (PET), 13 (Queue Management), 00673 ** 15 (Visible Light), 17 (Modality Performed Procedure Step), 22 (User 00674 ** Preference LUT) and 24 (Print Storage). Updated UID tables so that 00675 ** recompiled Storage SCP/SCU's will handle the new SOPs. 00676 ** 00677 ** Revision 1.13 1997/05/09 13:07:27 hewett 00678 ** Updated version name. 00679 ** 00680 ** Revision 1.12 1997/03/27 16:10:43 hewett 00681 ** Updated Implementation Version Name and Implementation Class UID to 00682 ** reflect the new version 3.1.3 00683 ** 00684 ** Revision 1.11 1997/03/26 17:21:02 hewett 00685 ** Changed DCMTK's implementation version name to be consitent with VR=CS. 00686 ** 00687 ** Revision 1.10 1997/02/06 11:25:26 hewett 00688 ** Updated Implementation Version Name and Implementation Class UID to 00689 ** reflect the new version 3.1.2 00690 ** 00691 ** Revision 1.9 1996/11/27 16:12:17 hewett 00692 ** Added recommended uid roots for Patient/Study/Results Management objects. 00693 ** 00694 ** Revision 1.8 1996/09/24 16:01:28 hewett 00695 ** Added SOP Class UIDs for Radiotherapy Objects. 00696 ** Added a separate table of Storage SOP Class UIDs (usefull during 00697 ** association negotiation). 00698 ** Updated Implementation Version to 3.1.1 00699 ** 00700 ** Revision 1.7 1996/09/03 13:01:09 hewett 00701 ** Updated version name to reflect release 3.1.0. 00702 ** 00703 ** Revision 1.6 1996/05/31 09:56:33 hewett 00704 ** Reduced length of ImplementationVersionName to be <= 16 bytes. 00705 ** 00706 ** Revision 1.5 1996/05/31 09:46:46 hewett 00707 ** Updated InplementationVerionName for release 3.0.1. 00708 ** 00709 ** Revision 1.4 1996/04/19 12:44:07 hewett 00710 ** Added Transfer Syntax UID for RLE Lossless (defined in new Ultrasound). 00711 ** 00712 ** Revision 1.3 1996/03/12 15:34:15 hewett 00713 ** Added new SOP Class UIDs. 00714 ** 00715 ** Revision 1.2 1996/01/29 13:38:14 andreas 00716 ** - new put method for every VR to put value as a string 00717 ** - better and unique print methods 00718 ** 00719 ** Revision 1.1 1995/11/23 16:38:05 hewett 00720 ** Updated for loadable data dictionary + some cleanup (more to do). 00721 ** 00722 */