DICOM PS3.3 2019c - Information Object Definitions

C.7.6.17 Multi-frame Dimension Module

The Multi-frame Dimension Module contains a Sequence with Items pointing to Attributes defining a set of dimensions that are usually known prior to the acquisition commencing. It is up to the generating applications to decide what Attributes are important to describe the multi-frame dimensions.

The application that generates the Concatenation or SOP Instances may use the order of Dimension Index Pointers (0020,9165) in the Dimension Index Sequence (0020,9222) to guide the receiving application in determining the order of the presentation of image frames. The first index has the highest ranking, the next index has a lower ranking, etc. Frames with higher values for the dimension with the highest ranking would only be presented after all frames that have values for Dimension Index Pointers (0020,9165) of the lower rankings have been presented.

If the set of Dimension Index Pointers does not provide an Attribute set whose values are unique for each frame then the order for the frames with the same value set will be incompletely specified. The receiving application could use the logical frame number to resolve this ambiguity. If the Attribute set contains more dimensions than are needed to specify a unique ordering, the lower order ranking Attribute(s) will have no effect on the ordering.

Note

For example if there were the following indices in the following order:

  • Stack ID (1-3)

  • In-stack Position Number (1-2 for Stack ID 1, 1-4 for Stack ID 2, 1-3 for Stack ID 3)

  • Effective Echo Time (1-2), i.e., every slice has been scanned with 2 different effective echo's

Then the frames could be presented in the following order:

(Stack ID, In-stack Position, Effective Echo Time)

(1,1,1), (1,1,2), (1,2,1), (1,2,2),

(2,1,1), (2,1,2), (2,2,1), (2,2,2), (2,3,1), (2,3,2), (2,4,1), (2,4,2)

(3,1,1), (3,1,2), (3,2,1), (3,2,2), (3,3,1), (3,3,2)

The actual order of the frames in the object is up to the generating application.

If the effective echo time was not included in the Dimension Index Pointers in the above example then the order of sorting for the frames with the same indices will be undefined - in this case there would be 2 frames with the index set (Stack ID, In-stack Position) = (1,1) and the order of these frames is not specified.

If there were another Attribute appended to the Dimension Index Pointers, for example TR, then the TR index would not be used in determining the order of the frames. So the Index Frame Pointers would contain (Stack ID, In-stack Position, Effective Echo Time, TR) but the TR index would be irrelevant for frame ordering purposes.

Table C.7.6.17-1 specifies the Attributes of the Multi-frame Dimension Module.

Table C.7.6.17-1. Multi-frame Dimension Module Attributes

Attribute Name

Tag

Type

Attribute Description

Dimension Organization Sequence

(0020,9221)

1

Sequence that lists the Dimension Organization UIDs referenced by the containing SOP Instance. See Section C.7.6.17.2 for further explanation.

One or more Items shall be included in this Sequence.

>Dimension Organization UID

(0020,9164)

1

Uniquely identifies a set of dimensions referenced within the containing SOP Instance. See Section C.7.6.17.2 for further explanation.

Dimension Organization Type

(0020,9311)

3

Dimension organization of the instance.

Defined Terms:

3D

Spatial Multi-frame image of equally spaced parallel planes (3D volume set)

3D_TEMPORAL

Temporal loop of equally spaced parallel-plane 3D volume sets.

TILED_FULL

Tiled image in which each frame represents a single tile and the spatial positions of the tiles are implicitly defined as per Section C.7.6.17.3.

TILED_SPARSE

Tiled image in which each frame represents a single tile and the spatial positions of tiles are explicitly defined by per-frame Functional Group Macro entries.

Dimension Index Sequence

(0020,9222)

1C

Identifies the Sequence containing the indices used to specify the dimension of the multi-frame object.

One or more Items shall be included in this Sequence.

Required if Dimension Organization Type (0020,9311) is absent or not TILED_FULL. May be present otherwise.

>Dimension Index Pointer

(0020,9165)

1

Contains the Data Element Tag that is used to identify the Attribute connected with the index. See Section C.7.6.17.1 for further explanation.

>Dimension Index Private Creator

(0020,9213)

1C

Identification of the creator of a group of Private Data Elements.

Required if the Dimension Index Pointer (0020,9165) value is the Data Element Tag of a Private Attribute.

>Functional Group Pointer

(0020,9167)

1C

Contains the Data Element Tag of the Functional Group Sequence that contains the Attribute that is referenced by the Dimension Index Pointer (0020,9165).

See Section C.7.6.17.1 for further explanation.

Required if the value of Dimension Index Pointer (0020,9165) is the Data Element Tag of an Attribute that is contained within a Functional Group Sequence.

>Functional Group Private Creator

(0020,9238)

1C

Identification of the creator of a group of Private Data Elements.

Required if the Functional Group Pointer 0020,9167) value is the Data Element Tag of a Private Attribute.

>Dimension Organization UID

(0020,9164)

1

Uniquely identifies a set of dimensions referenced within the containing SOP Instance. In particular the dimension described by this Sequence Item is associated with this Dimension Organization UID. See Section C.7.6.17.2 for further explanation.

