The JPEG 2000 Interactive Protocol (JPIP) is used to stream JPEG 2000 files. The DICOM Supplement 106 requires that JPIP be used as the transfer syntax when streaming medical images. Not only can JPIP stream large files, but it can also be used to request only a portion of an image.
To save JPIP browse-efficient JPEG2000 files, use the default J2K options.
The following notes are helpful if non-default settings need to be used:
Try to use precincts rather than tiles. (Precincts are like tiles but they are in compressed/wavelet domain). Unlike tiles, they produce better compression and no artifacts.
Use any precinct options other than CodecsJpeg2000PrecinctSize.Full. It is preferable to use one of the following precinct options:
The larger the precinct size, the less efficient it is. However, using very small precinct sizes (particularly " CodecsJpeg2000PrecinctSize.Uniform64"), will cause some initial delay on the server side.
It is best to use one of the following progression orders:
The number of resolutions should be 5 or more, depending on the dimensions of the image. MaximumDecompressionLevels = 5
To save or convert to J2K files with large dimensions (above 5000 lines), use the J2kLargeImageSave demo. The J2kLargeImageSave demo will save large images without excessive memory, disk, or CPU usage. Unlike other demos which load the entire image/bitmap to memory in one operation and in a subsequent operation save it, the J2kLargeImageSave demo loads and saves an image one line at time.
Medical Web Viewer .NET
.NET, Java, Android, and iOS/macOS Assemblies
C API/C++ Class Libraries