Overview
DICOM-rs is an ecosystem of libraries and tools for working with DICOM systems.
- Work with DICOM meta-data and pixel data with ease.
- Communicate with existing DICOM systems.
- Built in the Rust programming language for performance and reliability.
- Portable and prepared for all modern environments.
- Free to use and extend, for life.
Using as a library
Get started quickly by adding the dicom
crate to your Rust project.
[]
= "0.8"
Or pick exactly what you need from the various crates in the DICOM-rs umbrella.
- dicom-object
- dicom-dump
- dicom-json
- dicom-pixeldata
- dicom-ul
- dicom-dictionary-std
- dicom-transfer-syntax-registry
- dicom-parser
- dicom-encoding
- dicom-core
Example
Fetch a DICOM file and read its contents as a dictionary of data set elements.
use open_file;
use tags;
let obj = open_file?;
let patient_name = obj.element?
.to_patient_name?;
let modality = obj.element?
.to_str?;
println!;
Bring it to the Web
Rich DICOM applications can be delivered to the browser using WebAssembly.
See also a simple proof-of-concept DICOM viewer made with DICOM-rs.
Tools
DICOM-rs gives you cross-compatible command line tools for various operational needs.
dicom-dump
to inspect the contents of DICOM files;dicom-toimage
to turn DICOM files into general image files;dicom-storescu
to send DICOM files to a DICOM device;dicom-findscu
to query a DICOM device;- and more!
These tools are standalone and can be downloaded here. Windows and linux binaries are available.
Free and open
DICOM-rs embraces the open source software model with a permissive license (dual license Apache 2.0 OR MIT), enabling its use in academia and professional software.
Community
- See the official GitHub repository to follow the development process, report issues, and open discussion.
- For real time chatting about DICOM-rs, see the DICOM-rs Zulip.
- All interactions must abide to the community Code of Conduct.