Mercurial > hg > orthanc-transfers
diff 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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README Mon Sep 17 11:34:55 2018 +0200 @@ -0,0 +1,86 @@ +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" +}