Skip to content

DICOM to NIfTI/BIDS validation script for common transfer syntaxes

License

Notifications You must be signed in to change notification settings

neurolabusc/dcm_qa_ts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

dcm_qa_ts is a simple DICOM to NIfTI validator script and dataset to test conversion of DICOM images saved using different transfer syntaxes. DICOM can store images as either raw or compressed data. The standard allows several compression formats (each known as a Transfer Syntax). Some of these compression methods are rarely seen outside of DICOM.

Be aware that the DICOM standard only requires compliant tools to handle the raw (uncompressed) transfer syntaxes. Therefore, many tools will not support these compressed transfer syntaxes. As discussed elsewhere, these formats are typically inefficient in terms of compression ratio or speed. In general, it is probably a good idea to not use these transfer syntaxes. If compression is required, one should consider a modern full-file compression method such as zstd. This repository validates compatibility, and does not demonstrate best practices.

This repository does not include all possible DICOM transfer syntaxes. Rather, it is restricted to the lossless image formats supported by popular tools.

As noted below, dcm2niix must be compiled with external libraries to support JPEG2000 and JPEG-LS. Therefore, minimal installations of dcm2niix will not handle those formats.

DataSets

All data was acquired Siemens Trio with VB17. Images are listed by series number. Image data is identical for all images, they were all created from the same image, but each given a separate series number and MediaStorageSOPInstanceUID (e.g.dcmodify -gin -m "(0020,0011)=9" 9a.dcm).

  • 1.dcm

    • Transfer Syntax: 1.2.840.10008.1.2.1
    • Compression: None, Explicit VR Little Endian
    • Compressed using: None, raw transmission from scanner to dcmtk 3.54 PACS.
  • 2.dcm

    • Transfer Syntax: 1.2.840.10008.1.2
    • Compression: None, Implicit VR Endian: Default Transfer Syntax for DICOM
    • Compressed using: gdcmconv
    • Compression command: gdcmconv -w -M 2a.dcm 2.dcm
  • 3.dcm

    • Transfer Syntax: 1.2.840.10008.1.2.2
    • Compression: None, Explicit VR Big Endian
    • Compressed using: dcmconv
    • Compression command: dcmconv +tb 3a.dcm 3.dcm
  • 4.dcm

    • Transfer Syntax: 1.2.840.10008.1.2.5
    • Compression: Run-Length-Encoding (RLE) Lossless
    • Compressed using: gdcmconv
    • Compression command: gdcmconv --rle 4a.dcm 4.dcm
    • Notes: dcm2niix will decompress this using in-built function
  • 5.dcm

    • Transfer Syntax: 1.2.840.10008.1.2.4.70
    • Compression: JPEG Lossless, Nonhierarchical, First- Order Prediction
    • Compressed using: dcmcjpeg
    • Compression command: dcmcjpeg +e1 5a.dcm 5.dcm
    • Notes: dcm2niix will decompress this using in-built function
  • 6.dcm

    • Transfer Syntax: 1.2.840.10008.1.2.4.80
    • Compression: JPEG-LS Lossless Image Compression
    • Compressed using: gdcmconv
    • Compression command: gdcmconv --jpeg 6a.dcm 6.dcm
    • Notes: dcm2niix will decompress this using in-built function
  • 7.dcm

    • Transfer Syntax: 1.2.840.10008.1.2.4.80
    • Compression: JPEG-LS Lossless Image Compression
    • Compressed using: gdcmconv
    • Compression command: gdcmconv --jpegls 7a.dcm 7.dcm
    • Notes: dcm2niix will decompress this using CharLS
  • 8.dcm

    • Transfer Syntax: 1.2.840.10008.1.2.4.80
    • Compression: JPEG-LS Lossless Image Compression
    • Compressed using: dcmcjpls
    • Compression command: dcmcjpls 8a.dcm 8.dcm
    • Notes: dcm2niix will decompress this using CharLS
  • 9.dcm

    • Transfer Syntax: 1.2.840.10008.1.2.4.90
    • Compression: JPEG 2000 Image Compression (Lossless Only)
    • Compressed using: gdcmconv
    • Compression command: gdcmconv --j2k 9a.dcm 9.dcm
    • Notes: dcm2niix will decompress this using OpenJPEG

Links

About

DICOM to NIfTI/BIDS validation script for common transfer syntaxes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages