Multi-Frame Functional Groups

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

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS DICOM C++ Class Library Help