Tag | (0072,0402) |
---|---|
Type | Conditionally Required (1C) |
Keyword | FilterByCategory |
Value Multiplicity | 1 |
Value Representation | Code String (CS) |
Category of the filter operation. See Section C.23.3.1.1.
Defined Terms:
Required if Selector Attribute (0072,0026) is not present.
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.