C.23.3.1 Attribute Descriptions

The attributes of a Display Set Sequence Item shall be applied to the image set represented by the value of Image Set Number (0072,0032) in the following order:

C.23.3.1.1 Filter Operations Sequence

The items in the Filter Operations Sequence (0072,0400) determine which subset of the images in the identified Image Set are to be displayed in the associated Display Set image boxes. If there are multiple Items in the Filter Operations Sequence (0072,0400), the filter operations shall be applied in Item order, and the output of the preceding filter shall serve as the input to the succeeding filter (i.e., an AND operation).

When Filter-by Category (0072,0402) has a value of IMAGE_PLANE, Selector Attribute VR (0072,0050) shall have a value of “CS”, and abstract enumerated values shall be used for the value of the associated Selector CS Value (0072,0062) attribute, which may be computed from the values of Image Orientation (Patient) (0020,0037) or Patient Orientation (0020,0020). Enumerated Values: TRANSVERSE, CORONAL, SAGITTAL, OBLIQUE.

Note: Cross-sectional images do not normally contain a categorical description of the image plane, but rather only a patient-relative row and column direction cosines that are unit vectors. The category of image plane can be determined first by categorizing the row and column major directions (or detecting if the orientation is oblique according to a pre-specified threshold), and then using those categories to select a plan category.

The following pseudo-code can be used to determine the major axis (R or L, A or P, H or F) from a single direction cosine that is an (x,y,z) tuple (as defined in C.7.6.2.1.1):

if (abs(x) > threshold)

axis = “RL”

else if (abs(y) > threshold)

axis = “AP”

else if (abs(z) > threshold)

axis = “HF”

else

is OBLIQUE

Having determined the major axis of the row and column, the category of plane can be obtained from a table lookup:

Row
Column RL AP HF
RL TRANSVERSE CORONAL
AP TRANSVERSE SAGITTAL
HF CORONAL SAGITTAL

Alternatively, one can obtain a single vector that is the normal to the orientation (cross product of the row and column unit vectors), then find which of the x, y and z components has the maximum absolute value that is above threshold; if x then SAGITTAL, if y then CORONAL, if z then TRANSVERSE; if all of the components are below threshold then the orientation is OBLIQUE.

Since it is also necessary to determine whether or not to flip or rotate the image into the preferred orientation (as specified by Display Set Patient orientation (0072,0700)) for the category of plane (e.g., sagittals are normally viewed with row direction posteriorly and column direction towards the feet), the categorical row and column direction to use can be obtained as above, additional accounting for the sign of the direction cosine, e.g.:

if x < 0 then orientationX = “R” else orientationX = “L”

if y < 0 then orientationY = “A” else orientationY = “P”

if z < 0 then orientationZ = “F” else orientationZ = “H”

if (abs(x) > threshold)

orientation = orientationX

An application that is applying a Hanging Protocol Instance shall support any value for Selector Attribute (0072,0026). If the attribute identified by Selector Attribute is not present in an image of the referenced Image Set, then the image is included in the filter output. The attributes of the Hanging Protocol Selector Attribute Context Macro specify whether the Selector Attribute (0072,0026) is contained in a Sequence, Functional Group Sequence, or Private Group.

Notes: 1. The following attributes from image IODs are examples of some possible values for the Selector Attribute (0072,0026) of the Filter Operations Sequence (0072,0400). This is not a complete list:

2. For a multi-frame image set, it is the responsibility of the application to apply the filter operations to individual frames within a multi-frame image instance in the image set, versus multiple single frame image instances in the image set that represent individual frames.