Orthanc Architecture: Open-Source DICOM Server Implementation
Comprehensive overview of Orthanc server setup, from Docker deployment to REST API integration.
Introduction
Orthanc is an open-source DICOM server developed by the University of Liรจge in Belgium. It serves as a lightweight yet powerful solution for storing and sharing medical images, either complementing or replacing traditional PACS systems in hospitals. The platform is particularly valueable for medical imaging research and eduction purposes.
Released under the GPLv3 license, Orthanc is free and open-source software that supports cross-platform development across Windows, Linux, and macOS.
Key Features
- Complete DICOM protocol support
- Easy integration through HTTP/REST API
- Data exchange in JSON format
- Built-in web viewer for DICOM image viewing and management
Docker Deployment
Orthanc provides official Docker images to simplify PACS system development in containerized environments:
- Available at: https://hub.docker.com/r/orthancteam/orthanc
- Based on a lightweight Debian base image
- Packages Orthanc server and essential dependencies in a single container
Core Components
The orthancteam/orthanc Docker image integrates several key components into a single container:
Server Components
DICOM Server
- C-STORE: Protocol for storing medical images
- C-FIND: Protocol for searching stored images
- C-MOVE: Protocol for transferring images to other DICOM devices
- C-ECHO: Protocol for verifying connectively between DICOM devices
REST API Server
- Endpoints structured following DICOM data hierarchy
- CRUD opertaions support for Patient/Study/Sereis/Instance levels
Data Processing Components
DICOM Processor
- DICOM file parsing
- Metadata (tag) extraction
- Data structuring
Image Processor
- Raw pixel data extraction
- Format conversion support
- Compression processing for efficient storage
Storage Components
Database Manager
- Support for SQLite or PostgreSQL
- Metadata indexing = Query optimization for efficient searches
File System Manager
- Physical DICOM file storage management
- Systematic directory structure maintenance
- File access security management
Plugin System
Built-in Plugins
- DICOMWeb: DICOM web standard implementation
- DICOM Web Viewer
- PostgreSQL database support
- WSI (Whole Slide Imaging) Viewer for digital pathology slides
Custom plugins can be added through custom Docekrfiles.
Development Guide
Basic Docekr Command
1
docker run --name orthanc -p 4242:4242 -p 8042:8042 orthancteam/orthanc
- Port 4242: DICOM protocol
- Port 8042: Web interface/REST API
Docker with Volume Mounting
1
2
3
4
5
docker run --name orthanc \
-p 4242:4242 \
-p 8042:8042 \
-v /path/to/storage:/var/lib/orthanc/db \
orthancteam/orthanc
Custom Configuration Setup
1
2
3
4
5
6
docker run --name orthanc \
-p 4242:4242 \
-p 8042:8042 \
-v /path/to/storage:/var/lib/orthanc/db \
-v /path/to/config:/etc/orthanc \
orthancteam/orthanc
Configuration Reference
Sample orthanc.json
1
2
3
4
5
6
7
8
9
10
11
12
13
{
"Name": "MyOrthanc",
"StorageDirectory": "/var/lib/orthanc/db",
"IndexDirectory": "/var/lib/orthanc/db",
"HttpPort": 8042,
"DicomPort": 4242,
"DicomAet": "ORTHANC",
"RemoteAccessAllowed": true,
"AuthenticationEnabled": true,
"RegisteredUsers": {
"admin": "admin"
}
}
Configuration Categories
- Server Identification
- Storage Settings
- Network Port Configuration
- DICOM Network Settings
- Secutiry Settings
Disabling Web UI
To use REST API only, add to orthanc.json:
1
2
3
4
5
6
"WebViewer": {
"Enabled": false
},
"Explorer": {
"Enabled": false
}
REST API Overview
Orthanc provides comprehensive REST APIs for DICOM data management and manipulation:
- Key API Categories:
- Patient/Study/Series/Instance management (CRUD operation)
- DICOM networking (C-STORE, C-FIND, C-MOVE, etc.)
- System administration and monitoring
- Image processing and conversion
- Complete API document: Orthanc REST API Cheatsheet