From dc7b8fea64d9009b6b0f2dd07349a3a1c86fd626 Mon Sep 17 00:00:00 2001 From: Joerg Riesmeier Date: Mon, 1 Feb 2021 15:20:10 +0100 Subject: [PATCH] Updated data dictionary for DICOM 2021a. Updated data dictionary for the latest edition of the DICOM standard, which has been released only recently. Since three DICOM attributes were "retired", the name of the associated DcmTagKey constants also changed. This required minor changes to the source code of the dcmrt module (automatically generated source files). --- dcmdata/data/dicom.dic | 33 +++++++-- dcmdata/include/dcmtk/dcmdata/dcdeftag.h | 35 +++++++-- dcmdata/libsrc/dcdictbi.cc | 94 ++++++++++++++++++++++-- dcmrt/libsrc/drtcs.cc | 9 ++- 4 files changed, 149 insertions(+), 22 deletions(-) diff --git a/dcmdata/data/dicom.dic b/dcmdata/data/dicom.dic index 698639491d..832a6fa861 100644 --- a/dcmdata/data/dicom.dic +++ b/dcmdata/data/dicom.dic @@ -1,5 +1,5 @@ # -# Copyright (C) 1994-2020, OFFIS e.V. +# Copyright (C) 1994-2021, OFFIS e.V. # All rights reserved. See COPYRIGHT file for details. # # This software and supporting documentation were developed by @@ -21,8 +21,8 @@ # DICONDE (Digital Imaging and Communication in Nondestructive Evaluation) and # DICOS (Digital Imaging and Communications in Security) standard. # -# Generated automatically from DICOM PS 3.6-2020e and PS 3.7-2020e -# File created on 2020-11-24 14:44:39 by J. Riesmeier on thinkpad. +# Generated automatically from DICOM PS 3.6-2021a and PS 3.7-2021a. +# File created on 2021-02-01 14:58:43 by J. Riesmeier on thinkpad2. # # In addition, the data dictionary entries from the following final text # supplements and correction items (CP) have been incorporated: @@ -849,6 +849,24 @@ (0018,11A3) DS CompressionPressure 1 DICOM (0018,11A4) LO PaddleDescription 1 DICOM (0018,11A5) DS CompressionContactArea 1 DICOM +(0018,11B0) LO AcquisitionMode 1 DICOM +(0018,11B1) LO DoseModeName 1 DICOM +(0018,11B2) CS AcquiredSubtractionMaskFlag 1 DICOM +(0018,11B3) CS FluoroscopyPersistenceFlag 1 DICOM +(0018,11B4) CS FluoroscopyLastImageHoldPersistenceFlag 1 DICOM +(0018,11B5) IS UpperLimitNumberOfPersistentFluoroscopyFrames 1 DICOM +(0018,11B6) CS ContrastBolusAutoInjectionTriggerFlag 1 DICOM +(0018,11B7) FD ContrastBolusInjectionDelay 1 DICOM +(0018,11B8) SQ XAAcquisitionPhaseDetailsSequence 1 DICOM +(0018,11B9) FD XAAcquisitionFrameRate 1 DICOM +(0018,11BA) SQ XAPlaneDetailsSequence 1 DICOM +(0018,11BB) LO AcquisitionFieldOfViewLabel 1 DICOM +(0018,11BC) SQ XRayFilterDetailsSequence 1 DICOM +(0018,11BD) FD XAAcquisitionDuration 1 DICOM +(0018,11BE) CS ReconstructionPipelineType 1 DICOM +(0018,11BF) SQ ImageFilterDetailsSequence 1 DICOM +(0018,11C0) CS AppliedMaskSubtractionFlag 1 DICOM +(0018,11C1) SQ RequestedSeriesDescriptionCodeSequence 1 DICOM (0018,1200) DA DateOfLastCalibration 1-n DICOM (0018,1201) TM TimeOfLastCalibration 1-n DICOM (0018,1202) DT DateTimeOfLastCalibration 1 DICOM @@ -1005,6 +1023,7 @@ (0018,6058) UL TableOfPixelValues 1-n DICOM (0018,605A) FL TableOfParameterValues 1-n DICOM (0018,6060) FL RWaveTimeVector 1-n DICOM +(0018,6070) US ActiveImageAreaOverlayGroup 1 DICOM (0018,7000) CS DetectorConditionsNominalFlag 1 DICOM (0018,7001) DS DetectorTemperature 1 DICOM (0018,7004) CS DetectorType 1 DICOM @@ -2303,6 +2322,7 @@ (0040,A027) LO VerifyingOrganization 1 DICOM (0040,A030) DT VerificationDateTime 1 DICOM (0040,A032) DT ObservationDateTime 1 DICOM +(0040,A033) DT ObservationStartDateTime 1 DICOM (0040,A040) CS ValueType 1 DICOM (0040,A043) SQ ConceptNameCodeSequence 1 DICOM (0040,A050) CS ContinuityOfContent 1 DICOM @@ -3467,11 +3487,9 @@ (3006,0039) SQ ROIContourSequence 1 DICOM (3006,0040) SQ ContourSequence 1 DICOM (3006,0042) CS ContourGeometricType 1 DICOM -(3006,0044) DS ContourSlabThickness 1 DICOM -(3006,0045) DS ContourOffsetVector 3 DICOM (3006,0046) IS NumberOfContourPoints 1 DICOM (3006,0048) IS ContourNumber 1 DICOM -(3006,0049) IS AttachedContours 1-n DICOM +(3006,004A) SQ SourcePixelPlanesCharacteristicsSequence 1 DICOM (3006,0050) DS ContourData 3-3n DICOM (3006,0080) SQ RTROIObservationsSequence 1 DICOM (3006,0082) IS ObservationNumber 1 DICOM @@ -4853,6 +4871,9 @@ (2130,0080) SQ RETIRED_PresentationLUTContentSequence 1 DICOM/retired (2130,00A0) SQ RETIRED_ProposedStudySequence 1 DICOM/retired (2130,00C0) SQ RETIRED_OriginalImageSequence 1 DICOM/retired +(3006,0044) DS RETIRED_ContourSlabThickness 1 DICOM/retired +(3006,0045) DS RETIRED_ContourOffsetVector 3 DICOM/retired +(3006,0049) IS RETIRED_AttachedContours 1-n DICOM/retired (3006,00B9) SQ RETIRED_AdditionalRTROIIdentificationCodeSequence 1 DICOM/retired (3006,00C0) SQ RETIRED_FrameOfReferenceRelationshipSequence 1 DICOM/retired (3006,00C2) UI RETIRED_RelatedFrameOfReferenceUID 1 DICOM/retired diff --git a/dcmdata/include/dcmtk/dcmdata/dcdeftag.h b/dcmdata/include/dcmtk/dcmdata/dcdeftag.h index a65b51ce63..11b38fb576 100644 --- a/dcmdata/include/dcmtk/dcmdata/dcdeftag.h +++ b/dcmdata/include/dcmtk/dcmdata/dcdeftag.h @@ -3,8 +3,8 @@ ** It was generated automatically by: ** ** User: joergr -** Host: thinkpad -** Date: 2020-11-24 14:49:52 +** Host: thinkpad2 +** Date: 2021-02-01 15:02:16 ** Prog: /home/joergr/Source/dcmtk-full/public/dcmdata/libsrc/mkdeftag ** ** From: ../data/dicom.dic @@ -17,12 +17,12 @@ #include "dcmtk/dcmdata/dctagkey.h" -#define DCM_DICT_DEFTAG_BUILD_DATE "2020-11-24 14:49:52" +#define DCM_DICT_DEFTAG_BUILD_DATE "2021-02-01 15:02:16" /* ** Fixed Tags in ascending (gggg,eeee) order. -** Number of entries: 4829 +** Number of entries: 4850 ** Tags with a repeating component (repeating tags) are listed later. */ #define DCM_CommandGroupLength DcmTagKey(0x0000, 0x0000) @@ -902,6 +902,24 @@ #define DCM_CompressionPressure DcmTagKey(0x0018, 0x11a3) #define DCM_PaddleDescription DcmTagKey(0x0018, 0x11a4) #define DCM_CompressionContactArea DcmTagKey(0x0018, 0x11a5) +#define DCM_AcquisitionMode DcmTagKey(0x0018, 0x11b0) +#define DCM_DoseModeName DcmTagKey(0x0018, 0x11b1) +#define DCM_AcquiredSubtractionMaskFlag DcmTagKey(0x0018, 0x11b2) +#define DCM_FluoroscopyPersistenceFlag DcmTagKey(0x0018, 0x11b3) +#define DCM_FluoroscopyLastImageHoldPersistenceFlag DcmTagKey(0x0018, 0x11b4) +#define DCM_UpperLimitNumberOfPersistentFluoroscopyFrames DcmTagKey(0x0018, 0x11b5) +#define DCM_ContrastBolusAutoInjectionTriggerFlag DcmTagKey(0x0018, 0x11b6) +#define DCM_ContrastBolusInjectionDelay DcmTagKey(0x0018, 0x11b7) +#define DCM_XAAcquisitionPhaseDetailsSequence DcmTagKey(0x0018, 0x11b8) +#define DCM_XAAcquisitionFrameRate DcmTagKey(0x0018, 0x11b9) +#define DCM_XAPlaneDetailsSequence DcmTagKey(0x0018, 0x11ba) +#define DCM_AcquisitionFieldOfViewLabel DcmTagKey(0x0018, 0x11bb) +#define DCM_XRayFilterDetailsSequence DcmTagKey(0x0018, 0x11bc) +#define DCM_XAAcquisitionDuration DcmTagKey(0x0018, 0x11bd) +#define DCM_ReconstructionPipelineType DcmTagKey(0x0018, 0x11be) +#define DCM_ImageFilterDetailsSequence DcmTagKey(0x0018, 0x11bf) +#define DCM_AppliedMaskSubtractionFlag DcmTagKey(0x0018, 0x11c0) +#define DCM_RequestedSeriesDescriptionCodeSequence DcmTagKey(0x0018, 0x11c1) #define DCM_DateOfLastCalibration DcmTagKey(0x0018, 0x1200) #define DCM_TimeOfLastCalibration DcmTagKey(0x0018, 0x1201) #define DCM_DateTimeOfLastCalibration DcmTagKey(0x0018, 0x1202) @@ -1071,6 +1089,7 @@ #define DCM_TableOfPixelValues DcmTagKey(0x0018, 0x6058) #define DCM_TableOfParameterValues DcmTagKey(0x0018, 0x605a) #define DCM_RWaveTimeVector DcmTagKey(0x0018, 0x6060) +#define DCM_ActiveImageAreaOverlayGroup DcmTagKey(0x0018, 0x6070) #define DCM_DetectorConditionsNominalFlag DcmTagKey(0x0018, 0x7000) #define DCM_DetectorTemperature DcmTagKey(0x0018, 0x7001) #define DCM_DetectorType DcmTagKey(0x0018, 0x7004) @@ -2542,6 +2561,7 @@ #define DCM_RETIRED_DocumentingOrganizationIdentifierCodeSequenceTrial DcmTagKey(0x0040, 0xa028) #define DCM_VerificationDateTime DcmTagKey(0x0040, 0xa030) #define DCM_ObservationDateTime DcmTagKey(0x0040, 0xa032) +#define DCM_ObservationStartDateTime DcmTagKey(0x0040, 0xa033) #define DCM_ValueType DcmTagKey(0x0040, 0xa040) #define DCM_ConceptNameCodeSequence DcmTagKey(0x0040, 0xa043) #define DCM_RETIRED_MeasurementPrecisionDescriptionTrial DcmTagKey(0x0040, 0xa047) @@ -3822,11 +3842,12 @@ #define DCM_ROIContourSequence DcmTagKey(0x3006, 0x0039) #define DCM_ContourSequence DcmTagKey(0x3006, 0x0040) #define DCM_ContourGeometricType DcmTagKey(0x3006, 0x0042) -#define DCM_ContourSlabThickness DcmTagKey(0x3006, 0x0044) -#define DCM_ContourOffsetVector DcmTagKey(0x3006, 0x0045) +#define DCM_RETIRED_ContourSlabThickness DcmTagKey(0x3006, 0x0044) +#define DCM_RETIRED_ContourOffsetVector DcmTagKey(0x3006, 0x0045) #define DCM_NumberOfContourPoints DcmTagKey(0x3006, 0x0046) #define DCM_ContourNumber DcmTagKey(0x3006, 0x0048) -#define DCM_AttachedContours DcmTagKey(0x3006, 0x0049) +#define DCM_RETIRED_AttachedContours DcmTagKey(0x3006, 0x0049) +#define DCM_SourcePixelPlanesCharacteristicsSequence DcmTagKey(0x3006, 0x004a) #define DCM_ContourData DcmTagKey(0x3006, 0x0050) #define DCM_RTROIObservationsSequence DcmTagKey(0x3006, 0x0080) #define DCM_ObservationNumber DcmTagKey(0x3006, 0x0082) diff --git a/dcmdata/libsrc/dcdictbi.cc b/dcmdata/libsrc/dcdictbi.cc index 57e30a4567..4f2bfbc44a 100644 --- a/dcmdata/libsrc/dcdictbi.cc +++ b/dcmdata/libsrc/dcdictbi.cc @@ -3,8 +3,8 @@ ** It was generated automatically by: ** ** User: joergr -** Host: thinkpad -** Date: 2020-11-24 14:49:53 +** Host: thinkpad2 +** Date: 2021-02-01 15:02:17 ** Prog: /home/joergr/Source/dcmtk-full/public/dcmdata/libsrc/mkdictbi ** ** From: ../data/dicom.dic @@ -4962,6 +4962,78 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_DS, "CompressionContactArea", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0018, 0x11b0, 0x0018, 0x11b0, + EVR_LO, "AcquisitionMode", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0018, 0x11b1, 0x0018, 0x11b1, + EVR_LO, "DoseModeName", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0018, 0x11b2, 0x0018, 0x11b2, + EVR_CS, "AcquiredSubtractionMaskFlag", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0018, 0x11b3, 0x0018, 0x11b3, + EVR_CS, "FluoroscopyPersistenceFlag", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0018, 0x11b4, 0x0018, 0x11b4, + EVR_CS, "FluoroscopyLastImageHoldPersistenceFlag", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0018, 0x11b5, 0x0018, 0x11b5, + EVR_IS, "UpperLimitNumberOfPersistentFluoroscopyFrames", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0018, 0x11b6, 0x0018, 0x11b6, + EVR_CS, "ContrastBolusAutoInjectionTriggerFlag", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0018, 0x11b7, 0x0018, 0x11b7, + EVR_FD, "ContrastBolusInjectionDelay", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0018, 0x11b8, 0x0018, 0x11b8, + EVR_SQ, "XAAcquisitionPhaseDetailsSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0018, 0x11b9, 0x0018, 0x11b9, + EVR_FD, "XAAcquisitionFrameRate", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0018, 0x11ba, 0x0018, 0x11ba, + EVR_SQ, "XAPlaneDetailsSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0018, 0x11bb, 0x0018, 0x11bb, + EVR_LO, "AcquisitionFieldOfViewLabel", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0018, 0x11bc, 0x0018, 0x11bc, + EVR_SQ, "XRayFilterDetailsSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0018, 0x11bd, 0x0018, 0x11bd, + EVR_FD, "XAAcquisitionDuration", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0018, 0x11be, 0x0018, 0x11be, + EVR_CS, "ReconstructionPipelineType", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0018, 0x11bf, 0x0018, 0x11bf, + EVR_SQ, "ImageFilterDetailsSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0018, 0x11c0, 0x0018, 0x11c0, + EVR_CS, "AppliedMaskSubtractionFlag", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x0018, 0x11c1, 0x0018, 0x11c1, + EVR_SQ, "RequestedSeriesDescriptionCodeSequence", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0018, 0x1200, 0x0018, 0x1200, EVR_DA, "DateOfLastCalibration", 1, -1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -5638,6 +5710,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_FL, "RWaveTimeVector", 1, -1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0018, 0x6070, 0x0018, 0x6070, + EVR_US, "ActiveImageAreaOverlayGroup", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0018, 0x7000, 0x0018, 0x7000, EVR_CS, "DetectorConditionsNominalFlag", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -19462,6 +19538,10 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { EVR_DT, "ObservationDateTime", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } + , { 0x0040, 0xa033, 0x0040, 0xa033, + EVR_DT, "ObservationStartDateTime", 1, 1, "DICOM", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } , { 0x0040, 0xa040, 0x0040, 0xa040, EVR_CS, "ValueType", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, @@ -26285,11 +26365,11 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } , { 0x3006, 0x0044, 0x3006, 0x0044, - EVR_DS, "ContourSlabThickness", 1, 1, "DICOM", + EVR_DS, "RETIRED_ContourSlabThickness", 1, 1, "DICOM/retired", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } , { 0x3006, 0x0045, 0x3006, 0x0045, - EVR_DS, "ContourOffsetVector", 3, 3, "DICOM", + EVR_DS, "RETIRED_ContourOffsetVector", 3, 3, "DICOM/retired", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } , { 0x3006, 0x0046, 0x3006, 0x0046, @@ -26301,7 +26381,11 @@ static const DBI_SimpleEntry simpleBuiltinDict[] = { DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } , { 0x3006, 0x0049, 0x3006, 0x0049, - EVR_IS, "AttachedContours", 1, -1, "DICOM", + EVR_IS, "RETIRED_AttachedContours", 1, -1, "DICOM/retired", + DcmDictRange_Unspecified, DcmDictRange_Unspecified, + NULL } + , { 0x3006, 0x004a, 0x3006, 0x004a, + EVR_SQ, "SourcePixelPlanesCharacteristicsSequence", 1, 1, "DICOM", DcmDictRange_Unspecified, DcmDictRange_Unspecified, NULL } , { 0x3006, 0x0050, 0x3006, 0x0050, diff --git a/dcmrt/libsrc/drtcs.cc b/dcmrt/libsrc/drtcs.cc index 7b31e02279..b7c6020540 100644 --- a/dcmrt/libsrc/drtcs.cc +++ b/dcmrt/libsrc/drtcs.cc @@ -1,13 +1,14 @@ /* * * Copyright (C) 2008-2012, OFFIS e.V. and ICSMED AG, Oldenburg, Germany - * Copyright (C) 2013-2017, J. Riesmeier, Oldenburg, Germany + * Copyright (C) 2013-2021, J. Riesmeier, Oldenburg, Germany * All rights reserved. See COPYRIGHT file for details. * * Source file for class DRTContourSequence * * Generated automatically from DICOM PS 3.3-2017e * File created on 2017-12-05 09:30:54 + * Last modified on 2021-02-01 by Riesmeier * */ @@ -21,13 +22,13 @@ DRTContourSequence::Item::Item(const OFBool emptyDefaultItem) : EmptyDefaultItem(emptyDefaultItem), - AttachedContours(DCM_AttachedContours), + AttachedContours(DCM_RETIRED_AttachedContours), ContourData(DCM_ContourData), ContourGeometricType(DCM_ContourGeometricType), ContourImageSequence(emptyDefaultItem /*emptyDefaultSequence*/), ContourNumber(DCM_ContourNumber), - ContourOffsetVector(DCM_ContourOffsetVector), - ContourSlabThickness(DCM_ContourSlabThickness), + ContourOffsetVector(DCM_RETIRED_ContourOffsetVector), + ContourSlabThickness(DCM_RETIRED_ContourSlabThickness), NumberOfContourPoints(DCM_NumberOfContourPoints) { }