comparison README @ 6:6f504d862494

documentation is in the Orthanc Book
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 18 Sep 2018 17:32:27 +0200
parents 95226b754d9e
children 2bdb38da2562
comparison
equal deleted inserted replaced
5:5e6de82bb10f 6:6f504d862494
6 ------------------- 6 -------------------
7 7
8 This repository contains the source code of a plugin for Orthanc that 8 This repository contains the source code of a plugin for Orthanc that
9 speeds up the transfers of DICOM instances over Internet. 9 speeds up the transfers of DICOM instances over Internet.
10 10
11 The plugin can be used to send local images to remote Orthanc peers, 11 Instructions for the compilation and usage of the plugin is part of
12 or to retrieve images stored on remote Orthanc peers. 12 the Orthanc Book:
13 13 http://book.orthanc-server.com/plugins/transfers.html
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 14
44 15
45 Content 16 Content
46 ------- 17 -------
47 18
48 * ./Framework/ - Core C++ framework 19 * ./Framework/ - Core C++ framework
49 * ./Plugin/ - Source code of the plugin 20 * ./Plugin/ - Source code of the plugin
50 * ./Resources/ - 21 * ./Resources/ - Static resources
51 * ./UnitTestsSources/ - Unit tests 22 * ./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 23
60 24
61 Licensing 25 Licensing
62 --------- 26 ---------
63 27