Format conversion

Transfer syntax conversion

Convert a file's transfer syntax without altering its content.

The transfer syntax (0002,0010) says how a file’s pixel data is encoded. A receiving system that does not accept the syntax a file arrived in will reject it, so the series has to be re-encoded first. dcmage does this for the whole active series from the command palette. The tags other than the encoding-related ones stay as they are.

Steps

  1. Open the series (⌘O). In Edit mode, the Transfer Syntax UID (0002,0010) shows the current encoding.

  2. Open the command palette (⌘K / Ctrl+K) and run one of these commands:

    CommandWrites
    Decompress series to Explicit VR Little Endian1.2.840.10008.1.2.1, uncompressed
    Compress series to DICOM RLE Lossless1.2.840.10008.1.2.5
    Compress series to JPEG-LS Lossless1.2.840.10008.1.2.4.80
    Compress series to JPEG 2000 Lossless1.2.840.10008.1.2.4.90
    Compress series to HTJ2K Lossless1.2.840.10008.1.2.4.201
    Compress series to JPEG Baseline (lossy)…1.2.840.10008.1.2.4.50, after a warning
    Compress series to JPEG 2000 (lossy)…1.2.840.10008.1.2.4.91, after a warning
  3. Wait for the loading indicator to clear. Every instance of the active series is re-encoded, and the Transfer Syntax UID now shows the target.

  4. Save or export the files. Undo (⌘Z) returns the series to its previous encoding.

Each page has the details and limits for its syntax: decompress, RLE, JPEG-LS and JPEG Baseline, and JPEG 2000 and HTJ2K.

Limits

  • The Export menu has no transfer syntax picker. Conversion runs from the command palette only.
  • JPEG Lossless Process 14 (1.2.840.10008.1.2.4.57 and .70) cannot be written.
  • The JPEG-LS, JPEG 2000 and HTJ2K commands decode every frame again after encoding and compare it with the source. If any frame differs, nothing is changed and a notice says why.
  • The lossy commands change pixel values for good. They mark each instance as lossy, set Image Type to DERIVED and give it a new SOP Instance UID.

Result

The active series uses the target transfer syntax. After a lossless conversion or a decompression, the pixels decode to the same stored values as before.