Mercurial > hg > orthanc-transfers
comparison README @ 0:95226b754d9e
initial release
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 17 Sep 2018 11:34:55 +0200 |
parents | |
children | 6f504d862494 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:95226b754d9e |
---|---|
1 Transfers accelerator plugin for Orthanc | |
2 ======================================== | |
3 | |
4 | |
5 General information | |
6 ------------------- | |
7 | |
8 This repository contains the source code of a plugin for Orthanc that | |
9 speeds up the transfers of DICOM instances over Internet. | |
10 | |
11 The plugin can be used to send local images to remote Orthanc peers, | |
12 or to retrieve images stored on remote Orthanc peers. | |
13 | |
14 Technically, this plugin extends the REST API of Orthanc with | |
15 endpoints that optimize the use of the network bandwidth over the HTTP | |
16 and HTTPS protocols, through the combination of the following | |
17 mechanisms: | |
18 | |
19 * Small DICOM instances are grouped together to form so-called | |
20 "buckets" of some megabytes in order to reduce the number of HTTP | |
21 handshakes. | |
22 | |
23 * Large DICOM instances are split as a set of smaller buckets in order | |
24 to bypass nasty effects of TCP congestion control on low-quality | |
25 network links. | |
26 | |
27 * Buckets are download concurrently by several threads. | |
28 | |
29 * Buckets can be individually compressed using the gzip algorithm, | |
30 hereby reducing the network usage. On a typical medical image, this | |
31 can divide the volume of the transmission by a factor 2 to 3, at the | |
32 price of a larger CPU usage. | |
33 | |
34 * Sending images to remote Orthanc peers can either be done with HTTP | |
35 PUT requests (so-called "push mode"), or with HTTP GET requests if | |
36 the local Orthanc server has a public IP address (so-called "pull | |
37 mode"). | |
38 | |
39 Note that the protocol is built over HTTP/HTTPS (and not directly over | |
40 TCP), making it friendly with network firewalls and Web caches. Also, | |
41 the plugin takes advantage of the jobs engine of Orthanc, so that | |
42 transfers can be easily paused/canceled/resubmitted. | |
43 | |
44 | |
45 Content | |
46 ------- | |
47 | |
48 * ./Framework/ - Core C++ framework | |
49 * ./Plugin/ - Source code of the plugin | |
50 * ./Resources/ - | |
51 * ./UnitTestsSources/ - Unit tests | |
52 | |
53 | |
54 Compilation and usage | |
55 --------------------- | |
56 | |
57 The compilation and usage of the plugin is part of the Orthanc Book: | |
58 http://book.orthanc-server.com/plugins/transfers.html | |
59 | |
60 | |
61 Licensing | |
62 --------- | |
63 | |
64 The transfers accelerator plugin for Orthanc is licensed under the | |
65 AGPL license. | |
66 | |
67 We also kindly ask scientific works and clinical studies that make | |
68 use of Orthanc to cite Orthanc in their associated publications. | |
69 Similarly, we ask open-source and closed-source products that make | |
70 use of Orthanc to warn us about this use. You can cite our work | |
71 using the following BibTeX entry: | |
72 | |
73 @Article{Jodogne2018, | |
74 author="Jodogne, S{\'e}bastien", | |
75 title="The {O}rthanc Ecosystem for Medical Imaging", | |
76 journal="Journal of Digital Imaging", | |
77 year="2018", | |
78 month="Jun", | |
79 day="01", | |
80 volume="31", | |
81 number="3", | |
82 pages="341--352", | |
83 issn="1618-727X", | |
84 doi="10.1007/s10278-018-0082-y", | |
85 url="https://doi.org/10.1007/s10278-018-0082-y" | |
86 } |