The following table lists the Information Object Definitions (IODs) that support multi-frames and the Multi-frame Functional Groups module
DICOM Specification Part 3 Annex A Table | IOD Class Constant | Description |
---|---|---|
A.8.3 | CLASS_SC_MULTI_FRAME_GRAYSCALE_BYTE_IMAGE_STORAGE | Secondary Capture Multi-Frame Grayscale Byte Image Storage |
A.8.4 | CLASS_SC_MULTI_FRAME_GRAYSCALE_WORD_IMAGE_STORAGE | Secondary Capture Multi-Frame Grayscale Word Image Storage |
A.8.5 | CLASS_SC_MULTI_FRAME_TRUE_COLOR_IMAGE_STORAGE | Secondary Capture Multi-Frame True Color Image Storage |
A.36.2 | CLASS_ENHANCED_MR_IMAGE_STORAGE | Enhanced MR Image Storage |
A.36.3 | CLASS_MR_SPECTROSCOPY_STORAGE | MR Spectroscopy Storage |
A.38.1 | CLASS_ENHANCED_CT_IMAGE_STORAGE | Enhanced CT Image Storage |
A.47 | CLASS_ENHANCED_XA_IMAGE_STORAGE | Enhanced X-Ray Angiographic Image Storage |
A.48 | CLASS_ENHANCED_XRF_IMAGE_STORAGE | Enhanced X-Ray RF Image Storage |
A.51 | CLASS_SEGMENTATION_STORAGE | Segmentation Storage |
A.52 | CLASS_OPHTHALMIC_TOMOGRAPHY_IMAGE_STORAGE | Ophthalmic Tomography Image Storage |
A.53 | CLASS_X_RAY_3D_ANGIOGRAPHIC_IMAGE_STORAGE | X-Ray 3D Angiographic Image Storage |
A.54 | CLASS_X_RAY_3D_CRANIOFACIAL_IMAGE_STORAGE | X-Ray 3D Craniofacial Image Storage |
Supplement 117 | CLASS_ENHANCED_PET_IMAGE_STORAGE | Enhanced PET Image Storage |
These IODs can store multiple frames or images. The Multi-frame Functional Groups module may have a Shared Functional Groups Sequence item, and/or a Per-frame Functional Groups Sequence item.
The Shared Functional Groups Sequence (5200,929) item has a single child item that stores global settings that apply to all the frames in the dataset.
The Per-frame Functional Groups Sequence (5200,9230) item has a child item for each frame that stores individual settings for that frame. For example, if there are five frames in the dataset, the Per-frame Functional Groups Sequence will have five items, each with possibly different settings.
Either of these items (Shared Functional Groups Sequence or Per-frame Functional Groups Sequence) may have a Pixel Value Transformation Sequence (0028,9145) item, or a Frame VOI LUT Sequence (0028,9132) item. The five DICOM_SETIMAGE_MFG flags can be used to add or modify existing information in the Pixel Value Transformation Sequence or the Frame VOI LUT Sequence.
Some or all of the five DICOM_SETIMAGE_MFG flags can be used in the following functions.
The following table describes the behavior of the DICOM_SET_IMAGE_FLAGS for LDicomDS::InsertImage, LDicomDS::InsertImageList, LDicomDS::SetWindow, LDicomDS::DeleteWindow, LDicomDS::SetModalityLUT, LDicomDS::DeleteModalityLUT.
Flag | Description |
---|---|
DICOM_SETIMAGE_MFG_OVERWRITE_SHARED | [0x0008] Existing elements under the Shared Functional Groups Sequence will be overwritten. If this flag is not included, Shared Functional Groups Sequence elements are unchanged. |
DICOM_SETIMAGE_MFG_VOI_LUT_PER_FRAME | [0x0010] If the Frame VOI LUT Sequence does not already exist, it is added under the Per-frame Functional Groups Sequence. If the Frame VOI LUT Sequence already exists under the Shared Functional Groups Sequence, this flag is ignored. |
DICOM_SETIMAGE_MFG_VOI_LUT_SHARED | [0x0020] If the Frame VOI LUT Sequence does not already exist, it is added under the Shared Functional Groups Sequence. If the Frame VOI LUT Sequence already exists under the Per-frame Functional Groups Sequence, this flag is ignored. |
DICOM_SETIMAGE_MFG_MODALITY_LUT_PER_FRAME | [0x0040] If the Pixel Value Transformation Sequence does not already exist, it is added under the Per-frame Functional Groups Sequence. If the Pixel Value Transformation Sequence already exists under the Shared Functional Groups Sequence, this flag is ignored. |
DICOM_SETIMAGE_MFG_MODALITY_LUT_SHARED | [0x0080] If the Pixel Value Transformation Sequence does not already exist, it is added under the Shared Functional Groups Sequence. If the Pixel Value Transformation Sequence already exists under the Per-frame Functional Groups Sequence, this flag is ignored. |
The following table describes the behavior of the DICOM_SET_IMAGE_FLAGS for LDicomDS::SetImage, LDicomDS::SetImageList
Flag | Description |
---|---|
DICOM_SETIMAGE_MFG_OVERWRITE_SHARED | [0x0008] This flag is ignored. |
DICOM_SETIMAGE_MFG_VOI_LUT_PER_FRAME | [0x0010] The Frame VOI LUT Sequence is added under the Per-frame Functional Groups Sequence. |
DICOM_SETIMAGE_MFG_VOI_LUT_SHARED | [0x0020] The Frame VOI LUT Sequence is added under the Shared Functional Groups Sequence. |
DICOM_SETIMAGE_MFG_MODALITY_LUT_PER_FRAME | [0x0040] The Pixel Value Transformation Sequence is added under the Per-frame Functional Groups Sequence. |
DICOM_SETIMAGE_MFG_MODALITY_LUT_SHARED | [0x0080] The Pixel Value Transformation Sequence is added under the Shared Functional Groups Sequence. |
The specific elements that are read or updated when using these flags are shown below:
(0028,9132) Frame VOI LUT Sequence Child Elements
Tag | Name |
---|---|
(0028,1050) | Window Center |
(0028,1051) | Window Width |
(0028,1055) | Window Center & Width Explanation |
(0028,9145) Pixel Value Transformation Sequence child elements
Tag | Name |
---|---|
(0028,1052) | Rescale Intercept |
(0028,1053) | Rescale Slope |
(0028,1053) | Rescale Type |
Note:
DICOM_SETIMAGE_MFG_VOI_LUT_PER_FRAME cannot be combined with DICOM_SETIMAGE_MFG_VOI_LUT_SHARED.
DICOM_SETIMAGE_MFG_MODALITY_LUT_PER_FRAME cannot be combined with DICOM_SETIMAGE_MFG_MODALITY_LUT_SHARED.
When using any of the LDicomDS functions that support the DICOM_SETIMAGE_MFG flags, Multi-frame Functional Groups are added (or updated) to the DICOM dataset if
The IOD supports Multi-frame Functional Groups
Multi-frame Functional Groups elements already exist in the DICOM dataset
These tags to not already exist at the top level:
TAG_WINDOW_CENTER
TAG_WINDOW_WIDTH
TAG_RESCALE_SLOPE
TAG_RESCALE_INTERCEPT
TAG_RESCALE_TYPE