Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

dcuid.h

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 */


Generated on 8 Dec 2004 for OFFIS DCMTK Version 3.5.3 by Doxygen 1.3.9.1