Skip to content

FNNDSC/oxidicom

Repository files navigation

oxidicom

GitHub tag MIT License CI codecov

oxidicom is a high-performance DICOM receiver for the ChRIS backend (CUBE).

Documentation: https://chrisproject.org/docs/oxidicom

Development

You'll need: Docker Compose and Rust.

Start RabbitMQ and Orthanc services for testing, then download test data:

docker compose up -d
docker compose run --rm get-data

Run all tests:

export RUST_LOG=oxidicom=debug,integration_test=debug  # optional
cargo test

Clean up:

docker compose down -v

Notes

Usage of opentelemetry v.s. tracing in the codebase

dicom-rs itself uses the tracing crate, though for the spans described above, I decided to use the opentelemetry crate for spans, and tracing for logs.

Sample DICOM files

See https://github.com/FNNDSC/sample_dicom_downloader