Tag | (0072,0406) |
---|---|
Type | Conditionally Required (1C) |
Keyword | FilterByOperator |
Value Multiplicity | 1 |
Value Representation | Code String (CS) |
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) (or the value implied by the Filter-by Category (0072,0402)) in each image of the Image Set. See Section 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:
all values lie within the specified range, or are equal to the endpoints; applies only to numeric Selector Attribute (0072,0026) values; two values shall be present in the selector, the first of which is less than or equal to the second
all values lie outside the specified range, and are not equal to the endpoints; applies only to numeric Selector Attribute (0072,0026) values; two values shall be present in the selector, the first of which is less than or equal to the second
all values are greater than or equal to the value of the selector; applies only to numeric Selector Attribute (0072,0026)
all values are less than or equal to the value of the selector; applies only to numeric Selector Attribute (0072,0026)
all values are greater than the value of the selector; applies only to numeric Selector Attribute (0072,0026)
all values are less than the value of the selector; applies only to numeric Selector Attribute (0072,0026)
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
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
Table C.23.4-2 specifies the Attributes of the Hanging Protocol Selector Attribute Value Macro, which identify the value(s) for a Data Element Tag that is used as a Selector Attribute (0072,0026) in the Image Set Selector Sequence (0072,0022) or Filter Operations Sequence (0072,0400).
Table C.23.4-2. Hanging Protocol Selector Attribute Value Macro Attributes
Attribute Name |
Tag |
Type |
Attribute Description |
---|---|---|---|
Selector AT Value |
(0072,0060) |
1C |
The value(s) of the Attribute identified by Selector Attribute (0072,0026). Required if Selector Attribute VR (0072,0050) is present and the value is AT. |
Selector CS Value |
(0072,0062) |
1C |
The value(s) of the Attribute identified by Selector Attribute (0072,0026). Required if Selector Attribute VR (0072,0050) is present and the value is CS. |
Selector IS Value |
(0072,0064) |
1C |
The value(s) of the Attribute identified by Selector Attribute (0072,0026). Required if Selector Attribute VR (0072,0050) is present and the value is IS. Some leniency in precision and format (including padding with spaces and leading zeros, e.g., "001" = " 1 " = "1") will be required. |
Selector LO Value |
(0072,0066) |
1C |
The value(s) of the Attribute identified by Selector Attribute (0072,0026). Required if Selector Attribute VR (0072,0050) is present and the value is LO. |
Selector LT Value |
(0072,0068) |
1C |
The value of the Attribute identified by Selector Attribute (0072,0026). Required if Selector Attribute VR (0072,0050) is present and the value is LT. |
Selector PN Value |
(0072,006A) |
1C |
The value(s) of the Attribute identified by Selector Attribute (0072,0026). Required if Selector Attribute VR (0072,0050) is present and the value is PN. |
Selector SH Value |
(0072,006C) |
1C |
The value(s) of the Attribute identified by Selector Attribute (0072,0026). Required if Selector Attribute VR (0072,0050) is present and the value is SH. |
Selector ST Value |
(0072,006E) |
1C |
The value of the Attribute identified by Selector Attribute (0072,0026). Required if Selector Attribute VR (0072,0050) is present and the value is ST. |
Selector UT Value |
(0072,0070) |
1C |
The value of the Attribute identified by Selector Attribute (0072,0026). Required if Selector Attribute VR (0072,0050) is present and the value is UT. |
Selector DS Value |
(0072,0072) |
1C |
The value(s) of the Attribute identified by Selector Attribute (0072,0026). Required if Selector Attribute VR (0072,0050) is present and the value is DS. Some leniency in precision and format (including padding and scientific notation) will be required. |
Selector FD Value |
(0072,0074) |
1C |
The value(s) of the Attribute identified by Selector Attribute (0072,0026). Required if Selector Attribute VR (0072,0050) is present and the value is FD. |
Selector FL Value |
(0072,0076) |
1C |
The value(s) of the Attribute identified by Selector Attribute (0072,0026). Required if Selector Attribute VR (0072,0050) is present and the value is FL. |
Selector UL Value |
(0072,0078) |
1C |
The value(s) of the Attribute identified by Selector Attribute (0072,0026). Required if Selector Attribute VR (0072,0050) is present and the value is UL. |
Selector US Value |
(0072,007A) |
1C |
The value(s) of the Attribute identified by Selector Attribute (0072,0026). Required if Selector Attribute VR (0072,0050) is present and the value is US. |
Selector SL Value |
(0072,007C) |
1C |
The value(s) of the Attribute identified by Selector Attribute (0072,0026). Required if Selector Attribute VR (0072,0050) is present and the value is SL. |
Selector SS Value |
(0072,007E) |
1C |
The value(s) of the Attribute identified by Selector Attribute (0072,0026). Required if Selector Attribute VR (0072,0050) is present and the value is SS. |
Selector Code Sequence Value |
(0072,0080) |
1C |
The value(s) of the Attribute identified by Selector Attribute (0072,0026). One or more Items shall be included in this Sequence. See Section C.23.4.2.1.2. Required if Selector Attribute VR (0072,0050) is present and the value is SQ, and Selector Attribute (0072,0026) is a Code Sequence. |
No Baseline CID is defined. |
|||
Selector UI Value |
(0072,007F) |
1C |
The value of the Attribute identified by Selector Attribute (0072,0026). Required if Selector Attribute VR (0072,0050) is present and the value is UI. |
The value of Specific Character Set (0008,0005) in the Image and the Hanging Protocol Instance may differ and shall be taken into account for matching.
The value of Specific Character Set (0008,0005) may influence how matching of text Attributes is performed, in an implementation dependent manner. No requirements are specified for case sensitive or accent sensitive matching, or for ignoring padding.
The matching shall be performed on Coding Scheme Designator (0008,0102) and Code Value (0008,0100) (or Long Code Value (0008,0119) or URN Code Value (0008,0120), if present). Code Meaning (0008,0104) is required to be present, but shall be ignored for matching purposes. The matching is case sensitive, and leading and trailing spaces are not significant. The Coding Scheme Version (0008,0103) shall be ignored unless Coding Scheme Designator (0008,0102) is not sufficient to identify Code Value (0008,0100) unambiguously.
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). See Section C.23.4.2.1.1 and Section C.23.4.2.1.2 for additional details on matching strings and coded values.
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:
The MEMBER_OF and NOT_MEMBER_OF values of Filter-by Operator (0072,0406) are then applicable.
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 Section 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:
Column |
Row |
||
---|---|---|---|
|
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). The Image Set Selector Usage Flag (0072,0024) specifies whether or not the image is included in the filter output when the Attribute or value identified by Selector Attribute (0072,0026) is not available in an image. The Attributes of the Hanging Protocol Selector Attribute Context Macro specify whether Selector Attribute (0072,0026) is contained in a Sequence, Functional Group Sequence, or Private Group.
The following Attributes from image IODs are examples of some possible values for Selector Attribute (0072,0026) of Filter Operations Sequence (0072,0400). This is not a complete list:
Value 3 of Image Type (0008,0008) or Frame Type (0008,9007)
Anatomic Region Sequence (0008,2218)
Pixel Presentation (0008,9205)
Volume Based Calculation Technique (0008,9207)
Acquisition Contrast (0008,9209)
Contrast/Bolus Agent (0018,0010)
Body Part Examined (0018,0015)
Scanning Sequence (0018,0020)
Intervention Drug Start Time (0018,0035)
Echo Time (0018,0081)
Echo Number(s) (0018,0086)
Protocol Name (0018,1030)
Contrast/Bolus Start Time (0018,1042)
Contrast/Bolus Stop Time (0018,1043)
Trigger Time (0018,1060)
Image Trigger Delay (0018,1067)
Radiopharmaceutical Start Time (0018,1072)
Radiopharmaceutical Stop Time (0018,1073)
Trigger Window (0018,1094)
View Position (0018,5101)
Echo Pulse Sequence (0018,9008)
Phase Contrast (0018,9014)
Effective Echo Time (0018,9082)
Laterality (0020,0060)
Image Laterality (0020,0062)
Slice Location (0020,1041)
View Code Sequence (0054,0220)
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.