Mercurial > hg > orthanc-transfers
changeset 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 | 5e6de82bb10f |
children | 151e29acbb13 |
files | README Resources/OrthancExplorer.js |
diffstat | 2 files changed, 11 insertions(+), 47 deletions(-) [+] |
line wrap: on
line diff
--- a/README Tue Sep 18 15:39:02 2018 +0200 +++ b/README Tue Sep 18 17:32:27 2018 +0200 @@ -8,38 +8,9 @@ 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. +Instructions for the compilation and usage of the plugin is part of +the Orthanc Book: +http://book.orthanc-server.com/plugins/transfers.html Content @@ -47,17 +18,10 @@ * ./Framework/ - Core C++ framework * ./Plugin/ - Source code of the plugin -* ./Resources/ - +* ./Resources/ - Static 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 ---------
--- a/Resources/OrthancExplorer.js Tue Sep 18 15:39:02 2018 +0200 +++ b/Resources/OrthancExplorer.js Tue Sep 18 17:32:27 2018 +0200 @@ -1,4 +1,4 @@ -function TransferAcceleratorSelectPeer(callback) +function TransfersAcceleratorSelectPeer(callback) { var items = $('<ul>') .attr('data-divider-theme', 'd') @@ -59,21 +59,21 @@ } -function TransferAcceleratorAddSendButton(level, siblingButton) +function TransfersAcceleratorAddSendButton(level, siblingButton) { var b = $('<a>') .attr('data-role', 'button') .attr('href', '#') .attr('data-icon', 'search') .attr('data-theme', 'e') - .text('Transfer accelerator'); + .text('Transfers accelerator'); b.insertBefore($(siblingButton).parent().parent()); b.click(function() { if ($.mobile.pageData) { var uuid = $.mobile.pageData.uuid; - TransferAcceleratorSelectPeer(function(peer) { + TransfersAcceleratorSelectPeer(function(peer) { console.log('Sending ' + level + ' ' + uuid + ' to peer ' + peer); var query = { @@ -109,13 +109,13 @@ $('#patient').live('pagebeforecreate', function() { - TransferAcceleratorAddSendButton('Patient', '#patient-delete'); + TransfersAcceleratorAddSendButton('Patient', '#patient-delete'); }); $('#study').live('pagebeforecreate', function() { - TransferAcceleratorAddSendButton('Study', '#study-delete'); + TransfersAcceleratorAddSendButton('Study', '#study-delete'); }); $('#series').live('pagebeforecreate', function() { - TransferAcceleratorAddSendButton('Series', '#series-delete'); + TransfersAcceleratorAddSendButton('Series', '#series-delete'); });