C.23.3 Hanging Protocol Display Module

Table C.23.3-1 specifies the Attributes that describe operations (filter, reformat, sort, presentation intent), layout and interactions for a Hanging Protocol. See the Hanging Protocols informative annex (PS 3.17) for further explanation.

Table C.23.3-1

Hanging Protocol Display Module Attributes

Attribute Name Tag Type Attribute Description
Display Sets Sequence (0072,0200) 1 Sequence that describes one or more display sets used to present the Image Sets defined in the Image Sets Sequence (0072,0020). One or more Items shall be included in this sequence. See C.23.3.1.
>Display Set Number (0072,0202) 1 A monotonically increasing integer, starting from 1, incrementing by one, unique within the Hanging Protocol Instance. It shall be used to identify linked display sets in the Display Set Scrolling Group (0072,0212).
>Display Set Label (0072,0203) 3 Description of the objective of the display set defined by this sequence item.
>Display Set Presentation Group (0072,0204) 1 Positive integer value that designates this Display Set as part of a specific presentation group. All Display Sets with the same Display Set Presentation Group (0072,0204) value shall be displayed at the same time. The value 1 shall indicate that this Display Set is part of the initial presentation group.Subsequent values incrementing by 1 shall imply successive temporal ordering of display.
>Image Set Number (0072,0032) 1 Image Set Number (0072,0032) value from a Time Based Image Sets Sequence (0072,0030) Item within the Image Sets Sequence (0072,0020) Item that is selected for display by this Display Set. Note: Multiple Image Boxes Sequence (0072,0300) Items within a Display Sets Sequence (0072,0200) Item may be used to spread one image set over multiple image boxes with the same Display Set characteristics.
>Image Boxes Sequence (0072,0300) 1 Sequence that defines the image boxes for this Display Set. Only a single Item shall be included in this sequence unless Image Box Layout Type (0072,0304) is TILED, in which case one or more items shall be included in this sequence.
>>Image Box Number (0072,0302) 1 A monotonically increasing integer that identifies the order of image boxes for scrolling, starting from 1, incrementing by one, unique within a Display Set Sequence Item.
>>Display Environment Spatial Position (0072,0108) 1 Exactly four unitless floating point values indicating the rectangular coordinate position of the image box within the overall bounding box that encompasses all the display space (across all screens). See C.23.2.1.1.
>>Image Box Layout Type (0072,0304) 1 Type of layout of the image box. All types except for TILED are single rectangles containing a single frame of image pixel data. The types are primarily distinguished by their interaction technique. Defined Terms: TILED: a scrollable array of rectangles, each containing a single frame of image pixel data. STACK: a single rectangle containing a steppable single frame, intended for user-controlled stepping through the image set, usually via continuous device interaction (e.g., mouse scrolling) or by single stepping (mouse or button click). CINE: a single rectangle, intended for video type play back where the user controls are play sequence, rate of play, and direction. PROCESSED: intended for interactive 3D visualizations that have custom interfaces. SINGLE: a single rectangle, intended for images and objects with no defined methods of interaction. Note: This value may also be used for non-image objects, such as waveforms and SR documents.
>>Image Box Tile Horizontal Dimension (0072,0306) 1C Positive integer defining the horizontal Image Box tile dimension; the number of columns. Required if the value of Image Box Layout Type (0072,0304) is TILED.
>>Image Box Tile Vertical Dimension (0072,0308) 1C Positive integer defining the vertical Image Box tile dimension; the number of rows. Required if the value of Image Box Layout Type (0072,0304) is TILED.
>>Image Box Scroll Direction (0072,0310) 1C Enumerated Values: VERTICAL: scroll images by row HORIZONTAL: scroll images by column. Required if the value of Image Box Layout Type (0072,0304) is TILED, and the value of Image Box Tile Horizontal Dimension (0072,0306) or Image Box Tile Vertical Dimension (0072,0308) is greater than 1.
>>Image Box Small Scroll Type (0072,0312) 2C Defines the type of small increment scrolling to be applied to this Image Box. Required if the value of Image Box Layout Type (0072,0304) is TILED, and the value of Image Box Tile Horizontal Dimension (0072,0306) or Image Box Tile Vertical Dimension (0072,0308) is greater than 1. Scrolling is not specified if zero length. Enumerated Values: PAGE: In a TILED image box, replace all image slots with the next N x M images in the set, ROW_COLUMN: in a TILED image box, move each row or column of images to the next row or column, depending on Image Box Scroll Direction (0072,0310) IMAGE: In a TILED image box, move each image to the next slot, either horizontally or vertically, depending on Image Box Scroll Direction (0072,0310) Note: If there are multiple image boxes of different Tile Dimensions in a Display Set, then only IMAGE scrolling applies, and the value of this attribute is ignored.
>>Image Box Small Scroll Amount (0072,0314) 1C Defines the positive integer number of pages, rows, columns, or images per small increment scroll, based on the values of Image Box Small Scroll Type (0072,0312) and Image Box Scroll Direction (0072,0310). The value applies to both forward and backward scrolling. Required if Image Box Small Scroll Type (0072,0312) is present with a value.
>>Image Box Large Scroll Type (0072,0316) 2C Defines the type of large increment scrolling to be applied to this Image Box. Required if the value of Image Box Layout Type (0072,0304) is TILED, and the value of Image Box Tile Horizontal Dimension (0072,0306) or Image Box Tile Vertical Dimension (0072,0308) is greater than 1. Enumerated Values: PAGE: In a TILED image box, replace all image slots with the next N x M images in the set, ROW_COLUMN: in a TILED image box, move each row or column of images to the next row or column, depending on Image Box Scroll Direction (0072,0310) IMAGE: In a TILED image box, move each image to the next slot, either horizontally or vertically, depending on Image Box Scroll Direction (0072,0310) Note: If there are multiple image boxes of different Tile Dimensions in a Display Set, then only IMAGE scrolling applies, and the value of the attribute is ignored.
>>Image Box Large Scroll Amount (0072,0318) 1C Defines the positive integer number of pages, rows, columns, or images per large increment scroll, based on the values of Image Box Large Scroll Type (0072,0316) and Image Box Scroll Direction (0072, 0310). The value applies to both forward and backward scrolling. Required if Image Box Large Scroll Type (0072,0316) is present with a value.
>>Image Box Overlap Priority (0072,0320) 3 If this Image Box overlaps in spatial position with others, this attribute indicates the layer of this Image Box in relation to the others. The value shall be a positive integer in the range 1 to 100, where 1 = top and 100 = bottom. If this attribute is not present, then the expected behavior is not defined.
>>Preferred Playback Sequencing (0018,1244) 1C Describes the preferred playback sequencing for the Image Box. Overrides any Preferred Playback Sequencing (0018,1244) value in the image objects being displayed. Required if the value of Image Box Layout Type (0072,0304) is CINE. Enumerated Values: 0 = Looping (1,2...n,1,2,...n,1,2,....n,...) 1 = Sweeping (1,2,...n,n-1,...2,1,2,...n,...) 2 = Stop (1,2…n)
>>Recommended Display Frame Rate (0008,2144) 1C Recommended rate at which the frames of a multi-frame image shall be displayed, in frames/second. Shall have a value greater than zero. Overrides any Recommended Display Frame Rate (0008,2144) value in the image objects being displayed. Required if the value of Image Box Layout Type (0072,0304) is CINE and if Cine Relative to Real-Time (0072,0330) is not present.
>>Cine Relative to Real-Time (0072,0330) 1C A positive unitless floating point numeric factor equal to playback rate divided by acquisition rate. Required if the value of Image Box Layout Type (0072,0304) is CINE and if Recommended Display Frame Rate (0008,2144) is not present. Note: The capture rate may change within the image object, as specified in Frame Time (0018,1063) or Frame Time Vector (0018,1065).
>Filter Operations Sequence (0072,0400) 2 Sequence that defines filter criteria to be applied to the image set identified by Image Set Number (0072,0032). Zero or more items shall be included in this sequence. See C.23.3.1.1.
>>Filter-by Category (0072,0402) 1C Category of the filter operation. See C.23.3.1.1. Defined terms: IMAGE_PLANE Required if Selector Attribute (0072,0026) is not present.
>>Filter-by Attribute Presence (0072,0404) 1C Operation to be applied based on the presence or absence of the attribute represented by Selector Attribute (0072,0026) in each image of the Image Set. Required if Selector Attribute (0072,0026) is present and Filter-by Operator (0072,0406) is not present. Enumerated Values: PRESENT: Include the image if the attribute is present NOT_PRESENT: Include the image if the attribute is not present
>>Selector Attribute (0072,0026) 1C Data Element Tag of an Attribute from an Image IOD to use as a filter. See C.23.3.1.1 for potential attributes. Required if Filter-by Category (0072,0402) is not present.
>>Selector Attribute VR (0072,0050) 1C The Value Representation of the Selector Attribute (0072,0026). Required if Selector Attribute (0072,0026) or Filter-by Category (0072,0402), and Filter-by Operator (0072,0406) are present.
>>Include Hanging Protocol Selector Attribute Context Macro Table C.23.4-1
>>Include Hanging Protocol Selector Attribute Value Macro Table C.23.4-2
>>Selector Value Number (0072,0028) 1C Positive integer identifying which value of the attribute identified by Selector Attribute (0072,0026) is to be used for filtering. The value 1 identifies the first value. The value zero identifies any value. Required if Selector Attribute (0072,0026) and Filter-by Operator (0072,0406) are present.
>>Filter-by Operator (0072,0406) 1C Operation to be applied between the value(s) in the Hanging Protocol Selector Attribute Value Macro (“selector”), and the value(s) of the attribute identified by Selector Attribute (0072,0026) in each image of the Image Set. See C.23.3.1.1. Required if Filter-by Category (0072,0402) is present, or if Selector Attribute (0072,0026) is present and Filter-by Attribute Presence (0072,0404) is not present. Enumerated Values: RANGE_INCL: the values lie within the specified range, or are equal to the endpoints; applies only to numeric, date or time Selector Attribute (0072,0026); two values shall be present in the selector, the first of which is less than or equal to the second RANGE_EXCL: the values lie outside the specified range, and are not equal to the endpoints; applies only to numeric Selector Attribute (0072,0026); two values shall be present in the selector, the first of which is less than or equal to the second GREATER_OR_EQUAL: applies only to numeric Selector Attribute (0072,0026) LESS_OR_EQUAL: applies only to numeric Selector Attribute (0072,0026) GREATER_THAN: applies only to numeric Selector Attribute (0072,0026) LESS_THAN: applies only to numeric Selector Attribute (0072,0026) MEMBER_OF: one of the values in the image is present in the values of the selector; if one value is present in each, this is an “equal to” operator NOT_MEMBER_OF: none of the values in the image is present in the values of the selector; if one value is present in each, this is a “not equal to” operator
>Sorting Operations Sequence (0072,0600) 2 Sequence that defines sorting criteria to be applied to the result of filter and reformat operations, to define the order in which to present the images in the Image Boxes. Zero or more items shall be included in this sequence. See C.23.3.1.2.
>>Selector Attribute (0072,0026) 1C Data Element Tag of an Attribute from an Image IOD to be used for sorting. See C.23.3.1.2 for potential attributes. Required if Sort-by Category (0072,0602) is not present.
>>Include Hanging Protocol Selector Attribute Context Macro Table C.23.4-1
>>Selector Value Number (0072,0028) 1C Positive integer identifying which value of the attribute identified by Selector Attribute (0072,0026) is to be used for sorting. The value of 1 identifies the first value. Shall not be zero. Required if Selector Attribute (0072,0026) is present.
>>Sort-by Category (0072,0602) 1C Category of the sorting operation. See C.23.3.1.2. Defined terms: ALONG_AXIS: for CT, MR, other cross-sectional image sets BY_ACQ_TIME Required if Selector Attribute (0072,0026) is not present.
>>Sorting Direction (0072,0604) 1 Sorting direction to be applied to the value(s) in the image set of the attribute identified by Selector Attribute (0072,0026) or Sort-by Category (0072,0602). Enumerated Values: INCREASING, DECREASING
>Blending Operation Type (0072,0500) 3 Type of blending of superimposed and underlying images from the image set, performed before reformatting. See C.23.3.1.3. Defined Terms: COLOR - apply a pseudo-color to the superimposed image while blending
>Reformatting Operation Type (0072,0510) 3 Reformatting operation to be applied to the Image Set. Defined terms: MPR, 3D_RENDERING, SLAB
>Reformatting Thickness (0072,0512) 1C The desired thickness of the reformatted images in millimeters. Required if value of Reformatting Operation Type (0072,0510) is SLAB or MPR. May be present otherwise.
>Reformatting Interval (0072,0514) 1C The desired spacing of the reformatted images in millimeters. The spacing is measured from the center-to-center of each reconstructed image. Required if value of Reformatting Operation Type (0072,0510) is SLAB or MPR. May be present otherwise.
>Reformatting Operation Initial View Direction (0072,0516) 1C Initial view of the reformatted images. Required if the value of Reformatting Operation Type (0072,0510) is MPR or 3D_RENDERING. May be present otherwise. Defined Terms: SAGITTAL, TRANSVERSE, CORONAL, OBLIQUE
>3D Rendering Type (0072,0520) 1C Describes the intended 3D rendering type. One or more values shall be present. The first value shall not be zero length. Required if the value of Reformatting Operation Type (0072,0510) is 3D_RENDERING: Defined Terms for value 1: MIP, SURFACE, VOLUME Additional values may be used to identify implementation specific sub-types.
>Display Set Patient Orientation (0072,0700) 3 Patient direction of the rows and columns of the images, as intended for display. See C.23.3.1.4.
>Display Set Horizontal Justification (0072,0717) 3 Indicates direction in which to horizontally justify the image within a viewport that is not the same shape (aspect ratio) as the image. Enumerated Values: LEFT CENTER RIGHT Note: Typically used in mammography display applications in which images from the patient’s left and right are displayed “back to back”, rather than centered.
>Display Set Vertical Justification (0072,0718) 3 Indicates direction in which to vertically justify the image within a viewport that is not the same shape (aspect ratio) as the image. Enumerated Values: TOP CENTER BOTTOM
>VOI Type (0072,0702) 3 Expected value of interest transformation for display (e.g., Window Center and Window Width or VOI LUT). Defined Terms: LUNG MEDIASTINUM ABDO_PELVIS LIVER SOFT_TISSUE BONE BRAIN POST_FOSSA
>Pseudo-Color Type (0072,0704) 3 A category of pseudo-color palette choice to be applied after application of the VOI LUT. If this attribute is not present, a pseudo-color palette shall not be applied. Defined Terms are the values of Content Label (0070,0080) in the list of standard color palettes defined in PS 3.6 Well-Known Color Palettes.
>Pseudo-Color Palette Instance Reference Sequence (0072,0705) 1C Reference to a Color Palette Storage Instance to be applied after application of the VOI LUT. Only a single Item shall be included in this sequence. The Referenced SOP Class UID (0008,1150) shall be “1.2.840.10008.5.1.4.39.1”. If the value of Pseudo-Color Type (0072,0704) is a reference to the Content Label (0070,0080) of a standard palette, the Referenced SOP Instance UID (0008,1155) shall be the corresponding Well-known SOP Instance UID defined in PS 3.6. Required if Pseudo-Color Type (0072,0704) is a reference to a standard palette. May be present otherwise if Pseudo-Color Type (0072,0704) is present.
>>Include ‘SOP Instance Reference Macro' Table 10-11
>Show Grayscale Inverted (0072,0706) 3 Whether or not to invert the rendered luminance of the displayed values. See C.23.3.1.4. Enumerated values: YES = The maximum output value after the display pipeline has been applied shall be displayed with the minimum available luminance. NO = The maximum output value after the display pipeline has been applied shall be displayed with the maximum available luminance. Notes:    1. The YES and NO values of this Attribute correspond to the Presentation LUT Shape (2050,0020) values of INVERSE and IDENTITY, as described in C.11.6.1.2. 2. Only applicable to display of grayscale images.
>Show Image True Size Flag (0072,0710) 3 Indicates whether or not to display images with the physical size of the rendered image pixel the same on the screen as specified in the image attributes, unless overridden by a Presentation State instance. Enumerated values: YES = Display images at True Size. NO = The rendered size is not specified.
>Show Graphic Annotation Flag (0072,0712) 3 Indicates whether or not to display items from the Graphic Annotation Sequence (0070,0001) in an applied Presentation State, and the attributes of the Overlay Plane module in the image objects or applied Presentation State. Enumerated Values: YES NO
>Show Patient Demographics Flag (0072,0714) 3 Indicates whether or not to display patient and study identification information. Enumerated Values: YES NO
>Show Acquisition Techniques Flag (0072,0716) 3 Indicates whether or not to display image acquisition technique information. Enumerated Values: YES NO
>Display Set Presentation Group Description (0072,0206) 3 Description of the intent of the Display Set Presentation Group (0072,0204). If present, shall have the same value in all sequence Items assigned the same value for Display Set Presentation Group (0072,0204).
Partial Data Display Handling (0072,0208) 2 If one or more Image Sets identified by Image Set Number (0072,0032) in the Display Sets Sequence (0072,0200) Items is not available, indicate whether or not to maintain the expected layout in the absence of complete Image Sets. Enumerated Values: MAINTAIN_LAYOUT: If one or more Image Sets is not available, maintain the layout with empty Image Boxes. ADAPT_LAYOUT: If one or more Image Sets is not available, rearrange the layout at the discretion of the application. If this attribute is zero length, then the expected behavior is not defined.
Synchronized Scrolling Sequence (0072,0210) 3 Each sequence item of this attribute identifies a group of Display Sets to which synchronized scrolling is to be applied. One or more Items are permitted in this sequence. The dimensions along which the synchronization occurs shall be those specified in the Sorting Operations Sequence (0072,0600).
>Display Set Scrolling Group (0072,0212) 1 Multi-valued list of two or more Display Set Number (0072,0202) values. Indicates that the images within the specified Display Sets are scrolled in parallel, to maintain the established synchronization.
Navigation Indicator Sequence (0072,0214) 3 Describes a geometric relationship between Display Sets for the purpose of static or interactive localization or navigation. One or more Items are permitted in this sequence.
>Navigation Display Set (0072,0216) 1C Display Set Number (0072,0202) of the Display Set where the geometric relationship to the Reference Display Sets (0072,0218) is graphically depicted. Required if there is a one-way interaction such that the location of the Reference Display Sets is indicated on or controlled by the Navigation Display Set. Note: For example, the graphical representation may indicate either the number of slices displayed or contained in the Reference Display Set(s).
>Reference Display Sets (0072,0218) 1 One or more Display Set Number (0072,0202) values. If Navigation Display Set is present, shall list those Display Sets that are controlled by or indicated on the Navigation Display Set. If Navigation Display Set is absent, shall indicate that all of the Reference Display Sets cross-reference each other.

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.