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-1MULTI-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 parallel planes (3D volume set) 3D_TEMPORAL Temporal loop of parallel-plane 3D volume sets.
Dimension Index Sequence (0020,9222) 1 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.
>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 the 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) 1C 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. Required if the value of the Dimension Organization Sequence (0020,9221) contains Items
>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) stores ordinal numbers that comprise logical indices for a referenced Attribute. 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. Frames assigned the same index shall contain nominally the same value for the underlying Attribute. If the 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.

Notes: 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) which 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.

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.

[pic]

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

C.7.6.17.2 Dimension Organization UID

The Dimension Organization UID (0020,9164) value identifies a set of dimensions to which an Item of the Dimension Index Sequence (0020,9222) belongs.

When different SOP Instances share the same Dimension Organization UID (0020,9164) for a particular Item of the Dimension Index Sequence (0020,9222), equivalent indices from the corresponding Dimension Index Values (0020,9157) shall have the same meaning across the SOP Instances.

This mechanism allows an image creator to explicitly specify that indices are intended to convey identical information across SOP Instances.

The Dimension Organization Sequence attribute (0020,9221) contains a summary of all the Dimension Organization UID (0020,9164) values used in a SOP Instance.

Note: Figure C.7.6.17-2 illustrates how this is used for a SOP Instance created by a multi-planar reformat application from a SOP Instance containing three Items in the Dimension Index Sequence. The meaning of the indices for Temporal Position Index (0020,9128), and MR Echo Sequence (0018,9114) were preserved in the derived SOP Instance, so it shares the Dimension Organization UID for these attributes with the original. Since the reformat was performed with a different orientation, the meaning of the In-Stack Position Number (0020,9057) was not preserved. Therefore a new Dimension Organization UID (0020,9164) was created.

[pic] Figure C.7.6.17-2 Example of use of Dimension Organization Module