dicom_encoding

Module transfer_syntax

Source
Expand description

Module containing the DICOM Transfer Syntax data structure and related methods. Similar to the DcmCodec in DCMTK, the TransferSyntax contains all of the necessary algorithms for decoding and encoding DICOM data in a certain transfer syntax.

This crate does not host specific transfer syntaxes. Instead, they are created in other crates and registered in the global transfer syntax registry, which implements TransferSyntaxIndex. For more information, please see the dicom-transfer-syntax-registry crate, which provides built-in implementations.

This module allows you to register your own transfer syntaxes. With the inventory-registry Cargo feature, you can use the macro submit_transfer_syntax or submit_ele_transfer_syntax to instruct the compiler to include your implementation in the registry. Without the inventory-based registry (in case your environment does not support it), you can still roll your own transfer syntax index.

Structs§

Enums§

  • A description and possible implementation regarding the encoding and decoding requirements of a transfer syntax. This is also used as a means to describe whether pixel data is encapsulated and whether this implementation supports decoding and/or encoding it.
  • Enumerate for materializing the two kinds of machine byte order supported by Rust in a dynamic fashion. That is, the information of whether to read or write data in Little Endian or in Big Endian is resolved at run time by observing this value.
  • An immaterial type representing a data set adapter which is never required, and as such is never instantiated. Most transfer syntaxes use this, as they do not have to adapt readers and writers for encoding and decoding data sets. The main exception is in the family of Deflated Explicit VR Little Endian transfer syntaxes.

Traits§

Type Aliases§