The three values of the LUT Descriptor (0028,3002) describe the format of the data in LUT Data (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 number of entries shall be equal to the number of possible values in the input. (For 8 bit input will be 256 entries, for 12 bit input it will be 4096 entries)
The second value is the first input value mapped, and shall always be 0. The Value Representation of the second value is always US. This input value is mapped to the first entry in the LUT. Subsequent input values are mapped to the subsequent entries in the LUT Data up to an 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 input values greater than number of entries - 1.
The third value specifies the number of bits for each entry in the LUT Data. It shall be between 10 and 16 inclusive. The LUT Data shall be stored in a format equivalent to 16 bits allocated where the high bit is equal to bits stored - 1, where bits stored is the third value.
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. Since all three values are always by definition interpreted as unsigned, the explicit VR actually used will always be US.
LUT Data (0028,3006) 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.