DICOM Samples#

These examples demonstrate GPU-accelerated DICOM decoding and encoding with nvImageCodec.

The samples are organized into three focused examples, each covering a specific aspect of DICOM processing:

Overview#

Getting Started with pydicom Plugin

Introduction to GPU-accelerated DICOM decoding using the nvImageCodec pydicom plugin. This is the easiest way to get started - just register the plugin and use pydicom normally. Automatic GPU acceleration for supported transfer syntaxes (JPEG, JPEG 2000, HTJ2K).

Advanced Batch Decoding

Advanced techniques for maximum performance:

  • Direct nvImageCodec API usage for fine-grained control

  • Batch decoding for improved throughput

  • GPU memory management to avoid CPU copies

  • Performance comparison across different approaches

Transcoding to HTJ2K and Multi-Frame

Learn how to transcode DICOM series to modern formats:

  • HTJ2K (High-Throughput JPEG 2000) for lossless compression with GPU acceleration

  • Multi-frame (Enhanced) DICOM to consolidate series into single files

  • Ideal for PACS systems, medical imaging archives, and efficient storage

Supported Transfer Syntaxes#

The nvImageCodec pydicom plugin supports the following compressed transfer syntaxes:

  • JPEG Baseline (Process 1) - 1.2.840.10008.1.2.4.50

  • JPEG Lossless - 1.2.840.10008.1.2.4.57 & 1.2.840.10008.1.2.4.70

  • JPEG 2000 - 1.2.840.10008.1.2.4.90 & 1.2.840.10008.1.2.4.91

  • HTJ2K (High-Throughput JPEG 2000) - 1.2.840.10008.1.2.4.201, 1.2.840.10008.1.2.4.202, 1.2.840.10008.1.2.4.203