C.11.1 Modality LUT Module

Table C.11-1 specifies the Attributes that describe the Modality LUT.

Either a Modality LUT Sequence containing a single Item or Rescale Slope and Intercept values shall be present but not both.

Note: This requirement for only a single transformation makes it possible to unambiguously define the input of succeeding stages of the grayscale pipeline such as the VOI LUT.

Table C.11-1MODALITY LUT MODULE ATTRIBUTES

Attribute Name Tag Type Attribute Description
Include Modality LUT Macro Table C.11-1b

Table C.11-1bMODALITY LUT MACRO ATTRIBUTES

Attribute Name Tag Type Attribute Description
Modality LUT Sequence (0028,3000) 1C Defines a sequence of Modality LUTs. Only a single Item shall be included in this sequence. Shall not be present if Rescale Intercept (0028,1052) is present.
>LUT Descriptor (0028,3002) 1C Specifies the format of the LUT Data in this Sequence. See C.11.1.1 for further explanation. Required if the Modality LUT Sequence (0028,3000) is sent.
>LUT Explanation (0028,3003) 3 Free form text explanation of the meaning of the LUT.
>Modality LUT Type (0028,3004) 1C Specifies the output values of this Modality LUT. See C.11.1.1.2 for further explanation. Required if the Modality LUT Sequence (0028,3000) is sent.
>LUT Data (0028,3006) 1C LUT Data in this Sequence. Required if the Modality LUT Sequence (0028,3000) is sent.
Rescale Intercept (0028,1052) 1C The value b in relationship between stored values (SV) and the output units specified in Rescale Type (0028,1054). Output units = m*SV + b. Required if Modality LUT Sequence (0028,3000) is not present. Shall not be present otherwise.
Rescale Slope (0028,1053) 1C m in the equation specified by Rescale Intercept (0028,1052). Required if Rescale Intercept is present.
Rescale Type (0028,1054) 1C Specifies the output units of Rescale Slope (0028,1053) and Rescale Intercept (0028,1052). See C.11.1.1.2 for further explanation. Required if Rescale Intercept is present.

C.11.1.1 LUT Attribute Descriptions

C.11.1.1.1 LUT descriptor

The three values of the LUT Descriptor (0028,3002) describe the format of the LUT Data in the corresponding Data Element (0028,3006).

The first value is the number of entries in the lookup table. When the number of table entries is equal to 216 then this value shall be 0.

The second value is the first stored pixel value mapped. The Value Representation of the second value (US or SS) is specified by Pixel Representation (0028,0103). This stored pixel value is mapped to the first entry in the LUT. All stored pixel values less than the first value mapped are also mapped to the first entry in the LUT Data. A stored pixel value one greater than the first value mapped is mapped to the second entry in the LUT Data. Subsequent stored pixel values are mapped to the subsequent entries in the LUT Data up to a stored pixel value equal to number of entries + first value mapped - 1 which is mapped to the last entry in the LUT Data. Stored pixel values greater than or equal to number of entries + first value mapped are also mapped to the last entry in the LUT Data.

The third value specifies the number of bits for each entry in the LUT Data. It shall take the value 8 or 16. The LUT Data shall be stored in a format equivalent to 8 bits allocated when the number of bits for each entry is 8, and 16 bits allocated when the number of bits for each entry is 16, where in both cases the high bit is equal to bits allocated - 1.

Note: Some implementations have encoded 8 bit entries with 16 bits allocated, padding the high bits; this can be detected by comparing the number of entries specified in the LUT Descriptor with the actual value length of the LUT Data entry. The value length in bytes should equal the number of entries if bits allocated is 8, and be twice as long if bits allocated is 16.

The third value also conveys the range of LUT entry values. It shall take the value 8 or 16, corresponding with the LUT entry value range of 256 or 65536.

Note: Since the LUT Descriptor (0028,3002) Attribute is multi-valued, in an Explicit VR Transfer Syntax, only one value representation (US or SS) may be specified, even though the first and third values are always by definition interpreted as unsigned. The explicit VR actually used is dictated by the VR needed to represent the second value, which will be consistent with Pixel Representation (0028,0103).

The LUT Data contains the LUT entry values.

The output range of the Modality LUT Module depends on whether or not Rescale Slope (0028,1053) and Rescale Intercept (0028,1052) or the Modality LUT Sequence (0028,3000) are used.

In the case where Rescale Slope and Rescale Intercept are used, the output ranges from (minimum pixel value*Rescale Slope+Rescale Intercept) to (maximum pixel value*Rescale Slope+Rescale Intercept), where the minimum and maximum pixel values are determined by Bits Stored and Pixel Representation.

Note: This range may be signed even if Pixel Representation is unsigned.

In the case where the Modality LUT Sequence is used, the output range is from 0 to 2 n -1 where n is the third value of LUT Descriptor. This range is always unsigned.

C.11.1.1.2 Modality LUT and Rescale Type

Specifies the units of the output of the Modality LUT or rescale operation.

Defined Terms:

OD = The number in the LUT represents thousands of optical density. That is, a value of 2140 represents an optical density of 2.140.

HU = Hounsfield Units (CT)

US = Unspecified

Other values are permitted, but are not defined by the DICOM Standard.