Skip to content

Cross-platform Dicom native codecs for fo-dicom

License

Notifications You must be signed in to change notification settings

JonyHuang/fo-dicom.Codecs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dicom-Native

NuGet github Build Status

This is an alternative TranscoderManager class to be used along with the well-known fo-dicom project. It is associated to C/C++ libraries compiled natively for several platforms. So far:

  • Windows 64-bit (similar to Dicom.Native64.dll)
  • Linux 64-bit (tested with Ubuntu 16/18 Desktop and Server)
  • MacOS (tested with macOS High Sierra Version 10.13)

This transcoder differs from the existing fo-dicom implementations in the following:

  • Unified C/C++ source code for all platforms.
  • Does not implement a Managed C/C++ middleware. Direct C# to C/C++ integration.
  • Avoids pure C# implementation for performance reasons (with exception of RLE).

Supported CODECs

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

Usage

  • Add the nuget package to your .Net Standard or .NetCore project
  • Add the standard fo-dicom nuget packages to your project (tested with 4.0.2)
  • At the beginning of your application, replace the transcoder manager, as:
    Dicom.Imaging.Codec.TranscoderManager.SetImplementation(new Efferent.Native.Codec.NativeTranscoderManager());
  • Continue using any fo-dicom image manipulation function.

About

Cross-platform Dicom native codecs for fo-dicom

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 84.4%
  • C++ 12.9%
  • C# 2.4%
  • CMake 0.3%