Announcing dicom-server-rs v0.1.0: A High-Performance DICOM Store SCP in Rust

We are excited to announce the initial release of dicom-server-rs, a lightweight, high-performance DICOM server (Store SCP) built entirely in Rust.

In the world of medical imaging, reliability and speed are non-negotiable. By leveraging the Rust ecosystem, dicom-server-rs provides a modern alternative for receiving and managing DICOM files with a focus on safety and efficiency.

šŸš€ Key Features

  • Native Rust Implementation: Built using the dicom-rs ecosystem for robust parsing and protocol handling.

  • Store SCP Support: Fully supports the C-STORE operation, allowing it to act as a provider for imaging modalities (CT, MRI, X-ray) and PACS systems.

  • Asynchronous Architecture: Utilizing tokio to handle multiple concurrent associations without blocking.

  • Minimal Footprint: Designed to be lightweight and easy to deploy via binary or container.

šŸ›  Why Rust for DICOM?

DICOM files can be massive, and network associations often involve complex state machines. Traditional implementations often struggle with memory overhead or vulnerability to buffer overflows. dicom-server-rs solves this by:

  • Memory Safety: Eliminating common memory-related bugs at compile time.

  • Zero-Cost Abstractions: Providing high-level API ergonomics without sacrificing the performance of C/C++.

  • Concurrency: Effortlessly managing simultaneous incoming streams from multiple AE (Application Entity) titles.

šŸ“¦ Quick Start

To get started with v0.1.0, you can clone the repository and run the server:

  • Clone and Build
git clone https://github.com/momostarsky/dicom-server-rs.git
cd dicom-server-rs
cargo build --release
  • Prepare Database and Storage Service
cd dicom-server-rs
mkdir ~/verify-dicom
cp -r Docs/Install ~/verify-dicom/
cd ~/verify-dicom/Install
docker-compose up -d
  • Run Server

    • wado-server
    • wado-storescp
    • wado-consumer
    • wado-webworker

how to cofigure application.XXX.json

Refrences: Install

šŸ—ŗ Roadmap for v0.1.x and Beyond

While v0.1.0 focuses on the core Store SCP functionality, we have ambitious plans for the future:

  • Query/Retrieve (C-FIND/C-MOVE): Implementing full PACS capabilities.

  • Web Dashboard: A simple UI to monitor incoming traffic and storage status.

  • Custom Storage Backends: Support for S3 or other cloud storage providers.

  • OAuth2: Accessing DICOM files through OAuth2 for secure authorization.

  • Comprensive Documentation: A comprehensive guide for users and developers.

šŸ¤ Join the Community

This project is open-source and we welcome contributions! Whether you are a medical imaging professional, a Rust enthusiast, or a student looking to learn about healthcare tech, your input is valuable.

  • Star the repo: DicomServerRs

  • Open an issue: Found a bug or have a feature request? Let us know.

  • Submit a PR: We love code contributions!

Would you like me to refine this into a shorter Twitter/X announcement or a more technical deep-dive for a site like Dev.to?