DICOM PS3.4 2024c - Service Class Specifications |
---|
Weighting transfer functions that compute the weighting factors used by the Compositor Function as a function of Alpha1 and Alpha2 values are specified as weighting look-up tables (LUTs) in the RGB and RGBA Compositor components. The RGB and RGBA Compositor components are identical except for the compositing of the additional Alpha component in the RGBA Compositor:
Because each Weighting LUT uses both Alpha values in determining a weighting factor, they allow compositing functions that would not be possible if each weighting factor were based only on that input's Alpha value. See Section XXX.5 “Compositing and the Use of Weighting Transfer Functions” in PS3.17 for typical usage of the Weighting LUTs.
The input bits to the Weighting LUTs are obtained by combining the two Alpha inputs, with half the input bits obtained from each Alpha input:
In the case of the first compositor component corresponding to the first item in Presentation State Compositor Component Sequence (0070,1805), the Alpha from the classification component corresponding to the first item in the Presentation State Classification Component Sequence (0070,1805) provides the most significant bits of the Weighting LUT inputs, while the Alpha from the classification component corresponding to the second item in the Presentation State Classification Component Sequence (0070,1805) provides the least significant bits of the Weighting LUT inputs.
In the case of subsequent compositor components, the Alpha from the classification component corresponding to the next item in the Presentation State Classification Component Sequence (0070,1805) provides the least significant bits of the Weighting LUT inputs, while the most significant bits of the Weighting LUT inputs are computed as one minus the Alpha from the classification component corresponding to the next item in the Presentation State Classification Component Sequence (0070,1805).
The integer outputs of the Weighting LUTs are normalized to the range 0.0 to 1.0, and the Compositor Function combines the normalized R, G, B and Alpha (each component called "Color" = Cx) input values as follows:
Cout = (C1*Weight1) + (C2*Weight2)
The sum of the normalized Weight1 and Weight2 shall be no greater than 1.0.
The color input values are normalized because the number of output bits from the RGB Palette Color Lookup Tables and the Alpha Palette Color Lookup Table may be different in each classification component.
The output of the compositor shall be range-limited ("clamped") to ensure that the outputs are guaranteed to be within a valid range of color values regardless of the validity of the weighting transfer functions. This isolates subsequent compositor components and the Profile Connection Space Transform from overflow errors.
DICOM PS3.4 2024c - Service Class Specifications |
---|