DICOM PS3.3 2023d - Information Object Definitions

#### C.8.4.8 NM Multi-frame Module

Table C.8-7 specifies the Attributes of the NM Multi-frame Image. This Module is always included in a NM SOP Instance, even if there is only one frame in the image.

A NM Image object is always a multi-dimensional multi-frame image. The order and organization of the frames within each image is defined by the Frame Increment Pointer (0028,0009). The Frame Increment Pointer (0028,0009) references one or more indexing vectors. An indexing vector is a 1 dimensional array with exactly one element for each frame in the image. The value of the nth element in the indexing vector represents the index for the nth frame, in that dimension. Indices are always numbered starting from 1.

### Note

The scheme for encoding a multi-dimensional array of frames into a single image object is as follows. First, the definition of the Data Element called the Frame Increment Pointer is changed so that it can be multi-valued (i.e., its VM is now 1-n). Each value of Frame Increment Pointer represents one of the dimensions of the array, with the last value representing the most rapidly changing index. Each value of Frame Increment Pointer is the Tag of a Data Element that is an indexing vector. An indexing vector is a 1 dimensional array with exactly one element for each frame in the image. The value of the nth element in the indexing vector represents the index for the nth frame, in that dimension. For example, suppose you are encoding a Dynamic image consisting of 2 phases (containing 5 and 2 frames, respectively), from each of two detectors, using one isotope, which gives a total of 14 frames in the image. For a Dynamic image, the Frame Increment Pointer is defined as:Frame Increment Pointer = Energy Window Vector (0054,0010) \ Detector Vector (0054,0020) \ Phase Vector (0054,0030) \ Time Slice Vector (0054,0100). Pixel Data (7FE0,0010) would contain the frames in the following order:

 Frame 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Energy Window # 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Detector # 1 1 1 1 1 1 1 2 2 2 2 2 2 2 Phase # 1 1 1 1 1 2 2 1 1 1 1 1 2 2 Time Slice # 1 2 3 4 5 1 2 1 2 3 4 5 1 2

and the four vectors would be defined as:

Energy Window Vector = 1,1,1,1,1,1,1,1,1,1,1,1,1,1

Detector Vector = 1,1,1,1,1,1,1,2,2,2,2,2,2,2

Phase Vector = 1,1,1,1,1,2,2,1,1,1,1,1,2,2

Time Slice Vector = 1,2,3,4,5,1,2,1,2,3,4,5,1,2

The receiver can tell the relationship of all the frames from these four vectors. For instance, looking at the 11th value in these four vectors tells you that the 11th frame in this multi-frame object is time slice 4 of phase 1 from detector 2 and isotope 1.

The Energy Window, Detector, Phase, Rotation, R-R Interval, and Time Slot Vectors have corresponding Sequence Attributes that contain exactly one Sequence Item for each of the index values in the vector. The Sequence Item contains a set of Attributes that are specific to that group of frames, but change from one group to the next. In the above example there would be a detector Sequence Attribute, an isotope Sequence Attribute and a phase Sequence Attribute (for dynamics, no frame Sequence Attribute is needed). The detector and phase Sequence Attributes would contain two Sequence Items (because there were 2 detectors and 2 phases).

Table C.8-7. NM Multi-frame Module Attributes

Attribute Name

Tag

Type

Attribute Description

Frame Increment Pointer

(0028,0009)

1

Contains the Data Element Tags of one or more frame index vectors. See Section C.8.4.8.1.1 for further specialization.

Energy Window Vector

(0054,0010)

1C

An array that contains the energy window number for each frame. Required if the value of Frame Increment Pointer (0028,0009) includes the Tag for Energy Window Vector (0054,0010). See Section C.8.4.8.1.2 for specialization.

Number of Energy Windows

(0054,0011)

1

Number of energy window groupings. See Section C.8.4.8.1.2 for specialization.

Detector Vector

(0054,0020)

1C

An array that contains the detector number for each frame. Required if the value of Frame Increment Pointer (0028,0009) includes the Tag for Detector Vector (0054,0020). See Section C.8.4.8.1.3 for specialization.

Number of Detectors

(0054,0021)

1

Number of detectors. See Section C.8.4.8.1.3 for specialization.

Phase Vector

(0054,0030)

1C

An array that contains the phase number for each frame. Required if the value of Frame Increment Pointer (0028,0009) includes the Tag for Phase Vector (0054,0030). See Section C.8.4.8.1.4 for specialization.

Number of Phases

(0054,0031)

1C

Number of phases. Required if the value of Frame Increment Pointer (0028,0009) includes the Tag for Phase Vector (0054,0030). See Section C.8.4.8.1.4 for specialization.

Rotation Vector

(0054,0050)

1C

An array that contains the rotation number for each frame. Required if the value of Frame Increment Pointer (0028,0009) includes the Tag for Rotation Vector (0054,0050). See Section C.8.4.8.1.5 for specialization.

Number of Rotations

