Crate dicom_encoding
source ·Expand description
DICOM encoding and decoding primitives.
This crate provides interfaces and data structures for reading and writing data in accordance to the DICOM standard. This crate also hosts the concept of transfer syntax specifier, which can be used to produce DICOM encoders and decoders at run-time.
For the time being, all APIs are based on synchronous I/O.
Re-exports
pub use adapters::NeverPixelAdapter;
pub use decode::Decode;
pub use encode::Encode;
pub use transfer_syntax::Codec;
pub use transfer_syntax::DataRWAdapter;
pub use transfer_syntax::NeverAdapter;
pub use transfer_syntax::TransferSyntax;
pub use transfer_syntax::TransferSyntaxIndex;
Modules
Module for built-in pixel data adapters.
This module contains all DICOM data element decoding logic.
This module contains all DICOM data element encoding logic.
This module contains reusable components for encoding and decoding text in DICOM
data structures, including support for character repertoires.
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.Macros
Submit a transfer syntax specifier to be supported by the
program’s runtime. This is to be used by crates wishing to provide
additional support for a certain transfer syntax using the
main transfer syntax registry.
Enums
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.