DICOM PS3.5 2024e - Data Structures and Encoding

8.4 Pixel Data Provider Service

Specific Transfer Syntaxes allow for the Pixel Data of the message to be replaced with a reference to a Pixel Data Provider Service. The Pixel Data Provider Service that is referenced supplies the Pixel Data using a network protocol that is defined outside DICOM.

Note

The Pixel Data Provider Service is not applicable to Pixel Data encoded as Float Pixel Data (7FE0,0008) or Double Float Pixel Data (7FE0,0009).

8.4.1 JPIP Referenced Pixel Data

DICOM provides a mechanism for supporting the use of JPEG 2000 Interactive Protocol through the inclusion of a URL reference to a Pixel Data Provider Service. Annex A defines two Transfer Syntaxes that utilize URL references to a JPIP Pixel Data Provider Service.

The use of the these Transfer Syntaxes requires that the Pixel Data Provider URL specify a URL that will represent the JPIP request including the specific target information. Additional parameters required by the application may be appended to the URL when accessing the Pixel Data provider.

Note

For example, a JPIP request for a 200 by 200 pixel rendition of the entire image can be constructed from the Pixel Data Provider URL as follows:

Pixel Data Provider URL (0028,7FE0) = http://server.xxx/jpipserver.cgi?target=imgxyz.jp2

URL Generated by the application = http://server.xxx/jpipserver.cgi?target=imgxyz.jp2&fsiz=200,200

The JPIP client shall only request a JPEG 2000 or HTJ2K bit stream depending on the negotiated Transfer Syntax.

The JPIP server shall return a Content-type of image/jp2, image/jpp-stream, image/jpt-stream, image/jph or image/jphc, all of which shall be supported by the JPIP client, depending on the supported Transfer Syntaxes.

The Number of Frames (0028,0008) Attribute, if present in the Data Set, identifies the number of Frames available for this image. Each Frame is accessible as a separate JPIP code stream. Code streams referenced in the URL Target shall be sequentially numbered starting with stream 1.

Note

For example, a JPIP request for a 200 by 200 pixel rendition of Frame 17 of a Multi-frame image can be constructed from Pixel Data Provider URL as follows:

Pixel Data Provider URL (0028,7FE0) = http://server.xxx/multiframeimage.jp2

URL Generated by the application = http://server.xxx/multiframeimage.jp2?fsiz=200,200&stream=17

A valid stream query parameter Value is always less than or equal to the Value in the Number of Frames (0028,0008).

The syntax of the Pixel Data Provider URL (0028,7FE0) is defined in [ISO/IEC 15444-9] Annex C (Client Request). That standard respects the URI recommendations [RFC3986]. The transport protocol shall be HTTP or HTTPS.

Note

  1. According to [ISO/IEC 15444-9], "Each JPIP request is directed to a specific representation of a specific original named resource or a specific portion of that resource. That resource may be a physically stored file or object, or may be something that is created virtually by the server upon request."

    "The Target request field specifies the original named resource to which the request is directed. It is specified using a PATH, which could be a simple string or a URI. If the Target field is not specified and the request is carried over HTTP, then the JPIP request shall be directed to the resource specified through the path component of the JPIP request URL."

  2. Transport over UDP or other protocols is not supported.

DICOM PS3.5 2024e - Data Structures and Encoding