(0054,0051)

1C

Number of rotations. Required if Image Type (0008,0008), Value 3 is

TOMO, GATED TOMO, RECON TOMO or RECON GATED TOMO.

See Section C.8.4.8.1.5 for specialization.

R-R Interval Vector

(0054,0060)

1C

An array that contains the R-R interval number for each frame. Required if the value of Frame Increment Pointer (0028,0009) includes the Tag for R-R Interval Vector (0054,0060). See Section C.8.4.8.1.6 for specialization.

Number of R-R Intervals

(0054,0061)

1C

Number of R-R intervals. Required if the value of Frame Increment Pointer (0028,0009) includes the Tag for R-R Interval Vector (0054,0060). See Section C.8.4.8.1.6 for specialization.

Time Slot Vector

(0054,0070)

1C

An array that contains the time slot number for each frame. Required if the value of Frame Increment Pointer (0028,0009) includes the Tag for Time Slot Vector (0054,0070). See Section C.8.4.8.1.7 for specialization.

Number of Time Slots

(0054,0071)

1C

Number of time slots. Required if the value of Frame Increment Pointer (0028,0009) includes the Tag for Time Slot Vector (0054,0070). See Section C.8.4.8.1.7 for specialization.

Slice Vector

(0054,0080)

1C

An array that contains the spatial slice number for each frame. Required if the value of Frame Increment Pointer (0028,0009) includes the Tag for Slice Vector (0054,0080). See Section C.8.4.8.1.8 for specialization.

Number of Slices

(0054,0081)

1C

Number of slices. Required if the value of Frame Increment Pointer (0028,0009) includes the Tag for Slice Vector (0054,0080). See Section C.8.4.8.1.8 for specialization.

Angular View Vector

(0054,0090)

1C

An array that contains the angular view number for each frame. Required if the value of Frame Increment Pointer (0028,0009) includes the Tag for Angular View Vector (0054,0090). See Section C.8.4.8.1.9 for specialization.

Time Slice Vector

(0054,0100)

1C

An array that contains the time slice number for each frame. Required if the value of Frame Increment Pointer (0028,0009) includes the Tag for Time Slice Vector (0054,0100). See Section C.8.4.8.1.10 for specialization.

### Note

Per the rules in PS3.5, if an Attribute of Type 1C or 2C is not required, it shall not be included.

##### C.8.4.8.1 NM Multi-frame Module Attribute Descriptions
###### C.8.4.8.1.1 Frame Increment Pointer

By definition, NM Images are multi-dimensional Multi-frame Images. The value of Frame Increment Pointer (0028,0009) contains the Tag for one or more frame indexing vectors. This determines the number of dimensions of frame indices in the image, and the order in which these indices vary from one frame to the next, with the last Tag indicating the most rapidly changing index. The Enumerated Values for Frame Increment Pointer (0028,0009) are determined by Image Type (0008,0008) Value 3, as shown in Table C.8-8.

Table C.8-8. Enumerated Values for Frame Increment Pointer

Image Type (0008,0008) Value 3

Frame Increment Pointer (0028,0009)

STATIC or WHOLE BODY

0054H 0010H \ 0054H 0020H Sequencing is by Energy Window Vector (0054,0010), Detector Vector (0054,0020).

DYNAMIC

0054H 0010H \ 0054H 0020H \ 0054H 0030H \ 0054H 0100H Sequencing is by Energy Window Vector (0054,0010), Detector Vector (0054,0020), Phase Vector (0054,0030), Time Slice Vector (0054,0100)

GATED

0054H 0010H \ 0054H 0020H \ 0054H 0060H \ 0054H 0070H Sequencing is by Energy Window Vector (0054,0010), Detector Vector (0054,0020), R-R Interval Vector (0054,0060), Time Slot Vector (0054,0070)

TOMO

0054H 0010H \ 0054H 0020H \ 0054H 0050H \ 0054H 0090H Sequencing is by Energy Window Vector (0054,0010), Detector Vector (0054,0020), Rotation Vector (0054,0050), Angular View Vector (0054,0090)

GATED TOMO

0054H 0010H \ 0054H 0020H \ 0054H 0050H \ 0054H 0060H \ 0054H 0070H \ 0054H 0090H

Sequencing is by Energy Window Vector (0054,0010), Detector Vector (0054,0020), Rotation Vector (0054,0050), R-R Interval Vector (0054,0060), Time Slot Vector (0054,0070), Angular View Vector (0054,0090).

RECON TOMO

0054H 0080H

Sequencing is by Slice Vector (0054,0080)

RECON GATED TOMO

0054H 0060H \ 0054H 0070H \ 0054H 0080H

Sequencing is by R-R Interval Vector (0054,0060), Time Slot Vector (0054,0070), Slice Vector (0054,0080)

###### C.8.4.8.1.2 Number of Energy Windows and Energy Window Vector

