DICOM PS3.4 2016c - Service Class Specifications

FF.2 Volume Transformation Processes

FF.2.1 Planar MPR Volumetric Transformation Process

The Planar MPR Volumetric Presentation State Storage SOP Classes support a set of transformations to produce derived volumetric views of volume input data.

The Grayscale Planar MPR Volumetric Presentation State Storage SOP Class defines a grayscale volumetric view from a single volume input. The sequence of transformations from volumetric inputs into P-Values is explicitly defined in the reference pipeline described in Figure FF.2-1.

Grayscale Planar MPR Volumetric Pipeline

Figure FF.2-1. Grayscale Planar MPR Volumetric Pipeline


The Compositing Planar MPR Volumetric Presentation State Storage SOP Class defines a true color volumetric view from one or more volume inputs. The sequence of transformations from volumetric inputs into PCS-Values is explicitly defined in the reference pipeline described in Figure FF.2-2. The actual sequence implemented may differ (such as classifying and compositing prior to creating the MPR view) but must result in similar appearance.

Compositing Planar MPR Volumetric Pipeline

Figure FF.2-2. Compositing Planar MPR Volumetric Pipeline


The transformations defined in the Planar MPR Volumetric Presentation State Storage SOP Classes replace those that may be defined in the Referenced Image SOP Instances. If a particular transformation is absent in a Planar MPR Volumetric Presentation State Storage SOP Classes then it shall be assumed to be an identity transformation, and any equivalent transformation, if present, in the Referenced Image SOP Instances shall NOT be used instead.

The presentation-related Attributes of the Planar MPR Volumetric Presentation State Storage SOP Classes are immutable. They shall never be modified or updated; only a derived SOP Instance with a new SOP Instance UID may be created to represent a different presentation.

FF.2.1.1 Volumetric Inputs, Registration and Cropping

A Volumetric Presentation State can take multiple volumes as input. A volume is defined in Section C.11.23.1 “Presentation Input Type Volume Input Requirements” in PS3.3. The same source data can be referenced in more than one input.

The VOI LUT is applied to the input data.

The input volumes may or may not be in the Volumetric Presentation State Reference Coordinate System (VPS-RCS). If they are not, they shall be registered into the VPS-RCS.

The input volumes shall be cropped as specified by the value of Crop (0070,1204) and items in the Volume Cropping Sequence (0070,1301).

FF.2.1.2 Volumetric Transformations

FF.2.1.2.1 Planar MPR Volumetric Presentation State

The planar MPR transformation requires a volume that is in the Volumetric Presentation State Reference Coordinate System (VPS-RCS).

MPR generation is based on the attributes of the Multi-Planar Reconstruction Geometry Module (see Section C.11.26.1.1 “Planar Style” in PS3.3). If the MPR Thickness Type (0070,1502) is SLAB then the Compositing Method (0070,1206) is also used.

FF.2.1.3Volumetric Presentation State Display

FF.2.1.3.1 Volumetric Presentation State Display Foundation

The Volumetric Presentation State Display Module defines the algorithms used to transform the result of the volumetric processing on the input data into an output of P-Values or PCS-Values for display.

If Pixel Presentation (0008,9205) is MONOCHROME, then Presentation LUT Shape (2050,0020) provides the transform to output P-Values.

If Pixel Presentation (0008,9205) is TRUE_COLOR, then Presentation State Classification Component Sequence (0070,1801) describes the conversion of each processed input into an RGB data stream, and Presentation State Compositor Component Sequence (0070,1805) describes the compositing of these separate RGBA data streams into a single RGB data stream. This single RGB data stream is then processed as described by ICC Profile (0028,2000) to produce output PCS-Values.

FF.2.1.3.1.1 Classification Component Components

There are two classification component types currently defined for conversion from scalar input data to RGBA. The defined components are:

  • One Input -> RGBA: This component accepts reconstructed data from one input in the Volumetric Presentation State Input Sequence (0070,1201) and generates an RGB and an Alpha output. This classification component would be specified in an item of the Presentation State Classification Component Sequence (0070,1801):

    One Input -> RGBA Component

    Figure FF.2-3. One Input -> RGBA Component


  • Two Inputs -> RGBA: This component accepts reconstructed data from two inputs in the Volumetric Presentation State Input Sequence (0070,1201) and generates an RGB and an Alpha output. This component is used in the case where a two-dimensional color mapping needs to be performed. This classification component would be specified in an item of the Presentation State Classification Component Sequence (0070,1801):

    Two Inputs ->RGBA Component

    Figure FF.2-4. Two Inputs ->RGBA Component


    Note

    An example for the use of this component is to combine Ultrasound Flow Velocity and Ultrasound Flow Variance to produce a color range from red-blue based on flow velocity and adding a yellow-green tinge based on flow variance)

FF.2.1.3.1.2 Compositor Components

There is one compositor component type defined for compositing of two input RGBA (or one RGBA and one RGB) data sources into an RGB output. The defined component is:

  • RGB Compositor: This component accepts two RGBA inputs (with one Alpha input optional) and composites the data into a single RGB output. Each item of Presentation State Compositor Component Sequence (0070,1805) specifies one RGB Compositor component:

    RGB Compositor Component

    Figure FF.2-5. RGB Compositor Component


The ICC Profile Connection Space Transform operation is performed after classification and compositing to generate output PCS-values using the specified ICC Color Profile (0028,2000)

FF.2.1.3.2 Internal Structure of Components
FF.2.1.3.2.1 Internal Structure of Classification Components

Component Type (0070,1802) specifies the component defined in each item of Presentation State Classification Component Sequence (0070,1801), which in turn controls by conditions the rest of the content of the item to provide the necessary specification of the component. The internal structure of each component in block diagram form is as follows:

  • One Input -> RGBA: Specified by Component Type (0070,1802) = ONE_TO_RGBA:

    Internal Structure of One Input -> RGBA Component

    Figure FF.2-6. Internal Structure of One Input -> RGBA Component


  • Two Inputs -> RGBA: If Component Type (0070,1802) = TWO_TO_RGBA:

    Internal Structure of Two Input -> RGBA Component

    Figure FF.2-7. Internal Structure of Two Input -> RGBA Component


The number of most significant bits extracted from each input is specified by the value of Bits Mapped to Color Lookup Table (0028,1403) in the Component Input Sequence (0070,1803) item for that input.

If Component Type (0070,1802) = TWO_TO_RGBA, there shall be two items in Component Input Sequence (0070,1803) with the first item defining the source of the most significant bits of the Palette Color Lookup Table input and the second item defining the source of the least significant bits of the Palette Color Lookup Table input

FF.2.1.3.2.2 Internal Structure of RGB Compositor Component

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 Compositor component:

Internal Structure of RGB Compositor Component

Figure FF.2-8. Internal Structure of RGB Compositor Component


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, and B (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 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 2016c - Service Class Specifications