dicom-rs
dicom-rs copied to clipboard
Tracker issue for pixel data encoding & decoding
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
- [x]
- 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...
- [x]
- Extend the API
- [x] Selective application of Modality and VOI LUT functions #122 (done in #234)
to_dynamic_imageonly performs the Modality LUTto_ndarraydoes no LUT processing
- [x] Support for multi-frame images. #123 #152
- [x] Selective application of Modality and VOI LUT functions #122 (done in #234)
- [x] Integration with the
encodingcrate'sTransferSyntaxsystem. #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) |