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§

TransferSyntax
A DICOM transfer syntax specifier.
TransferSyntaxFactory
Wrapper type for a provider of transfer syntax descriptors.

Enums§

Codec
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.
Endianness
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.
NeverAdapter
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§

DataRWAdapter
An adapter of byte read and write streams.
TransferSyntaxIndex
Trait for a container/repository of transfer syntax specifiers.

Type Aliases§

AdapterFreeTransferSyntax
An alias for a transfer syntax specifier with no pixel data encapsulation nor data set deflating.
DynDataRWAdapter
Alias type for a dynamically dispatched data adapter.
DynDecoder
A decoder with its type erased.
DynEncoder
An encoder with its type erased.