Table C.11.6-1 specifies the Attributes that describe the Softcopy Presentation LUT.
Table C.11.6-1SOFTCOPY PRESENTATION LUT MODULE ATTRIBUTES
|Presentation LUT Sequence||(2050,0010)||1C||Defines a sequence of Presentation LUTs. Only a single item shall be included in this sequence. Required if Presentation LUT Shape (2050,0020) is absent.|
|>LUT Descriptor||(0028,3002)||1||Specifies the format of the LUT Data in this Sequence. See C.126.96.36.199 for further explanation.|
|>LUT Explanation||(0028,3003)||3||Free form text explanation of the meaning of the LUT.|
|>LUT Data||(0028,3006)||1||LUT Data in this Sequence.|
|Presentation LUT Shape||(2050,0020)||1C||Specifies predefined Presentation LUT transformation. Required if Presentation LUT Sequence (2050,0010) is absent. Enumerated Values: IDENTITY - no further translation necessary, input values are P-Values INVERSE - output values after inversion are P-Values See C.188.8.131.52.|
Note: This Module differs from the Presentation LUT Module used in the hardcopy (print) related SOP Classes in that Optical Density is not supported for Presentation LUT Shape (since Optical Density has no meaning for softcopy display devices).
When the Presentation LUT is specified as a Presentation LUT Sequence, then the input range of values is specified by the LUT Descriptor as the first value mapped and the number of entries (values mapped). However, there is an implicit linear scaling of the output range of the preceding transformation (such as the VOI LUT transformation) so that it is always mapped to the specified input range of the Presentation LUT.
When the Presentation LUT is specified as Presentation LUT Shape, then the input range is implicitly specified to be the output range of the preceding transformation (VOI LUT, or if the VOI LUT is identity or absent, the Modality LUT, or if the Modality LUT and VOI LUT are identity or absent, the stored pixel values). In this case, the full range of the output of the preceding transformation will be mapped to the full input range of the display device that receives the output of the Presentation LUT.
Note: The output of the preceding transformation may be signed. This does not mean that signed P-Values actually need to be generated, only that the output of the preceding transformation is to be interpreted by the display device as perceptually linear over the range from the minimum to the maximum values output by the preceding step, and that the minimum value be mapped to the lowest JND Index (and hence luminance) that the display can generate, and the maximum value be mapped to the highest JND Index (and hence luminance) that the display can generate.
In other words, in both cases, the Presentation LUT Module is always implicitly specified to apply over the full range of output of the preceding transformation, and it never selects a subset or superset of the that range (unlike the VOI LUT).
The output bit precision of the VOI LUT Sequence is not required to match the input range of the Presentation LUT Sequence.
Notes: 1. For example, if the VOI LUT is specified as a Window Center of 0 and a Window Width of 100, then the range from -50 to +49 is selected to be mapped to the full range of the display or print device (the full range of P-Values) if the Presentation LUT Shape is specified as IDENTITY or INVERSE. This example demonstrates the conventional understanding of the meaning of Window Center and Width to select “values of interest” that are to be displayed across the full range of the output device, without explicitly having to map each choice to P-Values.
2. For example, if the VOI LUT is specified as a Window Center of 0 and a Window Width of 100, and the Presentation LUT Sequence is sent with a LUT Descriptor first value of 256 and second value of 0, then the range from -50 to +49 is implicitly linearly scaled from 0 to 255 before selecting values from the LUT Data in the Presentation LUT Sequence. This example demonstrates that it is not necessary to send a different Presentation LUT for different Window Center and Width values.
3. For example, if the VOI LUT is specified as VOI LUT Sequence with a LUT Descriptor with a 3rd Value of 16, then the range from 0 to 2 16 -1 is selected to be mapped to the full range of the display or print device (the full range of P-Values) if the Presentation LUT Shape is specified as IDENTITY or INVERSE. This example demonstrates that a VOI LUT may be specified with the desired precision, without having to explicitly send a Presentation LUT to rescale that precision to whatever range of P-Values is preferred by the display application.
4. For example, if the VOI LUT is specified as VOI LUT Sequence with a LUT Descriptor with a 3rd Value of 16, and the Presentation LUT Sequence is sent with a LUT Descriptor first value of 4096 and second value of 0, then the range from 0 to 2 16 -1 is implicitly linearly scaled to the range 0 to 4095 before selecting values from the LUT Data in the Presentation LUT Sequence. This example demonstrates the case where, to save space, the Presentation LUT is sent in a compact form that a display application may choose to interpolate more precisely, yet the VOI LUT output may be sent with 16 bit precision.
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 implicitly scaled input value mapped, and shall always be 0. The Value Representation of the second value is always US. This implicitly scaled input value is mapped to the first entry in the LUT. There are no implicitly scaled input values less than the first value mapped. An implicitly scaled input value one greater than the first value mapped is mapped to the second entry in the LUT Data. Subsequent implicitly scaled input values are mapped to the subsequent entries in the LUT Data up to an implicitly scaled input value equal to number of entries + first value mapped - 1 which is mapped to the last entry in the LUT Data. There are no implicitly scaled input values greater than number of entries + first value mapped.
The third value specifies the number of bits for each entry in the LUT Data. The third value of the LUT Descriptor (0028,3002) shall be between 8 and 16 inclusive. 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 the high bit is equal to bits stored - 1, and where bits stored is the third value.
Notes: 1. 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. Since all three values are always by definition interpreted as unsigned, the explicit VR actually used will always be US.
2. 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 LUT Data contains the LUT entry values, which are P-Values.
The output range is from 0 to 2 n -1 where n is the third value of LUT Descriptor. This range is always unsigned.
This range specifies the output range of the P-Values.
A value of INVERSE shall mean the same as a value of IDENTITY, except that the minimum output value shall convey the meaning of the maximum available luminance, and the maximum value shall convey the minimum available luminance. In other words:
P-Value = maximum value - output value