dicom-rs icon indicating copy to clipboard operation
dicom-rs copied to clipboard

Tracker issue for pixel data encoding & decoding

Open Enet4 opened this issue 4 years ago • 0 comments
trafficstars

This will serve to keep track of issues related with the dicom-pixeldata crate and functionalities around it.

  • [x] baseline decoded pixel data abstraction
    • [x] to_dynamic_image
    • [x] to_ndarray
  • Photometric interpretation support:
    • [x] MONOCHROME2
    • [x] MONOCHROME1 #118 #127
    • [x] RGB #119 #127
    • [x] YBR_FULL #127
    • [x] YBR_FULL_422 #127
    • [ ] PALETTE COLOR (not used as much as the other ones, lesser priority). #124
    • [x] Channel-first planar configuration #129
    • others...
  • Extend the API
    • [x] Selective application of Modality and VOI LUT functions #122 (done in #234)
      • to_dynamic_image only performs the Modality LUT
      • to_ndarray does no LUT processing
    • [x] Support for multi-frame images. #123 #152
  • [x] Integration with the encoding crate's TransferSyntax system. #120 #152
  • [x] Independency from GDCM. #121 #131
  • [x] Multi-frame decoding via GDCM #226
  • [ ] 32-bit pixel data samples #325
  • [ ] #348
  • [ ] Modality LUT Sequence #242
  • [ ] VOI LUT Sequence #232
  • [ ] #439
  • [x] #349
  • [x] Support Encapsulated Uncompressed Explicit VR Little Endian #285
  • [x] #293
  • [ ] #294

Supported encapsulated pixel data transfer syntaxes

(incomplete table, will expand later)

Transfer Syntax UID name decoding support encoding support
1.2.840.10008.1.2.4.50 JPEG Baseline (Process 1) native (+ via GDCM) yes (#303)
1.2.840.10008.1.2.4.51 JPEG Extended (Process 2 & 4) only via GDCM no (#286)
1.2.840.10008.1.2.4.70 JPEG Lossless, Non-Hierarchical, First-Order Prediction limited (+ via GDCM) no (#286)
1.2.840.10008.1.2.4.80 JPEG-LS Lossless Image Compression yes, via CharLS (#534) (+ GDCM) yes (#573)
1.2.840.10008.1.2.4.81 JPEG-LS Lossy (Near-Lossless) yes, via CharLS (#534) (+ GDCM) yes (#573)
1.2.840.10008.1.2.4.90 JPEG 2000 Image Compression (Lossless Only) yes, via OpenJPEG (#425 ) (+ via GDCM) no
1.2.840.10008.1.2.4.91 JPEG 2000 Image Compression yes, via OpenJPEG (#425) (+ via GDCM) no
1.2.840.10008.1.2.4.92 JPEG 2000 Part 2 Multi-component Image Compression (Lossless Only) yes, via OpenJPEG (#425) (+ via GDCM) no
1.2.840.10008.1.2.4.93 JPEG 2000 Part 2 Multi-component Image Compression yes, via OpenJPEG (#425) (+ via GDCM) no
1.2.840.10008.1.2.4.201 High-Throughput JPEG 2000 Image Compression (Lossless Only) yes, via OpenJPEG (#499) no
1.2.840.10008.1.2.4.202 High-Throughput JPEG 2000 with RPCL Options Image Compression (Lossless Only) yes, via OpenJPEG (#499) no
1.2.840.10008.1.2.4.203 High-Throughput JPEG 2000 Image Compression yes, via OpenJPEG (#499) no
1.2.840.10008.1.2.4.110 JPEG XL Lossless yes, via jxl-oxide (#571) yes (#571)
1.2.840.10008.1.2.4.111 JPEG XL Recompression yes, via jxl-oxide (#571) no
1.2.840.10008.1.2.4.112 JPEG XL yes, via jxl-oxide (#571) yes (#571)
1.2.840.10008.1.2.5 RLE Lossless native + via GDCM no (#287)

Enet4 avatar May 04 '21 12:05 Enet4