>Dimension Description Label

(0020,9421)

3

Free text description that explains the meaning of the dimension.


C.7.6.17.1 Dimension Indices

With the Dimension Index Sequence (0020,9222), Data Element Tags are specified that identify the indices used for a particular SOP Instance.

The actual index values for each frame in a multi-frame header are stored in a single Dimension Index Values Attribute (0020,9157) defined in the Frame Content Functional Group. For each SOP Instance this Attribute has a Value Multiplicity equal to the number of Items in the Sequence. The ordering of the Items in the Sequence defines the ordering in the Dimension Index Values Attribute: Item 1 of the Sequence relates to Value 1, Item 2 to Value 2, etc.

The Dimension Index Pointer (0020,9165) references a single Attribute that describes the actual values that define the dimension. Each Attribute referenced in the Dimension Index Sequence (0020,9222) will have an index stored in the Dimension Index Values (0020,9157) for each frame. Each index value is an ordinal number starting from 1 and monotonically increasing by 1 within the scope of a Dimension Organization UID (0020,9164). These values are independent of the actual values of the Attribute referenced by the Dimension Index Pointer (0020,9165), i.e., the index values are logical indices, rather than actual indices. Frames assigned the same index shall contain nominally the same value for the referenced Attribute. If the referenced Attribute is not present for some frames, or is present but has no value, then a single index shall be assigned to indicate the lack of the value (i.e., all such frames shall have the same index value, which is different from other index values). It is at the discretion of the SOP Instance creator whether the Attribute values are equivalent, and therefore appropriate for assignment to the same index value.

The Dimension Index Pointer (0020,9165) shall contain the Data Element Tag (gggg,eeee) of the Attribute being indexed.

The Dimension Index Pointer (0020,9165) shall not contain the Data Element Tag for Frame Content Sequence (0020,9111) or Dimension Index Values (0020,9157).

Note

  1. Dimension Index Pointer (0020,9165) may point to a Sequence containing a Functional Group. In that case all the Attributes of the Sequence are associated with the index value.

  2. The Dimension Index Pointer (0020,9165) may point to a Data Element Tag (gggg,eeee) that is not present for all frames of an object, or does not have a value for all frames of an object. For such frames, index values are still assigned, as described above.

  3. The indices used in the Dimension Index Values (0020,9157) may or may not be identical to the value of indexed Attribute referenced by Dimension Index Pointer (0020,9165). For example, if the referenced Attribute is itself encoded in an index-like fashion (being an ordinal number starting from 1), such as In-Stack Position Number (0020,9057), then index value 1 would typically correspond to In-Stack Position Number (0020,9057) value 1. On the other hand, if the referenced Attribute encodes some physical measure, such as a time or distance, or a categorical value, such as a string describing the phase of contrast, or a more complex description such as an entire Functional Group, then the index value is independent of the encoded value.

  4. The scope of the values of Dimension Index Pointer (0020,9165) is defined to be within a single Dimension Organization UID (0020,9164). If the same Dimension Organization UID (0020,9164) is present in multiple Instances (whether part of a Concatenation or not), at least one of those Instances (though not necessarily every Instance) will contain a value of 1 for the Dimension Index Values (0020,9157).

The Functional Group Pointer (0020,9167) value is the Data Element Tag (gggg,eeee) of the Functional Group Sequence that contains the Attribute being indexed. If the Dimension Index Pointer 0020,9165) contains a Data Element Tag that identifies a Functional Group Sequence then the Functional Group Pointer (0020,9167) shall not be present.

If the Dimension Index Pointer (0020,9165) Attribute contains a Private Data Element, then the Dimension Index Private Creator (0020,9213) shall contain the Private Creator of the block of Private Data Elements.

If the Functional Group Pointer (0020,9167) Attribute contains a Private Data Element, then the Functional Group Private Creator (0020,9238) shall contain the Private Creator of the block of Private Data Elements.

Note

An example of the usage of the Dimension Index Sequence (0020,9222) and Dimension Index Values (0020,9157) Attributes:

Dimension Index Sequence (0020,9222) specifies two indices:

  • Cardiac Trigger Delay Time (0020,9153)

  • Image Position (Patient) (0020,0032)

The Dimension Index Sequence (0020,9222) is filled with the following contents:

Item

Attribute

Value

1

Dimension Index Pointer

(0020,9153)

Functional Group Pointer

(0018,9118)

2

Dimension Index Pointer

(0020,0032)

Functional Group Pointer

(0020,9113)

The Dimension Index Values (0020,9157) (in the Frame Content Functional Group) for each frame consists of two values:

Index of Cardiac Trigger Delay Time \ Index of Image Position

The SOP Instance creator is responsible for maintaining consistency between the actual value of the Attribute listed as the Dimension Index Pointer (0020,9165) and the corresponding value in the Dimension Index Values (0020,9157) Attribute.

See Figure C.7.6.17-1 for an illustration of this example.

Example of Dimension Index Sequence and Dimension Index Values Attributes

Figure C.7.6.17-1. Example of Dimension Index Sequence and Dimension Index Values Attributes


DICOM PS3.3 2019c - Information Object Definitions