DICOM in MeVisLab¶
This document is a basic reference for MeVisLab related DICOM (Digital Imaging and Communications in Medicine) functionality. This includes
- References - References to external web sites.
- Import - Loading DICOM files from disk and - if necessary - compose or convert multiple DICOM files to ML image or MultiFileVolumes.
- Image and Tag Processing - Manipulating DICOM information and image data in DICOM files.
- Export - Deriving DICOM files from existing ones or creating new ones and exporting them to files.
- MeVisLab Communication with a PACS - The communication of MeVisLab, MeVisLab modules or services with a PACS or DICOM servers.
- External Tools - Standalone tools distributed together with MeVisLab.
- Anonymization - Ensuring that no undesired information (for example about patients) is left in DICOM files.
- Programming Support - Tools, Libraries, Sources, Interfaces, and Examples for C++ and Python DICOM programmers.
- Glossary - A DICOM related summary of many keywords, abbreviations, tools, modules etc. used in MeVisLab, also useful as an FAQ.
DICOM References¶
Some important DICOM web sites with much more information about DICOM:
- The DICOM Standard Reference: http://medical.nema.org/Dicom/ and http://medical.nema.org/standard.html
- David Clunie’s Medical Image Format Site: http://www.dclunie.com/
- A DICOM Tag and Data Dictionary without explanations: http://medical.nema.org/Dicom/2011/11_06pu.pdf
- Information Object Definitions defining DICOM tag meanings: http://medical.nema.org/Dicom/2011/11_03pu.pdf
- Easy search an lookup for DICOM tags and their meanings: http://www.dicomlookup.com/default.htm
DICOM Import¶
Importing DICOM files from a file system is probably the most typical problem related to DICOM. MeVisLab provides a number of tools for this purpose which have different advantages and disadvantages. Start with the following modules and tools:
DicomBrowser
- Browses in a set directory for image and result data, and shows a list of available files for output selection.DicomImport
- Converts image-like DICOM files to DICOM/Tiff File FormatDirectDicomImport
- Imports DICOM and other file types and providing them as MultiFileVolumes.- eatDicom - A standalone command line tool that converts image-like DICOM files to DICOM/Tiff File Format files.
ImageLoad
- Reads image-like single DICOM or DICOM/Tiff files as well as many other file formats.itkImageFileReader
- Reads single image-like DICOM files as well as many other file formats.
Image and Tag Processing, Converters¶
ApplyDicomPixelModifiers
- Modifies ML image data according to (frame specific) DICOM tags such as Rescale Slope or Intercept, LUT palette, or Dose Grid Scaling.DicomConfigurableMessageFilter
- A configuration module which allows the suppression of different kinds of warning and error messages in import processes.DicomFrameSelect
- Extracts a 2D frame of the input image at a specified z/t/u position, together with the frame specific DICOM tags.DicomFrameTagInfo
- Displays information about the frame specific tag values stored in the input image’s DICOM tree for a given DICOM tag.DICOMFileListFilter
- Searches files containing DICOM information (which can be filtered withFileListFilterPlugin
).DicomLUT
- Generates a lookup table (LUT) object from the DICOM tags of the input image.DicomModifyCreateTree
- Builds a new DCMTree and passes it to the output connector as a MultiFileVolumeList.DicomModifyImageTagsPlugin
- Manipulates the image pixel tags in DICOM trees, for example to replace or crop image data in DICOM series.DicomModifySubTreeSelectorPlugin
- Selects DCMTree subtrees from a currently processed DCMTree which then are modified by appended DicomModify instances.DicomModifyTagsPlugin
- Provides a number of DICOM Tag manipulators which can be applied to DICOM Trees.DicomPaletteLUT
- Extracts the DICOM color palette from a DICOM tree and presents it as a lookup table (LUT) object at its output.DicomRescale
- Rescales ML image data to given given DICOM or a user-defined intercept, slope, and data type.DicomSetPatientInformation
- Sets patient and study information from a given reference image into DICOM images.DicomTagBrowser
- Displays the DICOM tags of its input image as a nice table.DicomTagModify
- Modifies the DICOM tags of its input image.DicomTagViewer
- Displays DICOM tags and their values associated of an ML image.DicomTimeTool
- Eases handling of date and time values from DICOM tags, e.g., from the AcquisitionDate and AcquisitionTime tags.DicomTreeInfo
- Shows basic information about a DICOM tree, provides a tag dump and search functionality to filter and extract DICOM Tag information; even private tag values can be extracted with appropriate filters.DICOMTreeItemModel
- A tree based viewer for DICOM tree and tags.DicomTreeCompare
- Allows a comparison of DICOM Trees objects, especially for testing purposes.DicomUIDGenerator
- Creates DICOM Unique Identifiers (UIDs).ModifyDicomTreeAndImage
- Allows the manipulation, combination, and/or separation of DICOM trees associated with ML images.- MultiFileVolumeList related modules which typically are used to handle sets and volumes of DICOM data sets:
MultiFileVolumeListBaseOutput
- Base class and module from which typical MultiFileVolumeList modules are derived.MultiFileVolumeListDiagnosisOutput
- Module providing some diagnosis functionality for MultiFileVolumeList modules.MultiFileVolumeListDOCOutput
- Module providing extraction functionality for PDF, STL, CDA, OBJ, and MTL documents from entries of a MultiFileVolumeList.MultiFileVolumeListDraftView
- A rendering module drawing a single or a set of DICOM volumes as wire frames into a 3D scene to get an impression about their orientations and locations in space and time.MultiFileVolumeListFIDOutput
- A converter of DICOM FID (fiducials) modality data to XMarkerLists.MultiFileVolumeListFilterOutputs
- Filters a MultiFileVolumeList by DICOM tags.MultiFileVolumeListImageOutput
- Taking out one image volume from a MultiFileVolumeList.MultiFileVolumeListIteratorOutput
- Iterator module to traverse sets or subsets of volumes of a MultiFileVolumeList.MultiFileVolumeListREGOutput
- Extracts registration matrices and other information from DICOM objects containing Spatial Registration information.MultiFileVolumeListRTOutput
- Extracts RT objects for further processing with RT (Radio Therapy) related modules (see below).MultiFileVolumeListSEGOutput
- Extracts DICOM SEG (Segmentation) objects as ML images from a MultiFileVolumeList for further image processing.MultiFileVolumeListSMImageOutput
- Extracts Whole Slide Microscopy information and composes an image output with all tiles composed.MultiFileVolumeListSROutput
- Extracts DICOM SR (Structured Report) Information from a MultiFileVolumeList as human readable HTML.MultiFileVolumeListWaveformOutput
- Extracts DICOM ECG (Electrocardiography) or DICOM AU (Audio) information from a MultiFileVolumeList for further processing with Curve or XMarkerList modules.- Radio Therapy related modules:
- RT To ML:
RTDoseToML
,RTImageToML
,RTStructToML
- ML To RT:
MLToRTStruct
,MLToRTStructureSetConverter
- RT Info:
RTDoseInfo
,RTImageInfo
,RTIonPlanInfo
,RTPlanInfo
,RTPlanInfo
,RTRecordInfo
,RTStructInfo
.
DICOM Export¶
Available tools and modules:
DicomDOCSave
- Creates DICOM compliant files encapsulating a given CDA, PDF, STL, OBJ, or MTL file.DicomEnhancedSave
- Creates DICOM compliant Legacy Converted Enhanced MR files.DicomFIDSave
- Creates DICOM compliant files of modality FID (fiducials).DicomREGSave
- Creates DICOM compliant files of modality REG to store registration deformation fields.DicomSEGSave
- Creates and composes a DICOM file of modality SEG and provides/composes the necessary tags to fulfill the DICOM standard requirements.DicomSCSave
- Creates DICOM compliant Secondary Capture DICOM files.DicomSRSave
- Creates DICOM compliant files of modality SR (Structured Report).DicomModifyMultiFileVolumeExport
- Exports a DICOM MultiFileVolume as files into a destination directory after applying connected DICOM tag modifiers.DicomTool
- Combines several often needed DICOM tools: saving of single DICOM slices, sending of data to a PACS, modifying of DICOM Tags, and verifying DICOM connectivity.ImageSave
- Stores an ML image in one of many common files formats including DICOM.SaveDicomTree
- Saves a DicomTree tree as DICOM file.- Radio Therapy related modules:
MeVisLab Communication with a PACS¶
DicomQuery
- A simple browser for a DICOM Query/Retrieve Service Class Provider.DicomReceiver
- An interface to the OFFIS storescp application which allows to receive DICOM images from any networked DICOM Storage Service Class User.
External Tools¶
- eatDicom
- Median (not part of all MeVisLab installations)
- Command line Tools of Dcmtk
- PACS communication (not available in all MeVisLab installers):
- Conversion, tag dump, and further tools (not available in all MeVisLab installers):
- Between DICOM and JSON, CDA, XML, PDF, NII, PNM, ASCII, STL, or image formats: cda2dcm, dcm2xml, dcm2stl, xml2dcm, dcm2pdf, pdf2dcm, dcm2nii, dcmj2pnm, dcm2pnm, dcm2json, dcmcjpeg, dcmdjpeg, img2dcm, dcmconv
- dcmftest: Tests whether a file uses DICOM part 10 format.
- dcmgpdir: Creates a general purpose DICOMDIR.
- dcmodify: Modifies DICOM files.
- uuid: Creates a DICOM UID.
- dcmdump: Dumps DICOM file and data set.
- dump2dcm: Converts ASCII dump to DICOM file.
- dcmcrle, dcmdrle: Encodes/Decodes DICOM file to/from RLE-compressed DICOM file.
- as well as further tools: dcmgpdir, dcmicmp, dcmmkdir, dcmquant, dcmrecv, dcmscale.
Anonymization¶
Anonymization means in this context the removal or the replacement of all patient specific information from a medical data set (for example a DICOM file). The resulting file does not contain any more information which allow the inferring of the patient’s identity (e.g., PatientName, PatientBirthDate).
A more general anonymization will also remove or replace information about the institution where the data set came from, or when the image data were obtained.
In MeVisLab, * DicomDeidentify
performs anonymization of DICOM data according to DICOM standard PS 3.15 annex E. DicomTagModify
or DicomModifyTagsPlugin
can also be used for this purpose if only a few tags shall be modified. In some versions of MeVisLab, the anonymization tool Median is also available.
Programming Support¶
The following projects in the MeVis/Foundation package contain the basic DICOM interface libraries in MeVisLab:
DCMTree Overview
- The abstract interface for most DICOM related implementations in MeVisLab. It is independent of a library such as dcmtk or gdcm.- DicomTree_OFFIS - The concrete backend implementation for Dicom Tree using dcmtk for all low level DICOM operations. It should not be used directly.
The following projects in the FMEwork/ReleaseMeVis package contain tool functions and (base) classes for DICOM related developments, using Dicom Tree:
MLDICOMTags Overview
MLDICOMCachedIO Overview
MLMultiFileVolume Overview
MLMultiFileVolumeListOutputs Overview
The following projects also have SDK interfaces and public sources which might be useful for DICOM related developments, using Dicom Tree:
MLDicomAnalysis Overview
MLDicomAnalysisWork Overview
MLDICOMCachedIO Overview
MLDicomMessageFilter Overview
MLDicomModify Overview
MLDicomOutputs Overview
MLDicomModifyFieldAddOns Overview
MLDicomTagInterfaces Overview
MLDICOMTags Overview
MLDicomToMLTools Overview
MLDirectDicomImport Overview
MLFileListTools Overview
MLFileReaderPluginsBase Overview
MLFileReaderPlugins Overview
MLGDCMPrivateDICOMTagDecoders Overview
MLGenericPrivateDICOMTagDecoders Overview
MLMLToDicomTools Overview
MLMRSASCIITagDecoders Overview
MLMultiFileVolume Overview
MLMultiFileVolumeListConverters Overview
MLMultiFileVolumeListInventorOutputs Overview
MLMultiFileVolumeListRTOutputs Overview
MLPMTFToshibaPrivateDICOMTagDecoders Overview
MLPrivateDICOMTagDecoders Overview
MLPrivateSequenceDICOMTagDecoders Overview
The following libraries directly use dcmtk (and not the Dicom Tree abstraction interface):
ml.DcmtkAccessories
ml.DcmtkBaseObjects
ml.DcmtkMLConverters
MLMultiFileVolumeListDcmtkOutputs Overview
The following C++ libraries implement wrappers for some DirectDicomImport
and MultiFileVolume classes
as well as for dcmtk-based interfaces. In this way these classes can directly be used in Python:
MLAccessDirectDicomImportWrapper
ToolBoxReference/MLDirectDicomImportWrappersDocPage
ToolBoxReference/MLMultiFileVolumeListWrapper
ToolBoxReference/MLDirectDicomImportWrapper
ToolBoxReference/MLDirectDicomImportOutputWrapper
ToolBoxReference/MLDirectDicomImportVolumeReferenceWrapper
- In the directory FMEwork/ReleaseMeVis/Sources/Wrappers/MLDcmtkIODWrappers/ there is also a number of wrappers for IOD classes of dcmtk.
Glossary¶
This glossary lists some often used DICOM abbreviations, keywords, and questions related to MeVisLab. For a more detailed list see http://www.dclunie.com/dicom-status/status.html#BaseStandard2011, Section 3 - Definitions.
ACR-NEMA:
The abbreviation of American College of Radiology and the National Electrical Manufacturers Association. In DICOM contexts this often refers the older standard of ACR-NEMA file format used for medical images. DICOM almost always is able to operate on ACR-NEMA files as it can do it on DICOM files, because a backward compatibility is normally given.
Anonymization:
Usually this means the removal or replacement of patient information, but is sometimes used in other similar contexts. See Anonymization for details.
Composite IOD:
A Composite IOD (simplified) is an IOD which represents several real world entitites. As an example the Composite IOD CT is built from the Patient, the General Study, General Series, and many other modules.
Dcmtk
The DICOM ToolKit, an open source library dedicated for C++-development of DICOM. See http://support.dcmtk.org/docs/ for details. It is used in MeVisLab mostly as backend for DICOM file IO, but in many places also directly for advanced DICOM operations.
DICOM Standard
The central definition of the meaning, structure, and usage of DICOM, see http://www.dclunie.com/dicom-status/status.html#BaseStandard2017 and http://www.dclunie.com/dicom-status/status.html for details. It can be considered a revised ACR-NEMA standard.
DICOM Tag
All information in a DICOM file is organized as small information entities called DICOM Tags. Each of those tags is composed of a Tag ID and a Tag Value of a specific Value Representation. There are some different types of tags: Private Creator Tags, Private Tags, Standard Tags, and Sequence Tags. All typical DICOM files generated from a modality such as CT, MR, etc., are composed of DICOM tags. See also
DCMTree::Tag
.
DICOM Tag Dictionary
A dictionary of all standard DICOM tags can be found in many places in the web, examples are http://www.dicomlookup.com/default.htm or the standard itself where also a more complex context description of all tags can be found.
DICOM/Tiff File Format
A proprietary MeVisLab file format storing DICOM information together with a paged TIFF file in a DICOM/TIFF file pair. It stores multi-dimensional image data of 8, 16, 32 bit (un)signed integer values or floating point values, and all non-pixel data DICOM tags as a second file. This way, a large number of DICOM files can be represented as a single file pair.
DICOM Tree
In most C++ implementations in MeVisLab, DICOM files and tags are implemented using classes from the
DCMTree
library which contains interface classes hiding the application code from the actually used DICOM library (currently dcmtk). Loaded DICOM files in MeVisLab are represented by a class calledDCMTree::Tree
from which each one is built of DICOM Tags of class typeDCMTree::Tag
. Both classes are heavily used to implement most algorithms on DICOM tags.
DICOM UID
A DICOM UID is Unique Identifier which is used to identify uniquely objects such instances, files, class types etc. A UID used for one object may never be used for another object. Therefore is can safely be used to reference another object in the world. It is always build from numbers and separating dots “.”, such as 1.2.840.10008.5.1.4.1.1.2 which identifies the CT Image Storage Service-Object Pair SOP. The length of UIDs must not exceed 64 bytes.
eatDicom
An old command line tool used to compose and convert sets of image-like DICOM files to the proprietary MeVisLab DICOM/Tiff File Format. It is used by
DicomImport
. It should only be used for backward compatibility; it does not support newer concepts are not supported any more.
Element ID
See Tag ID.
Enhanced Multiframe DICOM
This is an advanced DICOM Standard to embed multiple DICOM frames belonging to multiple series or volumes in one or more files. Such Multi-frame DICOM files require a more sophisticated approach to import them correctly, because their pixels data is no contiguous block any more which can easily be interpreted as a single image volume. The import module
DirectDicomImport
therefore decomposes such files into all of its frames and handles them as a large number of single frame DICOM files instead. See option Decompose Multi Frame Files inDirectDicomImport
.
Frame
In the DICOM context a frame usually describes a 2D dimensional gray level or color image. It is often described as a Single frame DICOM image.
Frame of Reference
Typically stored as a DICOM Tag, the Frame of Reference is an identifier specifying another DICOM object with a UID. This way a DICOM file, for example, may depend on other information of another DICOM file, or a series of files may share some common information in another file without duplicating information.
- gdcm
- The Grassroots DICOM library. A C++ open source DICOM library used in ITK versions for DICOM IO and therefore also indirectly by MeVisLab modules.
- Internally the gdcm is needed by MeVisLab to load JPEG2000 compressed DICOM images.
- See http://gdcm.sourceforge.net/wiki/index.php/Main_Page for details.
Group ID
See Tag ID.
IE
An Information Entity (IE) in the DICOM sense is a portion of data related to a real-world object. Such entities are usually used to as smaller components of a Composite IOD.
DICOM Unique Identifier (UID)
A unique identification string or number which can be referenced by someone else to identify safely a specific object. This concept is used by DICOM in many contexts, but typically to assign world-wide unique identifier to files, objects, cases, studies, series, images, frames, or a medium. For example, a DICOM object can use a Frame of Reference tag with an ID of another DICOM object containing the ID as DICOM Unique Identifier. This way multiple DICOM objects can be handled independently of each other without losing the information about their togetherness.
IOD
See Part 3: Information Object Definitions of the DICOM Standard, ftp://medical.nema.org/medical/dicom/2011/11_03pu.pdf, which describes it as “a data abstraction of a class of similar real-world objects which defines the nature and attributes relevant to the class of real-world objects represented”. There are “normal” IOD and Composite IOD.
Median
An anonymization tool for DICOM files available in some MeVisLab version. See Anonymization for details.
Modality
The type of equipment that originally acquired the data of the DICOM files, such as CT (Computed Tomography), MR (Magnetic Resonance), OT (Other) US (Ultrasound), SR (Structured Report Document), and many more.
MultiFileVolume
Older MeVisLab tools or applications used to convert DICOM files to the DICOM/Tiff File Format before it could be loaded in MeVisLab for further processing. This, however, has many disadvantages such as data duplication or that only image-like DICOM files can be imported and Enhanced Multiframe DICOM file formats are not supported.
Those problems are solved by creating a MultiFileVolume referencing the original (DICOM) file set and representing it as one (image) volume in MeVisLab. Loaders for MultiFileVolumes such as
DirectDicomImport
orMultiFileVolumeListImageOutput
provide a demand-driven access to the original input file set. Therefore a MultiFileVolume can be added to the original data for an easier and better organized access.Modules such as
DirectDicomImport
orMultiFileVolumeListImageOutput
do not only create or read single MultiFileVolume instances but MultiFileVolumeLists. This allows to handle multiple DICOM series or studies in one file set.
MultiFileVolumeList
A list of MultiFileVolume objects. It is the data structure created or passed between modules operating on MultiFileVolume. Such lists are also the typical used for caching imported MultiFileVolume objects (usually created by
DirectDicomImport
). Many MultiFileVolume related modules accept these lists either via input connector or as cache file on disc.
Multi-frame DICOM
In the recent years the amount of DICOM images in clinical contexts has rapidly increased. The common approach to represent each 2D DICOM image / Frame as a Single frame DICOM causes more and more trouble due to the huge number of resulting files.
Therefore the DICOM Standards has introduced multi-frame DICOM files which can contain multiple Frames in one file for more compact and faster access. The common multi-frame files can easily be loaded comparably to a three or four dimensional image. However, some multi-frame parts also allow to embed multiple Frames belonging to multiple image volumes in one file. Such Enhanced multi-frame DICOM files require a more sophisticated approach to import them correctly.
Overlay
Many DICOM files contain overlays next to image information. These are bit images which are used to display additional information on top of a normal DICOM image or frame. Typically they are used to add annotations, masks, frame locations, orientation information, but also segmentation information, etc. The modules
DirectDicomImport
,MultiFileVolumeListImageOutput
, andApplyDicomPixelModifiers
have an addition output for displaying those overlays.
PACS
PACS stands for Picture Archiving and Communication System.
A system typically used in clinical environments for the management of clinical and patient data, as well as DICOM (image) data bases. See http://en.wikipedia.org/wiki/Picture_archiving_and_communication_system for details.
Private Creator
Private tags in a DICOM file shall always be attached to a private creator. A private creator must have the same odd Group ID as the private tag and its Element ID must be zero in the upper eight bits and the lower eight bits must be identical with the upper eight bits of the element ID of the Private tags.
An example with a private creator defining the private tag group with the group ID 0019 and the element ID group with 10 as upper eight bits. In this private creator group up to 240 tags can be stored with the ids (0019,1000) up to (0019,10FF):
(0019,0010) LO [PrivateCreator]:MY_OWN_UNIQUE_PRIVATE_CREATOR_DEFINITION(0019,1008) CS [Private Tag: Unknown meaning, MY_OWN_UNIQUE_PRIVATE_CREATOR_DEFINITION]:This is a private tag value(0019,1009) LO [Private Tag: Unknown meaning, MY_OWN_UNIQUE_PRIVATE_CREATOR_DEFINITION]:This is another private tag valueWithout the corresponding Private Creator, the two private tags would be orphaned and therefore meaningless. The string MY_OWN_UNIQUE_PRIVATE_CREATOR_DEFINITION should be ‘as unique as possible’ to avoid that any other vendor or manufacturer uses the same one.
Private Tag
A private DICOM tag which has an odd Tag ID is a so called Private Tag. The meaning of its value is not defined by the DICOM Standard but by a proprietary institution or software. Its contents, meanings, and usage are of no public use. Although the values of some private tags are readable, the contents of binary values of private tags normally cannot be displayed easily, because vendors may store arbitrary data in them.
Note
A private tag can be identified only by its Private Creator together with its Tag ID whose upper 24 bits must match the Group ID and the lower eight bits of the Element ID.
A typical error is that a private tag is created or identified only by its ID which is insufficient. See Private Creator for details.
MeVisLab has manipulators, creators, decoders, and base classes for some private DICOM tag types. See Private DICOM Tag Decoders for further information.
Private DICOM Tag Decoders
MeVisLab allows the implementation of decoders for private binary tags. See the base class
PrivateDICOMTagDecoderPluginBase
from which new decoders can be derived and registered in the runtime type system of MeVisLab. Many, not all, tag dump functions in MeVisLab detect such decoders and can decode such tags. Modules such asDirectDicomImport
orMultiFileVolumeListImageOutput
allow the activation of these decoders with a flag in their user interface. See C++-implementation documentation of some private tag decoders forGDCM
,Generic
,Toshiba
, andSequence
and anoverview
about such decoders.
- Query
Raw Tag ID
See Tag ID.
Rescale Intercept and Rescale Slope
Rescale Intercept and Rescale Slope are normally understood as factor and offset for pixel values of DICOM images. If a DICOM image file contains Rescale Intercept and Rescale Slope tags then any stored pixel must be multiplied with the Rescale Intercept value and Rescale Slope must be added to get the actual pixel value for further processing.
- Retrieve
- Sequence Tag
SCP
Service Class Provider (similar to a server).
SCU
Service Class User (similar to a client).
Single frame DICOM
A single frame DICOM file usually contains a 2D dimensional gray level or color image. This is a very commonly used DICOM file type. To describe higher dimensional image data, a set of these files is needed. In recent years such file sets are replaced more and more by so-called Multi-frame DICOM.
MeVisLab usually needs a DICOM Import process to be able to interpret single and multi-frame DICOM correctly as a compound image volume.
SOP
A Service-Object Pair. For a detailed description, please refer to DICOM Standard: ftp://medical.nema.org/medical/dicom/2011/11_03pu.pdf, section 6.5.
Standard Tag
A standard tag is a DICOM Tag whose meaning, usage, and Value Representation is well defined in the DICOM Standard in contrast to Private Tags whose meaning and data is vendor or user specific. Standard tags have an even Group ID and are usually well described in references such http://www.dicomlookup.com/default.htm. They are officially defined in http://medical.nema.org/Dicom/2011/11_03pu.pdf.
Tag ID
A usually hexadecimal identification number (for example (0008,0020): StudyDate) of a DICOM Tag composed of Group ID (0008,0020) and an Element ID (0008, 0020). Often a tag ID is also noted as a so-called
DCMTree::RawTagId
, a hexadecimal 32 bit unsigned integer value, for example 00080020. An odd Group ID describes a Private Tag, an even one a Standard Tag. See alsoDCMTree::TagId
.
Tag Type
The type of a DICOM Tag (not to be mixed up with Value Representation) describes whether a tag is mandatory (Type 1), mandatory but it may be empty (Type 2), or optional (Type 3) in its context. Type 1 and Type 2 tags also can be conditionally mandatory, for example only if another tag exists or has a specific value. Such conditional tags have either the type Type 1C or the Type 2C.
Tag Value
The part of a DICOM Tag containing the actual data value. A tag can have no, one, or multiple values, which all are of a specific type defined by the Value Representation of the tag. The Value Multiplicity of a tag defines how many values a tag shall have.
See also
DCMTree::Value
Value Multiplicity
A DICOM Tag has zero, one, or multiple Tag Values. The value multiplicity defines how many of such values are required or allowed for a tag (typically for Standard Tags).
Value Representation
The value of a DICOM Tag can store a number of different data configurations which are defined by the value representation of the tag. Most standard tags have value representations which are defined in the DICOM Standard (see DICOM Tag Dictionary for details) and which must not be changed. For Private Tags this is usually defined by the institution or software, and might not be known. See http://medical.nema.org/Dicom/2011/11_05pu.pdf, section 6.2 for a detailed description of all valid value representations.
See also
DCMTree::Vr