Number of Energy Windows (0054,0011) is the number of distinct energy window groupings acquired in this image. See Section C.8.4.10.1. When Image Type (0008,0008), Value 3, is RECON TOMO or RECON GATED TOMO, then the Number of Energy Windows (0054,0011) shall be 1.

Energy Window Vector (0054,0010) is an indexing vector. The value of the nth element of this vector is the energy window number for the nth frame in this image, and shall have a value from 1 to Number of Energy Windows (0054,0011).

###### C.8.4.8.1.3 Number of Detectors and Detector Vector

Number of Detectors (0054,0021) is the number of separate detectors that differentiate the frames in this image. When Image Type (0008,0008), Value 3, is RECON TOMO or RECON GATED TOMO, then the Number of Detectors (0054,0021) shall be 1.

### Note

Number of Detectors (0054,0021) does not necessarily represent the actual number of detectors used during data acquisition.

Example 1: In a TOMO acquisition in which frames from 2 or more detectors are interleaved to form one continuous set of frames, then no distinction is made between frames on the basis of which detector created them. In this case, the Number of Detectors (0054,0021) would be 1.

Example 2: In a WHOLE BODY acquisition in which a single detector acquires anterior and posterior views in two separate passes, the Number of Detectors (0054,0021) would be 2.

Detector Vector (0054,0020) is an indexing vector. The value of the nth element of this vector is the detector number of the nth frame in this image, and shall have a value from 1 to Number of Detectors (0054,0021).

###### C.8.4.8.1.4 Number of Phases and Phase Vector

Number of Phases (0054,0031) is the number of dynamic phases, independent of the number of Detectors and Isotopes. See Section C.8.4.14 for definition of a phase.

Phase Vector (0054,0030) is an indexing vector. The value of the nth element of this vector is the phase number of the nth frame in this image, and shall have a value from 1 to Number of Phases (0054,0031).

###### C.8.4.8.1.5 Number of Rotations and Rotation Vector

Number of Rotations (0054,0051) is the number of separate rotations. See Section C.8.4.12 for definition of a rotation. When Image Type (0008,0008), Value 3, is RECON TOMO, GATED TOMO or RECON GATED TOMO, then the Number of Rotations (0054,0051) shall be 1.

Rotation Vector (0054,0050) is an indexing vector. The value of the nth element of this vector is the rotation number of the nth frame in this image, and shall have a value from 1 to Number of Rotations (0054,0051).

###### C.8.4.8.1.6 Number of R-R Intervals and R-R Interval Vector

Number of R-R Intervals (0054,0061) is the number of ranges of heartbeat durations collected. A gated acquisition may employ one R-R Interval to collect data from normal beats, a second R-R Interval to collect data from ectopic beats, and possibly others. Each R-R Interval accepts beats whose duration is greater than its Low R-R Value (0018,1081) and shorter than its High R-R Value (0018,1082). Beats that do not fall within these ranges may be accepted by another R-R Interval, or may be rejected.

The Number of R-R Intervals (0054,0061) is the total number of such ranges.

R-R Interval Vector (0054,0060) is an indexing vector. The value of the nth element of this vector is the interval number of the nth frame in this image, and shall have a value from 1 to Number of R-R Intervals (0054,0061).

###### C.8.4.8.1.7 Number of Time Slots and Time Slot Vector

Number of Time Slots (0054,0071) is the number of frames into which each gating event is divided in a gated acquisition. For example, in a cardiac gated acquisition, data from a number of heartbeats are then combined by summing together the first frames from all beats into a summed first frame, all the second frames into a summed second frame, and so on. The result has the same number of frames as the Number of Time Slots in each beat.

Time Slot Vector (0054,0070) is an indexing vector. The value of the nth element of this vector is the time slot number of the nth frame in this image, and shall have a value from 1 to Number of Time Slots (0054,0071).

###### C.8.4.8.1.8 Number of Slices and Slice Vector

Number of Slices (0054,0081) is the number of slices in each separate volume.

### Note

For images with Image Type (0008,0008), Value 3, equal to RECON GATED TOMO this implies that Number of Slices (0054,0081) is the same for all R-R Intervals and Time Slots.

Slice Vector (0054,0080) is an indexing vector. The value of the nth element of this vector is the slice number of the nth frame in this image, and shall have a value from 1 to Number of Slices (0054,0081).

###### C.8.4.8.1.9 Angular View Vector

Angular View Vector (0054,0090) is an indexing vector. The value of the nth element of this vector is the angular view number of the nth frame in this image. If Image Type (0008,0008), Value 3, is TOMO or GATED TOMO, then the value shall be from 1 to Number of Frames in Rotation (0054,0053).

###### C.8.4.8.1.10 Time Slice Vector

Time Slice Vector (0054,0100) is an indexing vector. The value of the nth element of this vector is the time slice number of the nth frame in this image, and shall have a value from 1 to Number of Frames in Phase (0054,0033).

DICOM PS3.3 2023d - Information Object Definitions