This is collaborative project mantained by Fellow Oak Dicom and Efferent Health, LLC. The codecs in this repository are written in pure C/C++ code and wrapped with C# and netstandard2.0. The supported platforms so far are:
- Windows 64-bit (tested with Windows 10)
- Linux 64-bit (tested with Ubuntu 16/18 Desktop and Server)
- MacOS (tested with macOS High Sierra Version 10.13)
The following CODECS are implemented:
- JPEG 2000 Image Compression (Lossless Only)
- JPEG 2000 Image Compression
- JPEG Baseline (Process 1): Default Transfer Syntax for Lossy JPEG 8 Bit Image Compression
- JPEG Extended (Process 2 & 4): Default Transfer Syntax for Lossy JPEG 12 Bit Image Compression - (Process 4 only)
- JPEG Lossless, Non-Hierarchical (Process 14)
- JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14 [Selection Value 1]): Default Transfer Syntax for Lossless JPEG Image Compression
- JPEG-LS Lossless Image Compression
- JPEG-LS Lossy (Near-Lossless) Image Compression
- RLE Lossless
- Add the nuget package to your .net Standard or .net Core project
- Add the standard fo-dicom nuget packages to your project (tested with 4.0.5)
- Add the nuget package to your .net Standard or .net Core project (minimum version is 2.0)
- Add the standard fo-dicom nuget packages to your project (version 4.0.x)
- At the beginning of your application, replace the transcoder manager, as:
Dicom.Imaging.Codec.TranscoderManager.SetImplementation(new Dicom.Imaging.NativeCodec.NativeTranscoderManager());
Version 5.0 will incorporate these codecs by default
- Evaluate the coupling of fo-dicom with fo-dicom.Codecs (both directions)
- Determine if the same source code can be used for regular .net Framework
- Roadmap for increasing the platform coverage: iOS, Android, etc.
- Better testing strategy (consider codecs, color resolution, color encoding, LUT, palette, etc.)
- Add parallel processing capability