Post

Orthanc Architecture: Open-Source DICOM Server Implementation

Comprehensive overview of Orthanc server setup, from Docker deployment to REST API integration.

Orthanc Architecture: Open-Source DICOM Server Implementation

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
This post is licensed under CC BY 4.0 by the author.