Crate dicom

Source
Expand description

§DICOM-rs library

This crate serves as a mother library for building DICOM compliant systems.

This library aggregates the key modules that you are likely to require when building software using DICOM-rs. These modules are also available as crates which can be fetched independently, in complement or as an alternative to using the dicom crate. When adding a new dependency in the DICOM-rs umbrella, they will generally have the dicom- prefix. For instance, the module object lives in the crate named dicom-object.

§Basic

  • For an idiomatic API to reading and writing DICOM data from files or other sources, see the object module.
  • To print human readable summaries of a DICOM object, see the dump module.
  • The pixeldata module helps you convert pixel data into images or multi-dimensional arrays.
  • The core crate contains most of the data types that the other crates rely on, including types for DICOM Tags (Tag), value representations (VR), and in-memory representations of DICOM values, contained in data elements. For convenience, the dicom_value! macro has been re-exported here as well.
  • The DICOM standard data dictionary is in dictionary_std, which not only provides a singleton to a standard DICOM tag index that can be queried at run-time, it also provides constants for known tags in the tags module.
  • In the event that you need to get the global registry of known transfer syntaxes, transfer_syntax a re-export of the dicom-transfer-syntax-registry crate. Moreover, inventory-based transfer syntax registry is enabled by default (see the link for more information).

§Advanced

  • To write DICOM network application entity software, see the ul module for PDU reading/writing and a DICOM association API.
  • If you are writing or declaring your own transfer syntax, you will need to take the encoding module and build your own TransferSyntax implementation.
  • parser contains the mid-level abstractions for reading and writing DICOM data sets. It might only be truly needed if the object API is unfit or too inefficient for a certain task.

§More

See the DICOM-rs project repository for the full list of crates available in the DICOM-rs ecosystem.

Re-exports§

pub use dicom_core as core;
pub use dicom_dictionary_std as dictionary_std;
pub use dicom_dump as dump;
pub use dicom_encoding as encoding;
pub use dicom_object as object;
pub use dicom_parser as parser;
pub use dicom_pixeldata as pixeldata;
pub use dicom_transfer_syntax_registry as transfer_syntax;
pub use dicom_ul as ul;

Macros§

dicom_value
Helper macro for constructing a DICOM primitive value, of an arbitrary variant and multiplicity.