view README @ 0:95226b754d9e

initial release
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 17 Sep 2018 11:34:55 +0200
parents
children 6f504d862494
line wrap: on
line source

Transfers accelerator plugin for Orthanc
========================================


General information
-------------------

This repository contains the source code of a plugin for Orthanc that
speeds up the transfers of DICOM instances over Internet.

The plugin can be used to send local images to remote Orthanc peers,
or to retrieve images stored on remote Orthanc peers.

Technically, this plugin extends the REST API of Orthanc with
endpoints that optimize the use of the network bandwidth over the HTTP
and HTTPS protocols, through the combination of the following
mechanisms:

* Small DICOM instances are grouped together to form so-called
  "buckets" of some megabytes in order to reduce the number of HTTP
  handshakes.

* Large DICOM instances are split as a set of smaller buckets in order
  to bypass nasty effects of TCP congestion control on low-quality
  network links.

* Buckets are download concurrently by several threads.

* Buckets can be individually compressed using the gzip algorithm,
  hereby reducing the network usage. On a typical medical image, this
  can divide the volume of the transmission by a factor 2 to 3, at the
  price of a larger CPU usage.

* Sending images to remote Orthanc peers can either be done with HTTP
  PUT requests (so-called "push mode"), or with HTTP GET requests if
  the local Orthanc server has a public IP address (so-called "pull
  mode").

Note that the protocol is built over HTTP/HTTPS (and not directly over
TCP), making it friendly with network firewalls and Web caches. Also,
the plugin takes advantage of the jobs engine of Orthanc, so that
transfers can be easily paused/canceled/resubmitted.


Content
-------

* ./Framework/         - Core C++ framework
* ./Plugin/            - Source code of the plugin
* ./Resources/         - 
* ./UnitTestsSources/  - Unit tests


Compilation and usage
---------------------

The compilation and usage of the plugin is part of the Orthanc Book:
http://book.orthanc-server.com/plugins/transfers.html


Licensing
---------

The transfers accelerator plugin for Orthanc is licensed under the
AGPL license.

We also kindly ask scientific works and clinical studies that make
use of Orthanc to cite Orthanc in their associated publications.
Similarly, we ask open-source and closed-source products that make
use of Orthanc to warn us about this use. You can cite our work
using the following BibTeX entry:

@Article{Jodogne2018,
  author="Jodogne, S{\'e}bastien",
  title="The {O}rthanc Ecosystem for Medical Imaging",
  journal="Journal of Digital Imaging",
  year="2018",
  month="Jun",
  day="01",
  volume="31",
  number="3",
  pages="341--352",
  issn="1618-727X",
  doi="10.1007/s10278-018-0082-y",
  url="https://doi.org/10.1007/s10278-018-0082-y"
}