# HG changeset patch # User Sebastien Jodogne # Date 1700597342 -3600 # Node ID 1316bc62b5d5001aeb6895ad5614466a38143ce0 # Parent 27b75c653a8bd781f6772339b0d8c5f37fbb522a migration to UCLouvain servers diff -r 27b75c653a8b -r 1316bc62b5d5 README.md --- a/README.md Tue Nov 21 10:36:44 2023 +0100 +++ b/README.md Tue Nov 21 21:09:02 2023 +0100 @@ -6,10 +6,10 @@ [official Website](http://www.orthanc-server.com/). This repository contains the source code of the -[Orthanc Book](http://book.orthanc-server.com/), that documents how +[Orthanc Book](https://orthanc.uclouvain.be/book/), that documents how Orthanc can be used. It also contains the source code of the documentation of the -[REST API of Orthanc](http://api.orthanc-server.com/). The continuous +[REST API of Orthanc](https://orthanc.uclouvain.be/api/). The continuous integration server (CIS) of Orthanc watches this repository, and automatically publishes modifications online. @@ -60,7 +60,7 @@ for review by the Orthanc project. * Once the pull request is reviewed and accepted, the continuous integration server of the Orthanc project will automatically - publish the new version [online](http://book.orthanc-server.com/). + publish the new version [online](https://orthanc.uclouvain.be/book/). @@ -69,15 +69,15 @@ The REST API of Orthanc is now fully documented in the [source code of the Orthanc -server](https://hg.orthanc-server.com/orthanc/file/default/OrthancServer/Sources/OrthancRestApi). +server](https://orthanc.uclouvain.be/hg/orthanc/file/default/OrthancServer/Sources/OrthancRestApi). The `--openapi=` and the `--cheatsheet=` command-line options of Orthanc automatically generate respectively the [OpenAPI in JSON format](https://swagger.io/specification/) and its [quick reference -(cheatsheet)](https://book.orthanc-server.com/users/rest-cheatsheet.html) +(cheatsheet)](https://orthanc.uclouvain.be/book/users/rest-cheatsheet.html) in CSV format that is designed to be included right into the [Orthanc -Book](https://hg.orthanc-server.com/orthanc-book/file/default/Sphinx/source/users/rest-cheatsheet.csv). +Book](https://orthanc.uclouvain.be/hg/orthanc-book/file/default/Sphinx/source/users/rest-cheatsheet.csv). In order to contribute to the documentation of the REST API, you can [propose a simple -patch](https://book.orthanc-server.com/developers/repositories.html#simple-patch-import-export) +patch](https://orthanc.uclouvain.be/book/developers/repositories.html#simple-patch-import-export) to the core of Orthanc to be reviewed by the core maintainers. diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/contributing.rst --- a/Sphinx/source/contributing.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/contributing.rst Tue Nov 21 21:09:02 2023 +0100 @@ -62,9 +62,9 @@ topics too! - Improve the text of the `Orthanc Book and REST API documentation - `__ (check + `__ (check out the instructions provided in the `README file - `__, + `__, and send us a :ref:`simple patch `). - Provide documentation and use cases (inside the dedicated `GitHub repository `_, via @@ -77,7 +77,7 @@ - Report problems together with sample DICOM images and possible workarounds on the dedicated `issue tracker - `_. + `_. - Package Orthanc and its associated plugins for more UNIX or GNU/Linux distributions (e.g. Ubuntu PPA, RHEL/`EPEL `__, CentOS, openSUSE...). @@ -102,7 +102,7 @@ * **Coding tasks**: - Have a look at the TODO file containing our `official roadmap - `__. + `__. - The Orthanc project will happily accept patches in the core of Orthanc and in its associated official plugins. Please read the :ref:`dedicated FAQ entry `. diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/developers/coding-style.rst --- a/Sphinx/source/developers/coding-style.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/developers/coding-style.rst Tue Nov 21 21:09:02 2023 +0100 @@ -12,7 +12,7 @@ `__", with some adaptations that are described below. A compliant Eclipse formatter is `available in the Orthanc distribution -`__ (not maintained anymore). +`__ (not maintained anymore). Licensing --------- diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/developers/creating-plugins.rst --- a/Sphinx/source/developers/creating-plugins.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/developers/creating-plugins.rst Tue Nov 21 21:09:02 2023 +0100 @@ -15,7 +15,7 @@ Native Orthanc plugins must use the `plugin SDK `__ whose interface is available as a `C header -`__. +`__. As a consequence, an Orthanc plugin will typically be written using C or C++, although it is also possible to create native plugins using languages that feature compatibility with C headers and with `FFI of @@ -39,7 +39,7 @@ * Sample code for plugins can be found `in the official Orthanc repository - `__ + `__ (in the ``Plugins/Samples`` folder). * A tutorial showing how to implement a basic WADO server is @@ -96,7 +96,7 @@ that is part of the Orthanc source distribution: * `Plugins/Include/orthanc/OrthancCPlugin.h - `__ + `__ `Online documentation `__ for this C header is available, as generated by `Doxygen @@ -110,8 +110,8 @@ ``HAS_ORTHANC_EXCEPTION`` is set to ``0``: * `Plugins/Samples/Common/OrthanPluginCppWrapper.h - `__ + `__ * `Plugins/Samples/Common/OrthanPluginCppWrapper.cpp - `__ + `__ * `Plugins/Samples/Common/OrthanPluginException.h - `__ + `__ diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/developers/repositories.rst --- a/Sphinx/source/developers/repositories.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/developers/repositories.rst Tue Nov 21 21:09:02 2023 +0100 @@ -11,7 +11,7 @@ The Orthanc server and most of its plugins are versioned using `Mercurial `__ on a -`self-hosted server `__. +`self-hosted server `__. The Orthanc project started back in 2011, back in a time where Mercurial and `Git `__ were equally @@ -63,7 +63,7 @@ Anybody has full read-only access to all of the Orthanc official repositories, on our `self-hosted server -`__. As the ``hg serve`` tool that is +`__. As the ``hg serve`` tool that is used by our Web server tends to be slow, we recommend people to locally clone our Mercurial repositories. @@ -72,7 +72,7 @@ Locally cloning one of those Mercurial repositories (say, the main ``orthanc`` repository) is as simple as typing:: - $ hg clone https://hg.orthanc-server.com/orthanc/ + $ hg clone https://orthanc.uclouvain.be/hg/orthanc/ You can then use separate tools such as `TortoiseHg `__ to browse the code with @@ -172,9 +172,9 @@ "Mavericks". Submitted code might have to be adapted to compile on these platforms. Architecture-dependant code should be located in the `Orthanc::Toolbox - `__ + `__ and `Orthanc::SystemToolbox - `__ + `__ static classes. * Please stick to the :ref:`coding style ` of Orthanc. @@ -184,11 +184,11 @@ feature. Large architectural changes are reserved for the core development team of Orthanc, as we must follow our `long-term roadmap - `__. + `__. * Unit testing is mandatory. Integration tests should be submitted to the `dedicated repository - `__. + `__. * All the contributions will be carefully reviewed. Some contributions may be modified, yet even rejected. A rejection might for instance @@ -281,10 +281,10 @@ gathers all your changes against the source repository as follows:: $ hg commit -m 'submitting my fix' - $ hg bundle /tmp/contribution.bundle https://hg.orthanc-server.com/orthanc + $ hg bundle /tmp/contribution.bundle https://orthanc.uclouvain.be/hg/orthanc Obviously, make sure to replace -``https://hg.orthanc-server.com/orthanc`` by the location of the +``https://orthanc.uclouvain.be/hg/orthanc`` by the location of the source repository. Finally, you can submit the file ``/tmp/contribution.bundle`` to the @@ -295,7 +295,7 @@ by typing the following commands on their side:: $ cd /tmp - $ hg clone https://hg.orthanc-server.com/orthanc/ + $ hg clone https://orthanc.uclouvain.be/hg/orthanc/ $ cd /tmp/orthanc $ hg unbundle /tmp/contribution.bundle $ hg up -c default @@ -316,7 +316,7 @@ Issue tracker ------------- -The `official bug tracker `__ of the +The `official bug tracker `__ of the Orthanc project runs thanks to `Bugzilla `__. diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/developers/stone.rst --- a/Sphinx/source/developers/stone.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/developers/stone.rst Tue Nov 21 21:09:02 2023 +0100 @@ -9,5 +9,5 @@ For the time being, documentation is provided through various sample applications that can be found in the `source distribution -`__. +`__. diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/dicom-guide.rst --- a/Sphinx/source/dicom-guide.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/dicom-guide.rst Tue Nov 21 21:09:02 2023 +0100 @@ -133,7 +133,7 @@ `__). `As written in its DICOM conformance statement -`__, +`__, the Orthanc software can receive, store and send any kind of DICOM images (i.e. all the standard transfer syntaxes are supported). Furthermore, Orthanc can :ref:`convert most uncompressed diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/faq/compiling-old.rst --- a/Sphinx/source/faq/compiling-old.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/faq/compiling-old.rst Tue Nov 21 21:09:02 2023 +0100 @@ -7,7 +7,7 @@ This page summarizes the GNU/Linux build instructions that were used **up to Orthanc 0.7.0 (inclusive)**. Instructions for Orthanc above 0.7.0 can be found directly `inside the source package -`_. +`_. Static linking -------------- diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/faq/compiling.rst --- a/Sphinx/source/faq/compiling.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/faq/compiling.rst Tue Nov 21 21:09:02 2023 +0100 @@ -13,7 +13,7 @@ --------------- * Orthanc >= 0.7.1: See the `build instructions - `_ + `_ inside the source package. * Orthanc <= 0.7.0: See the :ref:`compiling-old`. @@ -36,7 +36,7 @@ ----------------------- See the `build instructions for Windows -`_ inside +`_ inside the source package. Under OS X @@ -45,7 +45,7 @@ The mainline of Orthanc can compile under Apple OS X, with the XCode compiler, since June 24th, 2014. See the `build instructions for Darwin -`_ +`_ inside the source package. Performance warning @@ -70,7 +70,7 @@ the third-party dependencies directly inside the Orthanc executable. This is the meaning of the ``-DSTATIC_BUILD=ON`` option, as described in the `INSTALL -`_ file of Orthanc. +`_ file of Orthanc. Such a static linking is very desirable under Windows, since the Orthanc binaries do not depend on any external DLL, which results in a diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/faq/features.rst --- a/Sphinx/source/faq/features.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/faq/features.rst Tue Nov 21 21:09:02 2023 +0100 @@ -433,7 +433,7 @@ [...] < HTTP/1.1 200 OK -Check out the `OpenAPI reference `__ +Check out the `OpenAPI reference `__ of the REST API of Orthanc for more information. **Warning:** The database index back-end must implement support for diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/faq/licensing.rst --- a/Sphinx/source/faq/licensing.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/faq/licensing.rst Tue Nov 21 21:09:02 2023 +0100 @@ -254,7 +254,7 @@ Once the CLA onboarding process has succeeded, use `Mercurial `__ to fork the official repository of interest. All the repositories are centralized on our -`self-hosted Mercurial server `__. +`self-hosted Mercurial server `__. A :ref:`dedicated page ` explains how to submit :ref:`simple patches ` or :ref:`full branches `. diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/faq/matlab.rst --- a/Sphinx/source/faq/matlab.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/faq/matlab.rst Tue Nov 21 21:09:02 2023 +0100 @@ -22,7 +22,7 @@ Using JSONlab, the following code will download and display a DICOM image:: SERIES = 'ae164c84-e5bd0366-ba937a6d-65414092-f294d6b6'; - URL = 'http://demo.orthanc-server.com/'; + URL = 'https://orthanc.uclouvain.be/demo/'; # Get information about the instances in this DICOM series instances = loadjson(urlread([ URL '/series/' SERIES '/instances' ])); @@ -52,7 +52,7 @@ Orthanc, then decode this DICOM file using Matlab/Octave:: SERIES = 'ae164c84-e5bd0366-ba937a6d-65414092-f294d6b6'; - URL = 'http://demo.orthanc-server.com/'; + URL = 'https://orthanc.uclouvain.be/demo/'; # Get information about the instances in this DICOM series instances = loadjson(urlread([ URL '/series/' SERIES '/instances' ])); diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/faq/orthanc-ids.rst --- a/Sphinx/source/faq/orthanc-ids.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/faq/orthanc-ids.rst Tue Nov 21 21:09:02 2023 +0100 @@ -41,7 +41,7 @@ The actual implementation of the hashing is carried on by the `DicomInstanceHasher class -`_. +`_. If two different instances have the same Orthanc identifier, only one of them is kept. By default, the first instance that was received by diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/faq/orthanc-storage.rst --- a/Sphinx/source/faq/orthanc-storage.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/faq/orthanc-storage.rst Tue Nov 21 21:09:02 2023 +0100 @@ -59,9 +59,9 @@ database schema is kept as simple as possible, and can be found in the following two files of the source code of Orthanc: `PrepareDatabase.sql -`__ +`__ and `InstallTrackAttachmentsSize.sql -`__. +`__. Direct access diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/faq/rest-samples.rst --- a/Sphinx/source/faq/rest-samples.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/faq/rest-samples.rst Tue Nov 21 21:09:02 2023 +0100 @@ -10,11 +10,11 @@ dedicated section `. * Many working examples written in Python are `available in the source distribution - `__. + `__. * If you cannot find an example for some feature in this manual or in the Python examples, please check the `publicly available integration tests - `__ + `__ that span most of the REST API. * Samples for the deprecated APIs are available below. @@ -50,7 +50,7 @@ *Note:* This API has been superseded by the ``/modalities/.../query`` URI. Please check the ``test_rest_query_retrieve`` `integration test -`__. +`__. Using Orthanc to Ease WADO Querying (Deprecated) @@ -85,4 +85,4 @@ *Note:* This API has been superseded by the ``/modalities/.../query`` URI. Please check the ``test_rest_query_retrieve`` `integration test -`__. +`__. diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/faq/scalability.rst --- a/Sphinx/source/faq/scalability.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/faq/scalability.rst Tue Nov 21 21:09:02 2023 +0100 @@ -259,9 +259,9 @@ also modify the database). Some issues reported in our bug tracker are related this limitation: -`issue 83 `__, -`issue 121 `__, -`issue 151 `__. +`issue 83 `__, +`issue 121 `__, +`issue 151 `__. This limitation has disappeared with Orthanc 1.9.2 and PostgreSQL/MySQL plugins 4.0, were the database engine was fully diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/faq/supported-images.rst --- a/Sphinx/source/faq/supported-images.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/faq/supported-images.rst Tue Nov 21 21:09:02 2023 +0100 @@ -5,7 +5,7 @@ Orthanc can **receive/store/send** any kind of standard DICOM files (cf. the `DICOM conformance statement -`__). +`__). Note that the ``UnknownSopClassAccepted`` :ref:`configuration option ` can be set to `true` if interfacing with modalities that are producing non-standard SOP classes. diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/faq/transcoding.rst --- a/Sphinx/source/faq/transcoding.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/faq/transcoding.rst Tue Nov 21 21:09:02 2023 +0100 @@ -220,7 +220,7 @@ ``OrthancPluginRegisterOnStoredInstanceCallback()`` function). A sample Lua script that converts every incoming DICOM file to the JPEG2k transfer syntax is `part of the Orthanc sources -`__. Note +`__. Note that this solution makes no sense anymore in Orthanc 1.7.0, as it provides built-in support for transcoding. diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/faq/troubleshooting.rst --- a/Sphinx/source/faq/troubleshooting.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/faq/troubleshooting.rst Tue Nov 21 21:09:02 2023 +0100 @@ -143,7 +143,7 @@ advantage of this patch, you need to statically link Orthanc against DCMTK by using the ``-DUSE_SYSTEM_DCMTK=OFF`` flag `when invoking CMake - `__. + `__. Checking integrity of the storage area diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/plugins/authorization.rst --- a/Sphinx/source/plugins/authorization.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/plugins/authorization.rst Tue Nov 21 21:09:02 2023 +0100 @@ -16,7 +16,7 @@ How to get it ? --------------- -The source code is available on `Mercurial `__. +The source code is available on `Mercurial `__. Binaries are included in: @@ -24,7 +24,7 @@ - The `Windows Installer `__ - The `MacOS packages `__ -Release notes are available `here `__. +Release notes are available `here `__. Compilation instructions are available below. @@ -179,7 +179,7 @@ the cache entry will never expire. **Note:** The source code of the plugin contains a `basic example -`__ +`__ of such a Web service written in node.js. @@ -262,7 +262,7 @@ .. highlight:: json -The full list of configuration is available `here `__. +The full list of configuration is available `here `__. Here is the list of all the configuration options:: diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/plugins/dicomweb.rst --- a/Sphinx/source/plugins/dicomweb.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/plugins/dicomweb.rst Tue Nov 21 21:09:02 2023 +0100 @@ -19,7 +19,7 @@ The full standard is not implemented yet, the supported features are `tracked in the repository -`__. +`__. Compilation @@ -48,7 +48,7 @@ *Remark:* Some older build instructions are also available in the `source distribution -`__. +`__. Installation @@ -319,7 +319,7 @@ ``ChunkedTransfers`` to ``true`` in Orthanc 1.5.7 and 1.5.8 utilizes one CPU at 100%, which results in very low throughput: This issue is resolved in Orthanc 1.6.0 (cf. `issue 156 - `__ for full + `__ for full explanation). * ``HasWadoRsUniversalTransferSyntax`` (new in DICOMweb 1.1) must be @@ -458,8 +458,8 @@ Here is a direct link to the DICOMweb client running on our demo server: -`https://demo.orthanc-server.com/dicom-web/app/client/index.html -`__ +`https://orthanc.uclouvain.be/demo/dicom-web/app/client/index.html +`__ @@ -728,12 +728,12 @@ Samples of how to call DICOMweb services from standalone applications are available for `Python -`__ +`__ and for `JavaScript -`__. +`__. Integration tests are `available separately -`__, +`__, and provide samples for more advanced features of the REST API (such as dynamically adding/updating/removing remote DICOMweb servers using HTTP PUT and DELETE methods). diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/plugins/gdcm.rst --- a/Sphinx/source/plugins/gdcm.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/plugins/gdcm.rst Tue Nov 21 21:09:02 2023 +0100 @@ -63,7 +63,7 @@ *Remark:* Some older build instructions are also available in the `source distribution -`__. +`__. Usage diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/plugins/google-cloud-platform.rst --- a/Sphinx/source/plugins/google-cloud-platform.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/plugins/google-cloud-platform.rst Tue Nov 21 21:09:02 2023 +0100 @@ -11,7 +11,7 @@ ------------ Osimis freely provides the `source code -`__ of a plugin +`__ of a plugin to interface Orthanc with the Healthcare API of `Google Cloud Platform (GCP) `__ through `DICOMweb `__. diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/plugins/multitenant-dicom.rst --- a/Sphinx/source/plugins/multitenant-dicom.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/plugins/multitenant-dicom.rst Tue Nov 21 21:09:02 2023 +0100 @@ -13,7 +13,7 @@ from different DICOM servers, that each provides a different view depending on the presence of labels. This plugin available is part of the `official source distribution -`__ +`__ of Orthanc, starting with Orthanc 1.12.0. This plugin starts additional DICOM servers, in complement to the main diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/plugins/mysql.rst --- a/Sphinx/source/plugins/mysql.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/plugins/mysql.rst Tue Nov 21 21:09:02 2023 +0100 @@ -18,7 +18,7 @@ The source code of the MySQL/MariaDB plugins can be found in the ``orthanc-databases`` `Mercurial repository -`__, next to the +`__, next to the source code of the :ref:`ODBC ` and :ref:`PostgreSQL ` plugins. diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/plugins/object-storage.rst --- a/Sphinx/source/plugins/object-storage.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/plugins/object-storage.rst Tue Nov 21 21:09:02 2023 +0100 @@ -10,7 +10,7 @@ ------------- Release notes are available `here -`__ +`__ Introduction ------------ diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/plugins/odbc.rst --- a/Sphinx/source/plugins/odbc.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/plugins/odbc.rst Tue Nov 21 21:09:02 2023 +0100 @@ -14,7 +14,7 @@ The source code of the ODBC plugins can be found in the ``orthanc-databases`` `Mercurial repository -`__, next to the +`__, next to the source code of the :ref:`PostgreSQL ` and :ref:`MySQL/MariaDB ` plugins. @@ -249,7 +249,7 @@ The ODBC plugins for Orthanc are universal, in the sense that they can connect to any ODBC driver. However, there are some minor variations in the SQL language, that are known as "dialects" in the `source code -of the plugins `__. +of the plugins `__. As of ODBC plugins 1.0, the supported dialects are Microsoft SQL Server, PostgreSQL, MySQL and SQLite. Orthanc auto-detects the dialect diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/plugins/ohif.rst --- a/Sphinx/source/plugins/ohif.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/plugins/ohif.rst Tue Nov 21 21:09:02 2023 +0100 @@ -298,7 +298,7 @@ `__ for a DICOM study of interest can be retrieved as follows:: - $ curl http://demo.orthanc-server.com/studies/6b9e19d9-62094390-5f9ddb01-4a191ae7-9766b715/ohif-dicom-json + $ curl https://orthanc.uclouvain.be/demo/studies/6b9e19d9-62094390-5f9ddb01-4a191ae7-9766b715/ohif-dicom-json This data source is constructed from the :ref:`metadata 4202 ` associated with the individual DICOM instances of the @@ -307,7 +307,7 @@ debugging, the JSON file associated with a DICOM instance can be inspected using:: - $ curl http://demo.orthanc-server.com/instances/1f3c00bd-49df10b7-f416a598-1b3bb5a2-cb791b52/metadata/4202 | base64 -d | gunzip -c + $ curl https://orthanc.uclouvain.be/demo/instances/1f3c00bd-49df10b7-f416a598-1b3bb5a2-cb791b52/metadata/4202 | base64 -d | gunzip -c Preloading existing studies diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/plugins/postgresql.rst --- a/Sphinx/source/plugins/postgresql.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/plugins/postgresql.rst Tue Nov 21 21:09:02 2023 +0100 @@ -18,7 +18,7 @@ The source code of the PostgreSQL plugins can be found in the ``orthanc-databases`` `Mercurial repository -`__, next to the +`__, next to the source code of the :ref:`ODBC ` and :ref:`MySQL/MariaDB ` plugins. @@ -96,7 +96,7 @@ In such a situation, please add your version of PostgreSQL to the macro ``PostgreSQL_ADDITIONAL_VERSIONS`` that is defined at the end of the `Resources/CMake/PostgreSQLConfiguration.cmake file -`__ +`__ in the sources of the project. @@ -292,7 +292,7 @@ After some period of inactivity (users have reported 10 hours), you might `experience an error -`__ such as:: +`__ such as:: E0220 03:20:51.562601 PluginsManager.cpp:163] Exception in database back-end: Error in PostgreSQL: server closed the connection unexpectedly. This probably means the server terminated abnormally before or while processing the request. diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/plugins/python.rst --- a/Sphinx/source/plugins/python.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/plugins/python.rst Tue Nov 21 21:09:02 2023 +0100 @@ -18,7 +18,7 @@ Python plugins have access to more features and a more consistent SDK than :ref:`Lua scripts `. The largest part of the Python API is automatically generated from the `Orthanc plugin SDK in C -`__ +`__ using the `Clang `__ compiler front-end. @@ -34,7 +34,7 @@ `__. * Link to the `code repository - `__. + `__. Licensing @@ -296,7 +296,7 @@ In releases <= 3.0 of the Python plugin, deadlocks might emerge if you call other core primitives of Orthanc (such as the REST API) in your callback function. This issue has been `fixed in release 3.1 - `__. + `__. As a **temporary workaround** against such deadlocks in releases <= 3.0, if you have to call other primitives of Orthanc, you should make diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/plugins/python/pil-conversions.py --- a/Sphinx/source/plugins/python/pil-conversions.py Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/plugins/python/pil-conversions.py Tue Nov 21 21:09:02 2023 +0100 @@ -3,7 +3,7 @@ import PIL.ImageDraw import orthanc -URL = 'http://hg.orthanc-server.com/orthanc-tests/raw-file/Orthanc-1.11.0/Database/LenaTwiceWithFragments.dcm' +URL = 'https://orthanc.uclouvain.be/hg/orthanc-tests/raw-file/Orthanc-1.11.0/Database/LenaTwiceWithFragments.dcm' USERNAME = '' PASSWORD = '' diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/plugins/python/worklist.py --- a/Sphinx/source/plugins/python/worklist.py Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/plugins/python/worklist.py Tue Nov 21 21:09:02 2023 +0100 @@ -3,7 +3,7 @@ import os # Path to the directory containing the DICOM worklists -# https://hg.orthanc-server.com/orthanc/file/Orthanc-1.11.0/OrthancServer/Plugins/Samples/ModalityWorklists/WorklistsDatabase +# https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.11.0/OrthancServer/Plugins/Samples/ModalityWorklists/WorklistsDatabase WORKLIST_DIR = '/tmp/WorklistsDatabase' def OnWorklist(answers, query, issuerAet, calledAet): diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/plugins/serve-folders.rst --- a/Sphinx/source/plugins/serve-folders.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/plugins/serve-folders.rst Tue Nov 21 21:09:02 2023 +0100 @@ -12,7 +12,7 @@ The source code of this sample plugin is `available in the source distribution of Orthanc -`__ +`__ (GPLv3+ license). diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/plugins/stone-webviewer.rst --- a/Sphinx/source/plugins/stone-webviewer.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/plugins/stone-webviewer.rst Tue Nov 21 21:09:02 2023 +0100 @@ -14,7 +14,7 @@ homepage of the plugin `__. Also `check out the source code -`__. +`__. How to get it @@ -32,7 +32,7 @@ The compilation process is quite complex since it requires using the `Emscripten `__ compiler toolchain. The full build instructions are available in the `source code -`__. +`__. Usage @@ -91,18 +91,18 @@ * The configuration of the Web viewer can be fine-tuned by adapting some **advanced options** in the `configuration file - `__. + `__. * The source distribution of the Stone Web viewer contains a `NOTES.txt file - `__ + `__ that discusses the differences with the :ref:`Osimis Web viewer ` as well as **advanced features** of the software (opening multiple studies, authorization, display of OsiriX annotations...). * Also, check out our `TODO file - `__ + `__ that is used to track **future features**. @@ -164,7 +164,7 @@ `wkhtmltopdf `__, and finally convert the PDF to DICOM using the ``/tools/create-dicom`` route in the `REST API of Orthanc - `__. + `__. It would be easy to automate this workflow using a :ref:`Python plugin `. @@ -210,7 +210,7 @@ - **How can I migrate from Osimis Web viewer to Stone Web viewer?** Full instructions are provided in the `source distribution - `__. + `__. - **What are the future plans?** diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/plugins/transfers.rst --- a/Sphinx/source/plugins/transfers.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/plugins/transfers.rst Tue Nov 21 21:09:02 2023 +0100 @@ -7,7 +7,7 @@ .. contents:: Osimis provides a `transfers accelerator plugin -`__ whose +`__ whose purpose is to speed up the transfers of DICOM instances over networks (with respect to the native DICOM protocol or to the built-in :ref:`Orthanc peers ` mechanism). diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/plugins/webviewer.rst --- a/Sphinx/source/plugins/webviewer.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/plugins/webviewer.rst Tue Nov 21 21:09:02 2023 +0100 @@ -33,7 +33,7 @@ *Remark:* Some older build instructions are also available in the `source distribution -`__. +`__. Usage diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/plugins/worklists-plugin.rst --- a/Sphinx/source/plugins/worklists-plugin.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/plugins/worklists-plugin.rst Tue Nov 21 21:09:02 2023 +0100 @@ -26,7 +26,7 @@ The source code of this sample plugin is `available in the source distribution of Orthanc -`__ +`__ (GPLv3+ license). Note that it is possible to reproduce the features of this sample @@ -64,7 +64,7 @@ The folder ``WorklistsDatabase`` of the `source distribution of Orthanc -`__ +`__ contains a database of sample worklists, that comes from the DCMTK source distribution, as described in the `FAQ entry #37 of the DCMTK project `__. @@ -78,7 +78,7 @@ - Download `DCMTK utilities `__. - Download sample `worklist files - `__ + `__ from the Orthanc source code and copy them in a dedicated folder. - Generate the :ref:`default configuration of Orthanc `. - Enable the ModalityWorklist plugin in your configuration file by adding this section:: @@ -135,7 +135,7 @@ - Start with an existing worklist file, some samples of which can be found in the `Orthanc source distribution - `__ + `__ (with ``.wl`` file extensions). - The worklist file is a DICOM file. Dump its content as a text file using ``dcmdump``:: diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/users/advanced-rest.rst --- a/Sphinx/source/users/advanced-rest.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/users/advanced-rest.rst Tue Nov 21 21:09:02 2023 +0100 @@ -148,7 +148,7 @@ ``Failure``. Note that the `integration tests of Orthanc -`__ +`__ give an example about how to monitor a job in Python using the REST API (cf. function ``MonitorJob()``). @@ -178,7 +178,7 @@ * Retry a job in ``Failed`` state by POST-ing to ``/jobs/.../resubmit``. The related state machine is depicted in the `implementation notes -`__. +`__. Example: Asynchronous generation of an archive @@ -221,7 +221,7 @@ Note how we retrieve the content of the archive by accessing the ``archive`` output of the job (check out the virtual method ``IJob::GetOutput()`` from the `source code -`__ +`__ of Orthanc). Here is the corresponding sequence of commands to generate a DICOMDIR diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/users/anonymization.rst --- a/Sphinx/source/users/anonymization.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/users/anonymization.rst Tue Nov 21 21:09:02 2023 +0100 @@ -75,12 +75,12 @@ as well). Earlier versions were limited to top-level tags in the DICOM dataset. Check out the integration test ``test_modify_subsequences`` for `examples -`__. +`__. **Implementation:** Internally, the setup of the anonymization profiles can be found in the methods ``SetupAnonymizationXXX()`` of the class ``Orthanc::DicomModification`` (cf. `source code -`__). +`__). Modification of a Single Instance @@ -166,7 +166,7 @@ command-line tool (wildcards are supported as well). Earlier versions were limited to top-level tags in the DICOM dataset. Check out the integration test ``test_modify_subsequences`` for `examples -`__. +`__. .. _study-modification: diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/users/configuration.rst --- a/Sphinx/source/users/configuration.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/users/configuration.rst Tue Nov 21 21:09:02 2023 +0100 @@ -8,7 +8,7 @@ Configuring Orthanc simply consists in providing a configuration file. Orthanc has numerous configuration that are documented in the `default configuration file -`_. This +`_. This file is in the `JSON `_ file format. You can generate this file file with the following call:: @@ -70,7 +70,7 @@ ``services.msc`` at a command-line prompt. The Windows service of Orthanc will do its best to cleanly stop Orthanc at the shutdown of Windows, but `there are some caveats -`__. +`__. **Remark 4:** To obtain more diagnostic, you can use the ``--verbose`` or the ``--trace`` options:: diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/users/cookbook.rst --- a/Sphinx/source/users/cookbook.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/users/cookbook.rst Tue Nov 21 21:09:02 2023 +0100 @@ -94,7 +94,7 @@ to upload files to Orthanc through Orthanc Explorer with Chromium. **Important:** There is currently a `known issue -`__ that might +`__ that might prevent Mozilla Firefox to correctly upload all DICOM files if using drag-and-drop. diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/users/lua.rst --- a/Sphinx/source/users/lua.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/users/lua.rst Tue Nov 21 21:09:02 2023 +0100 @@ -13,7 +13,7 @@ scripting. Many other examples are `available in the source distribution -`__. +`__. A more expressive alternative to Lua scripts is provided by :ref:`Python plugins `. @@ -118,7 +118,7 @@ protocol. This allows to inspect the content of the C-Find query, and possibly modify it if a patch is needed for some manufacturer. A `sample script is available - `__. + `__. Some other **resource-related events** are available: @@ -148,7 +148,7 @@ successively invoked to specify which **transfer syntaxes** are accepted for the association. These callbacks are listed in `this sample script -`__. +`__. These callbacks were removed in Orthanc 1.9.0. If a callback is specified multiple times in separate scripts, the diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/users/man-orthanc.txt --- a/Sphinx/source/users/man-orthanc.txt Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/users/man-orthanc.txt Tue Nov 21 21:09:02 2023 +0100 @@ -16,7 +16,7 @@ If no configuration path is given on the command line, a set of default parameters is used. Please refer to the Orthanc Book for the full instructions about how to use Orthanc - . + . Pay attention to the fact that the order of the options is important. Options are read left to right. In particular, options such as "--ver‐ diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/users/replication.rst --- a/Sphinx/source/users/replication.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/users/replication.rst Tue Nov 21 21:09:02 2023 +0100 @@ -71,7 +71,7 @@ The most direct way to replicate an instance of Orthanc consists in using the `ImportDicomFiles -`_ +`_ script of the Orthanc distribution. This process can also be used to restore the content of an Orthanc server after a corruption of its database. @@ -111,7 +111,7 @@ ------------------- If you cannot use the first method, you can use the `Replicate -`_ +`_ script of the Orthanc distribution. This script will use the REST API of both the source and target instances of Orthanc. For instance:: diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/users/rest-cheatsheet.csv --- a/Sphinx/source/users/rest-cheatsheet.csv Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/users/rest-cheatsheet.csv Tue Nov 21 21:09:02 2023 +0100 @@ -1,237 +1,237 @@ Path,GET,POST,DELETE,PUT,Summary -``/changes``,`GET `__,,`DELETE `__,,List changes -``/exports``,`GET `__,,`DELETE `__,,List exports -``/instances``,`GET `__,`POST `__,,,List the available instances -``/instances/{id}``,`GET `__,,`DELETE `__,,Get information about some instance -``/instances/{id}/anonymize``,,`POST `__,,,Anonymize instance -``/instances/{id}/attachments``,`GET `__,,,,List attachments -``/instances/{id}/attachments/{name}``,`GET `__,,`DELETE `__,`PUT `__,List operations on attachments -``/instances/{id}/attachments/{name}/compress``,,`POST `__,,,Compress attachment -``/instances/{id}/attachments/{name}/compressed-data``,`GET `__,,,,Get attachment (no decompression) -``/instances/{id}/attachments/{name}/compressed-md5``,`GET `__,,,,Get MD5 of attachment on disk -``/instances/{id}/attachments/{name}/compressed-size``,`GET `__,,,,Get size of attachment on disk -``/instances/{id}/attachments/{name}/data``,`GET `__,,,,Get attachment -``/instances/{id}/attachments/{name}/info``,`GET `__,,,,Get info about the attachment -``/instances/{id}/attachments/{name}/is-compressed``,`GET `__,,,,Is attachment compressed? -``/instances/{id}/attachments/{name}/md5``,`GET `__,,,,Get MD5 of attachment -``/instances/{id}/attachments/{name}/size``,`GET `__,,,,Get size of attachment -``/instances/{id}/attachments/{name}/uncompress``,,`POST `__,,,Uncompress attachment -``/instances/{id}/attachments/{name}/verify-md5``,,`POST `__,,,Verify attachment -``/instances/{id}/content``,`GET `__,,,,Get raw tag -``/instances/{id}/export``,,`POST `__,,,Write DICOM onto filesystem -``/instances/{id}/file``,`GET `__,,,,Download DICOM -``/instances/{id}/frames``,`GET `__,,,,List available frames -``/instances/{id}/frames/{frame}``,`GET `__,,,,List operations -``/instances/{id}/frames/{frame}/image-int16``,`GET `__,,,,Decode a frame (int16) -``/instances/{id}/frames/{frame}/image-uint16``,`GET `__,,,,Decode a frame (uint16) -``/instances/{id}/frames/{frame}/image-uint8``,`GET `__,,,,Decode a frame (uint8) -``/instances/{id}/frames/{frame}/matlab``,`GET `__,,,,Decode frame for Matlab -``/instances/{id}/frames/{frame}/numpy``,`GET `__,,,,Decode frame for numpy -``/instances/{id}/frames/{frame}/preview``,`GET `__,,,,Decode a frame (preview) -``/instances/{id}/frames/{frame}/raw``,`GET `__,,,,Access raw frame -``/instances/{id}/frames/{frame}/raw.gz``,`GET `__,,,,Access raw frame (compressed) -``/instances/{id}/frames/{frame}/rendered``,`GET `__,,,,Render a frame -``/instances/{id}/header``,`GET `__,,,,Get DICOM meta-header -``/instances/{id}/image-int16``,`GET `__,,,,Decode an image (int16) -``/instances/{id}/image-uint16``,`GET `__,,,,Decode an image (uint16) -``/instances/{id}/image-uint8``,`GET `__,,,,Decode an image (uint8) -``/instances/{id}/labels``,`GET `__,,,,List labels -``/instances/{id}/labels/{label}``,`GET `__,,`DELETE `__,`PUT `__,Test label -``/instances/{id}/matlab``,`GET `__,,,,Decode frame for Matlab -``/instances/{id}/metadata``,`GET `__,,,,List metadata -``/instances/{id}/metadata/{name}``,`GET `__,,`DELETE `__,`PUT `__,Get metadata -``/instances/{id}/modify``,,`POST `__,,,Modify instance -``/instances/{id}/module``,`GET `__,,,,Get instance module -``/instances/{id}/numpy``,`GET `__,,,,Decode instance for numpy -``/instances/{id}/patient``,`GET `__,,,,Get parent patient -``/instances/{id}/pdf``,`GET `__,,,,Get embedded PDF -``/instances/{id}/preview``,`GET `__,,,,Decode an image (preview) -``/instances/{id}/reconstruct``,,`POST `__,,,Reconstruct tags & optionally files of instance -``/instances/{id}/rendered``,`GET `__,,,,Render an image -``/instances/{id}/series``,`GET `__,,,,Get parent series -``/instances/{id}/simplified-tags``,`GET `__,,,,Get human-readable tags -``/instances/{id}/statistics``,`GET `__,,,,Get instance statistics -``/instances/{id}/study``,`GET `__,,,,Get parent study -``/instances/{id}/tags``,`GET `__,,,,Get DICOM tags -``/jobs``,`GET `__,,,,List jobs -``/jobs/{id}``,`GET `__,,,,Get job -``/jobs/{id}/cancel``,,`POST `__,,,Cancel job -``/jobs/{id}/pause``,,`POST `__,,,Pause job -``/jobs/{id}/resubmit``,,`POST `__,,,Resubmit job -``/jobs/{id}/resume``,,`POST `__,,,Resume job -``/jobs/{id}/{key}``,`GET `__,,`DELETE `__,,Get job output -``/modalities``,`GET `__,,,,List DICOM modalities -``/modalities/{id}``,`GET `__,,`DELETE `__,`PUT `__,List operations on modality -``/modalities/{id}/configuration``,`GET `__,,,,Get modality configuration -``/modalities/{id}/echo``,,`POST `__,,,Trigger C-ECHO SCU -``/modalities/{id}/find``,,`(post) `__,,,*(deprecated)* Hierarchical C-FIND SCU -``/modalities/{id}/find-instance``,,`(post) `__,,,*(deprecated)* C-FIND SCU for instances -``/modalities/{id}/find-patient``,,`(post) `__,,,*(deprecated)* C-FIND SCU for patients -``/modalities/{id}/find-series``,,`(post) `__,,,*(deprecated)* C-FIND SCU for series -``/modalities/{id}/find-study``,,`(post) `__,,,*(deprecated)* C-FIND SCU for studies -``/modalities/{id}/find-worklist``,,`POST `__,,,C-FIND SCU for worklist -``/modalities/{id}/move``,,`POST `__,,,Trigger C-MOVE SCU -``/modalities/{id}/query``,,`POST `__,,,Trigger C-FIND SCU -``/modalities/{id}/storage-commitment``,,`POST `__,,,Trigger storage commitment request -``/modalities/{id}/store``,,`POST `__,,,Trigger C-STORE SCU -``/modalities/{id}/store-straight``,,`POST `__,,,Straight C-STORE SCU -``/patients``,`GET `__,,,,List the available patients -``/patients/{id}``,`GET `__,,`DELETE `__,,Get information about some patient -``/patients/{id}/anonymize``,,`POST `__,,,Anonymize patient -``/patients/{id}/archive``,`GET `__,`POST `__,,,Create ZIP archive -``/patients/{id}/attachments``,`GET `__,,,,List attachments -``/patients/{id}/attachments/{name}``,`GET `__,,`DELETE `__,`PUT `__,List operations on attachments -``/patients/{id}/attachments/{name}/compress``,,`POST `__,,,Compress attachment -``/patients/{id}/attachments/{name}/compressed-data``,`GET `__,,,,Get attachment (no decompression) -``/patients/{id}/attachments/{name}/compressed-md5``,`GET `__,,,,Get MD5 of attachment on disk -``/patients/{id}/attachments/{name}/compressed-size``,`GET `__,,,,Get size of attachment on disk -``/patients/{id}/attachments/{name}/data``,`GET `__,,,,Get attachment -``/patients/{id}/attachments/{name}/info``,`GET `__,,,,Get info about the attachment -``/patients/{id}/attachments/{name}/is-compressed``,`GET `__,,,,Is attachment compressed? -``/patients/{id}/attachments/{name}/md5``,`GET `__,,,,Get MD5 of attachment -``/patients/{id}/attachments/{name}/size``,`GET `__,,,,Get size of attachment -``/patients/{id}/attachments/{name}/uncompress``,,`POST `__,,,Uncompress attachment -``/patients/{id}/attachments/{name}/verify-md5``,,`POST `__,,,Verify attachment -``/patients/{id}/instances``,`GET `__,,,,Get child instances -``/patients/{id}/instances-tags``,`GET `__,,,,Get tags of instances -``/patients/{id}/labels``,`GET `__,,,,List labels -``/patients/{id}/labels/{label}``,`GET `__,,`DELETE `__,`PUT `__,Test label -``/patients/{id}/media``,`GET `__,`POST `__,,,Create DICOMDIR media -``/patients/{id}/metadata``,`GET `__,,,,List metadata -``/patients/{id}/metadata/{name}``,`GET `__,,`DELETE `__,`PUT `__,Get metadata -``/patients/{id}/modify``,,`POST `__,,,Modify patient -``/patients/{id}/module``,`GET `__,,,,Get patient module -``/patients/{id}/protected``,`GET `__,,,`PUT `__,Is the patient protected against recycling? -``/patients/{id}/reconstruct``,,`POST `__,,,Reconstruct tags & optionally files of patient -``/patients/{id}/series``,`GET `__,,,,Get child series -``/patients/{id}/shared-tags``,`GET `__,,,,Get shared tags -``/patients/{id}/statistics``,`GET `__,,,,Get patient statistics -``/patients/{id}/studies``,`GET `__,,,,Get child studies -``/peers``,`GET `__,,,,List Orthanc peers -``/peers/{id}``,`GET `__,,`DELETE `__,`PUT `__,List operations on peer -``/peers/{id}/configuration``,`GET `__,,,,Get peer configuration -``/peers/{id}/store``,,`POST `__,,,Send to Orthanc peer -``/peers/{id}/store-straight``,,`POST `__,,,Straight store to peer -``/peers/{id}/system``,`GET `__,,,,Get peer system information -``/plugins``,`GET `__,,,,List plugins -``/plugins/explorer.js``,`GET `__,,,,JavaScript extensions to Orthanc Explorer -``/plugins/{id}``,`GET `__,,,,Get plugin -``/queries``,`GET `__,,,,List query/retrieve operations -``/queries/{id}``,`GET `__,,`DELETE `__,,List operations on a query -``/queries/{id}/answers``,`GET `__,,,,List answers to a query -``/queries/{id}/answers/{index}``,`GET `__,,,,List operations on an answer -``/queries/{id}/answers/{index}/content``,`GET `__,,,,Get one answer -``/queries/{id}/answers/{index}/query-instances``,,`POST `__,,,Query the child instances of an answer -``/queries/{id}/answers/{index}/query-series``,,`POST `__,,,Query the child series of an answer -``/queries/{id}/answers/{index}/query-studies``,,`POST `__,,,Query the child studies of an answer -``/queries/{id}/answers/{index}/retrieve``,,`POST `__,,,Retrieve one answer -``/queries/{id}/level``,`GET `__,,,,Get level of original query -``/queries/{id}/modality``,`GET `__,,,,Get modality of original query -``/queries/{id}/query``,`GET `__,,,,Get original query arguments -``/queries/{id}/retrieve``,,`POST `__,,,Retrieve all answers -``/series``,`GET `__,,,,List the available series -``/series/{id}``,`GET `__,,`DELETE `__,,Get information about some series -``/series/{id}/anonymize``,,`POST `__,,,Anonymize series -``/series/{id}/archive``,`GET `__,`POST `__,,,Create ZIP archive -``/series/{id}/attachments``,`GET `__,,,,List attachments -``/series/{id}/attachments/{name}``,`GET `__,,`DELETE `__,`PUT `__,List operations on attachments -``/series/{id}/attachments/{name}/compress``,,`POST `__,,,Compress attachment -``/series/{id}/attachments/{name}/compressed-data``,`GET `__,,,,Get attachment (no decompression) -``/series/{id}/attachments/{name}/compressed-md5``,`GET `__,,,,Get MD5 of attachment on disk -``/series/{id}/attachments/{name}/compressed-size``,`GET `__,,,,Get size of attachment on disk -``/series/{id}/attachments/{name}/data``,`GET `__,,,,Get attachment -``/series/{id}/attachments/{name}/info``,`GET `__,,,,Get info about the attachment -``/series/{id}/attachments/{name}/is-compressed``,`GET `__,,,,Is attachment compressed? -``/series/{id}/attachments/{name}/md5``,`GET `__,,,,Get MD5 of attachment -``/series/{id}/attachments/{name}/size``,`GET `__,,,,Get size of attachment -``/series/{id}/attachments/{name}/uncompress``,,`POST `__,,,Uncompress attachment -``/series/{id}/attachments/{name}/verify-md5``,,`POST `__,,,Verify attachment -``/series/{id}/instances``,`GET `__,,,,Get child instances -``/series/{id}/instances-tags``,`GET `__,,,,Get tags of instances -``/series/{id}/labels``,`GET `__,,,,List labels -``/series/{id}/labels/{label}``,`GET `__,,`DELETE `__,`PUT `__,Test label -``/series/{id}/media``,`GET `__,`POST `__,,,Create DICOMDIR media -``/series/{id}/metadata``,`GET `__,,,,List metadata -``/series/{id}/metadata/{name}``,`GET `__,,`DELETE `__,`PUT `__,Get metadata -``/series/{id}/modify``,,`POST `__,,,Modify series -``/series/{id}/module``,`GET `__,,,,Get series module -``/series/{id}/numpy``,`GET `__,,,,Decode series for numpy -``/series/{id}/ordered-slices``,`(get) `__,,,,*(deprecated)* Order the slices -``/series/{id}/patient``,`GET `__,,,,Get parent patient -``/series/{id}/reconstruct``,,`POST `__,,,Reconstruct tags & optionally files of series -``/series/{id}/shared-tags``,`GET `__,,,,Get shared tags -``/series/{id}/statistics``,`GET `__,,,,Get series statistics -``/series/{id}/study``,`GET `__,,,,Get parent study -``/statistics``,`GET `__,,,,Get database statistics -``/storage-commitment/{id}``,`GET `__,,,,Get storage commitment report -``/storage-commitment/{id}/remove``,,`POST `__,,,Remove after storage commitment -``/studies``,`GET `__,,,,List the available studies -``/studies/{id}``,`GET `__,,`DELETE `__,,Get information about some study -``/studies/{id}/anonymize``,,`POST `__,,,Anonymize study -``/studies/{id}/archive``,`GET `__,`POST `__,,,Create ZIP archive -``/studies/{id}/attachments``,`GET `__,,,,List attachments -``/studies/{id}/attachments/{name}``,`GET `__,,`DELETE `__,`PUT `__,List operations on attachments -``/studies/{id}/attachments/{name}/compress``,,`POST `__,,,Compress attachment -``/studies/{id}/attachments/{name}/compressed-data``,`GET `__,,,,Get attachment (no decompression) -``/studies/{id}/attachments/{name}/compressed-md5``,`GET `__,,,,Get MD5 of attachment on disk -``/studies/{id}/attachments/{name}/compressed-size``,`GET `__,,,,Get size of attachment on disk -``/studies/{id}/attachments/{name}/data``,`GET `__,,,,Get attachment -``/studies/{id}/attachments/{name}/info``,`GET `__,,,,Get info about the attachment -``/studies/{id}/attachments/{name}/is-compressed``,`GET `__,,,,Is attachment compressed? -``/studies/{id}/attachments/{name}/md5``,`GET `__,,,,Get MD5 of attachment -``/studies/{id}/attachments/{name}/size``,`GET `__,,,,Get size of attachment -``/studies/{id}/attachments/{name}/uncompress``,,`POST `__,,,Uncompress attachment -``/studies/{id}/attachments/{name}/verify-md5``,,`POST `__,,,Verify attachment -``/studies/{id}/instances``,`GET `__,,,,Get child instances -``/studies/{id}/instances-tags``,`GET `__,,,,Get tags of instances -``/studies/{id}/labels``,`GET `__,,,,List labels -``/studies/{id}/labels/{label}``,`GET `__,,`DELETE `__,`PUT `__,Test label -``/studies/{id}/media``,`GET `__,`POST `__,,,Create DICOMDIR media -``/studies/{id}/merge``,,`POST `__,,,Merge study -``/studies/{id}/metadata``,`GET `__,,,,List metadata -``/studies/{id}/metadata/{name}``,`GET `__,,`DELETE `__,`PUT `__,Get metadata -``/studies/{id}/modify``,,`POST `__,,,Modify study -``/studies/{id}/module``,`GET `__,,,,Get study module -``/studies/{id}/module-patient``,`GET `__,,,,Get patient module of study -``/studies/{id}/patient``,`GET `__,,,,Get parent patient -``/studies/{id}/reconstruct``,,`POST `__,,,Reconstruct tags & optionally files of study -``/studies/{id}/series``,`GET `__,,,,Get child series -``/studies/{id}/shared-tags``,`GET `__,,,,Get shared tags -``/studies/{id}/split``,,`POST `__,,,Split study -``/studies/{id}/statistics``,`GET `__,,,,Get study statistics -``/system``,`GET `__,,,,Get system information -``/tools``,`GET `__,,,,List operations -``/tools/accepted-transfer-syntaxes``,`GET `__,,,`PUT `__,Get accepted transfer syntaxes -``/tools/bulk-anonymize``,,`POST `__,,,Anonymize a set of resources -``/tools/bulk-content``,,`POST `__,,,Describe a set of resources -``/tools/bulk-delete``,,`POST `__,,,Delete a set of resources -``/tools/bulk-modify``,,`POST `__,,,Modify a set of resources -``/tools/create-archive``,,`POST `__,,,Create ZIP archive -``/tools/create-dicom``,,`POST `__,,,Create one DICOM instance -``/tools/create-media``,,`POST `__,,,Create DICOMDIR media -``/tools/create-media-extended``,,`POST `__,,,Create DICOMDIR media -``/tools/default-encoding``,`GET `__,,,`PUT `__,Get default encoding -``/tools/dicom-conformance``,`GET `__,,,,Get DICOM conformance -``/tools/dicom-echo``,,`POST `__,,,Trigger C-ECHO SCU -``/tools/execute-script``,,`POST `__,,,Execute Lua script -``/tools/find``,,`POST `__,,,Look for local resources -``/tools/generate-uid``,`GET `__,,,,Generate an identifier -``/tools/invalidate-tags``,,`POST `__,,,Invalidate DICOM-as-JSON summaries -``/tools/labels``,`GET `__,,,,Get all the used labels -``/tools/log-level``,`GET `__,,,`PUT `__,Get main log level -``/tools/log-level-dicom``,`GET `__,,,`PUT `__,Get log level for `dicom` -``/tools/log-level-generic``,`GET `__,,,`PUT `__,Get log level for `generic` -``/tools/log-level-http``,`GET `__,,,`PUT `__,Get log level for `http` -``/tools/log-level-jobs``,`GET `__,,,`PUT `__,Get log level for `jobs` -``/tools/log-level-lua``,`GET `__,,,`PUT `__,Get log level for `lua` -``/tools/log-level-plugins``,`GET `__,,,`PUT `__,Get log level for `plugins` -``/tools/log-level-sqlite``,`GET `__,,,`PUT `__,Get log level for `sqlite` -``/tools/lookup``,,`POST `__,,,Look for DICOM identifiers -``/tools/metrics``,`GET `__,,,`PUT `__,Are metrics collected? -``/tools/metrics-prometheus``,`GET `__,,,,Get usage metrics -``/tools/now``,`GET `__,,,,Get UTC time -``/tools/now-local``,`GET `__,,,,Get local time -``/tools/reconstruct``,,`POST `__,,,Reconstruct all the index -``/tools/reset``,,`POST `__,,,Restart Orthanc -``/tools/shutdown``,,`POST `__,,,Shutdown Orthanc -``/tools/unknown-sop-class-accepted``,`GET `__,,,`PUT `__,Is unknown SOP class accepted? +``/changes``,`GET `__,,`DELETE `__,,List changes +``/exports``,`GET `__,,`DELETE `__,,List exports +``/instances``,`GET `__,`POST `__,,,List the available instances +``/instances/{id}``,`GET `__,,`DELETE `__,,Get information about some instance +``/instances/{id}/anonymize``,,`POST `__,,,Anonymize instance +``/instances/{id}/attachments``,`GET `__,,,,List attachments +``/instances/{id}/attachments/{name}``,`GET `__,,`DELETE `__,`PUT `__,List operations on attachments +``/instances/{id}/attachments/{name}/compress``,,`POST `__,,,Compress attachment +``/instances/{id}/attachments/{name}/compressed-data``,`GET `__,,,,Get attachment (no decompression) +``/instances/{id}/attachments/{name}/compressed-md5``,`GET `__,,,,Get MD5 of attachment on disk +``/instances/{id}/attachments/{name}/compressed-size``,`GET `__,,,,Get size of attachment on disk +``/instances/{id}/attachments/{name}/data``,`GET `__,,,,Get attachment +``/instances/{id}/attachments/{name}/info``,`GET `__,,,,Get info about the attachment +``/instances/{id}/attachments/{name}/is-compressed``,`GET `__,,,,Is attachment compressed? +``/instances/{id}/attachments/{name}/md5``,`GET `__,,,,Get MD5 of attachment +``/instances/{id}/attachments/{name}/size``,`GET `__,,,,Get size of attachment +``/instances/{id}/attachments/{name}/uncompress``,,`POST `__,,,Uncompress attachment +``/instances/{id}/attachments/{name}/verify-md5``,,`POST `__,,,Verify attachment +``/instances/{id}/content``,`GET `__,,,,Get raw tag +``/instances/{id}/export``,,`POST `__,,,Write DICOM onto filesystem +``/instances/{id}/file``,`GET `__,,,,Download DICOM +``/instances/{id}/frames``,`GET `__,,,,List available frames +``/instances/{id}/frames/{frame}``,`GET `__,,,,List operations +``/instances/{id}/frames/{frame}/image-int16``,`GET `__,,,,Decode a frame (int16) +``/instances/{id}/frames/{frame}/image-uint16``,`GET `__,,,,Decode a frame (uint16) +``/instances/{id}/frames/{frame}/image-uint8``,`GET `__,,,,Decode a frame (uint8) +``/instances/{id}/frames/{frame}/matlab``,`GET `__,,,,Decode frame for Matlab +``/instances/{id}/frames/{frame}/numpy``,`GET `__,,,,Decode frame for numpy +``/instances/{id}/frames/{frame}/preview``,`GET `__,,,,Decode a frame (preview) +``/instances/{id}/frames/{frame}/raw``,`GET `__,,,,Access raw frame +``/instances/{id}/frames/{frame}/raw.gz``,`GET `__,,,,Access raw frame (compressed) +``/instances/{id}/frames/{frame}/rendered``,`GET `__,,,,Render a frame +``/instances/{id}/header``,`GET `__,,,,Get DICOM meta-header +``/instances/{id}/image-int16``,`GET `__,,,,Decode an image (int16) +``/instances/{id}/image-uint16``,`GET `__,,,,Decode an image (uint16) +``/instances/{id}/image-uint8``,`GET `__,,,,Decode an image (uint8) +``/instances/{id}/labels``,`GET `__,,,,List labels +``/instances/{id}/labels/{label}``,`GET `__,,`DELETE `__,`PUT `__,Test label +``/instances/{id}/matlab``,`GET `__,,,,Decode frame for Matlab +``/instances/{id}/metadata``,`GET `__,,,,List metadata +``/instances/{id}/metadata/{name}``,`GET `__,,`DELETE `__,`PUT `__,Get metadata +``/instances/{id}/modify``,,`POST `__,,,Modify instance +``/instances/{id}/module``,`GET `__,,,,Get instance module +``/instances/{id}/numpy``,`GET `__,,,,Decode instance for numpy +``/instances/{id}/patient``,`GET `__,,,,Get parent patient +``/instances/{id}/pdf``,`GET `__,,,,Get embedded PDF +``/instances/{id}/preview``,`GET `__,,,,Decode an image (preview) +``/instances/{id}/reconstruct``,,`POST `__,,,Reconstruct tags & optionally files of instance +``/instances/{id}/rendered``,`GET `__,,,,Render an image +``/instances/{id}/series``,`GET `__,,,,Get parent series +``/instances/{id}/simplified-tags``,`GET `__,,,,Get human-readable tags +``/instances/{id}/statistics``,`GET `__,,,,Get instance statistics +``/instances/{id}/study``,`GET `__,,,,Get parent study +``/instances/{id}/tags``,`GET `__,,,,Get DICOM tags +``/jobs``,`GET `__,,,,List jobs +``/jobs/{id}``,`GET `__,,,,Get job +``/jobs/{id}/cancel``,,`POST `__,,,Cancel job +``/jobs/{id}/pause``,,`POST `__,,,Pause job +``/jobs/{id}/resubmit``,,`POST `__,,,Resubmit job +``/jobs/{id}/resume``,,`POST `__,,,Resume job +``/jobs/{id}/{key}``,`GET `__,,`DELETE `__,,Get job output +``/modalities``,`GET `__,,,,List DICOM modalities +``/modalities/{id}``,`GET `__,,`DELETE `__,`PUT `__,List operations on modality +``/modalities/{id}/configuration``,`GET `__,,,,Get modality configuration +``/modalities/{id}/echo``,,`POST `__,,,Trigger C-ECHO SCU +``/modalities/{id}/find``,,`(post) `__,,,*(deprecated)* Hierarchical C-FIND SCU +``/modalities/{id}/find-instance``,,`(post) `__,,,*(deprecated)* C-FIND SCU for instances +``/modalities/{id}/find-patient``,,`(post) `__,,,*(deprecated)* C-FIND SCU for patients +``/modalities/{id}/find-series``,,`(post) `__,,,*(deprecated)* C-FIND SCU for series +``/modalities/{id}/find-study``,,`(post) `__,,,*(deprecated)* C-FIND SCU for studies +``/modalities/{id}/find-worklist``,,`POST `__,,,C-FIND SCU for worklist +``/modalities/{id}/move``,,`POST `__,,,Trigger C-MOVE SCU +``/modalities/{id}/query``,,`POST `__,,,Trigger C-FIND SCU +``/modalities/{id}/storage-commitment``,,`POST `__,,,Trigger storage commitment request +``/modalities/{id}/store``,,`POST `__,,,Trigger C-STORE SCU +``/modalities/{id}/store-straight``,,`POST `__,,,Straight C-STORE SCU +``/patients``,`GET `__,,,,List the available patients +``/patients/{id}``,`GET `__,,`DELETE `__,,Get information about some patient +``/patients/{id}/anonymize``,,`POST `__,,,Anonymize patient +``/patients/{id}/archive``,`GET `__,`POST `__,,,Create ZIP archive +``/patients/{id}/attachments``,`GET `__,,,,List attachments +``/patients/{id}/attachments/{name}``,`GET `__,,`DELETE `__,`PUT `__,List operations on attachments +``/patients/{id}/attachments/{name}/compress``,,`POST `__,,,Compress attachment +``/patients/{id}/attachments/{name}/compressed-data``,`GET `__,,,,Get attachment (no decompression) +``/patients/{id}/attachments/{name}/compressed-md5``,`GET `__,,,,Get MD5 of attachment on disk +``/patients/{id}/attachments/{name}/compressed-size``,`GET `__,,,,Get size of attachment on disk +``/patients/{id}/attachments/{name}/data``,`GET `__,,,,Get attachment +``/patients/{id}/attachments/{name}/info``,`GET `__,,,,Get info about the attachment +``/patients/{id}/attachments/{name}/is-compressed``,`GET `__,,,,Is attachment compressed? +``/patients/{id}/attachments/{name}/md5``,`GET `__,,,,Get MD5 of attachment +``/patients/{id}/attachments/{name}/size``,`GET `__,,,,Get size of attachment +``/patients/{id}/attachments/{name}/uncompress``,,`POST `__,,,Uncompress attachment +``/patients/{id}/attachments/{name}/verify-md5``,,`POST `__,,,Verify attachment +``/patients/{id}/instances``,`GET `__,,,,Get child instances +``/patients/{id}/instances-tags``,`GET `__,,,,Get tags of instances +``/patients/{id}/labels``,`GET `__,,,,List labels +``/patients/{id}/labels/{label}``,`GET `__,,`DELETE `__,`PUT `__,Test label +``/patients/{id}/media``,`GET `__,`POST `__,,,Create DICOMDIR media +``/patients/{id}/metadata``,`GET `__,,,,List metadata +``/patients/{id}/metadata/{name}``,`GET `__,,`DELETE `__,`PUT `__,Get metadata +``/patients/{id}/modify``,,`POST `__,,,Modify patient +``/patients/{id}/module``,`GET `__,,,,Get patient module +``/patients/{id}/protected``,`GET `__,,,`PUT `__,Is the patient protected against recycling? +``/patients/{id}/reconstruct``,,`POST `__,,,Reconstruct tags & optionally files of patient +``/patients/{id}/series``,`GET `__,,,,Get child series +``/patients/{id}/shared-tags``,`GET `__,,,,Get shared tags +``/patients/{id}/statistics``,`GET `__,,,,Get patient statistics +``/patients/{id}/studies``,`GET `__,,,,Get child studies +``/peers``,`GET `__,,,,List Orthanc peers +``/peers/{id}``,`GET `__,,`DELETE `__,`PUT `__,List operations on peer +``/peers/{id}/configuration``,`GET `__,,,,Get peer configuration +``/peers/{id}/store``,,`POST `__,,,Send to Orthanc peer +``/peers/{id}/store-straight``,,`POST `__,,,Straight store to peer +``/peers/{id}/system``,`GET `__,,,,Get peer system information +``/plugins``,`GET `__,,,,List plugins +``/plugins/explorer.js``,`GET `__,,,,JavaScript extensions to Orthanc Explorer +``/plugins/{id}``,`GET `__,,,,Get plugin +``/queries``,`GET `__,,,,List query/retrieve operations +``/queries/{id}``,`GET `__,,`DELETE `__,,List operations on a query +``/queries/{id}/answers``,`GET `__,,,,List answers to a query +``/queries/{id}/answers/{index}``,`GET `__,,,,List operations on an answer +``/queries/{id}/answers/{index}/content``,`GET `__,,,,Get one answer +``/queries/{id}/answers/{index}/query-instances``,,`POST `__,,,Query the child instances of an answer +``/queries/{id}/answers/{index}/query-series``,,`POST `__,,,Query the child series of an answer +``/queries/{id}/answers/{index}/query-studies``,,`POST `__,,,Query the child studies of an answer +``/queries/{id}/answers/{index}/retrieve``,,`POST `__,,,Retrieve one answer +``/queries/{id}/level``,`GET `__,,,,Get level of original query +``/queries/{id}/modality``,`GET `__,,,,Get modality of original query +``/queries/{id}/query``,`GET `__,,,,Get original query arguments +``/queries/{id}/retrieve``,,`POST `__,,,Retrieve all answers +``/series``,`GET `__,,,,List the available series +``/series/{id}``,`GET `__,,`DELETE `__,,Get information about some series +``/series/{id}/anonymize``,,`POST `__,,,Anonymize series +``/series/{id}/archive``,`GET `__,`POST `__,,,Create ZIP archive +``/series/{id}/attachments``,`GET `__,,,,List attachments +``/series/{id}/attachments/{name}``,`GET `__,,`DELETE `__,`PUT `__,List operations on attachments +``/series/{id}/attachments/{name}/compress``,,`POST `__,,,Compress attachment +``/series/{id}/attachments/{name}/compressed-data``,`GET `__,,,,Get attachment (no decompression) +``/series/{id}/attachments/{name}/compressed-md5``,`GET `__,,,,Get MD5 of attachment on disk +``/series/{id}/attachments/{name}/compressed-size``,`GET `__,,,,Get size of attachment on disk +``/series/{id}/attachments/{name}/data``,`GET `__,,,,Get attachment +``/series/{id}/attachments/{name}/info``,`GET `__,,,,Get info about the attachment +``/series/{id}/attachments/{name}/is-compressed``,`GET `__,,,,Is attachment compressed? +``/series/{id}/attachments/{name}/md5``,`GET `__,,,,Get MD5 of attachment +``/series/{id}/attachments/{name}/size``,`GET `__,,,,Get size of attachment +``/series/{id}/attachments/{name}/uncompress``,,`POST `__,,,Uncompress attachment +``/series/{id}/attachments/{name}/verify-md5``,,`POST `__,,,Verify attachment +``/series/{id}/instances``,`GET `__,,,,Get child instances +``/series/{id}/instances-tags``,`GET `__,,,,Get tags of instances +``/series/{id}/labels``,`GET `__,,,,List labels +``/series/{id}/labels/{label}``,`GET `__,,`DELETE `__,`PUT `__,Test label +``/series/{id}/media``,`GET `__,`POST `__,,,Create DICOMDIR media +``/series/{id}/metadata``,`GET `__,,,,List metadata +``/series/{id}/metadata/{name}``,`GET `__,,`DELETE `__,`PUT `__,Get metadata +``/series/{id}/modify``,,`POST `__,,,Modify series +``/series/{id}/module``,`GET `__,,,,Get series module +``/series/{id}/numpy``,`GET `__,,,,Decode series for numpy +``/series/{id}/ordered-slices``,`(get) `__,,,,*(deprecated)* Order the slices +``/series/{id}/patient``,`GET `__,,,,Get parent patient +``/series/{id}/reconstruct``,,`POST `__,,,Reconstruct tags & optionally files of series +``/series/{id}/shared-tags``,`GET `__,,,,Get shared tags +``/series/{id}/statistics``,`GET `__,,,,Get series statistics +``/series/{id}/study``,`GET `__,,,,Get parent study +``/statistics``,`GET `__,,,,Get database statistics +``/storage-commitment/{id}``,`GET `__,,,,Get storage commitment report +``/storage-commitment/{id}/remove``,,`POST `__,,,Remove after storage commitment +``/studies``,`GET `__,,,,List the available studies +``/studies/{id}``,`GET `__,,`DELETE `__,,Get information about some study +``/studies/{id}/anonymize``,,`POST `__,,,Anonymize study +``/studies/{id}/archive``,`GET `__,`POST `__,,,Create ZIP archive +``/studies/{id}/attachments``,`GET `__,,,,List attachments +``/studies/{id}/attachments/{name}``,`GET `__,,`DELETE `__,`PUT `__,List operations on attachments +``/studies/{id}/attachments/{name}/compress``,,`POST `__,,,Compress attachment +``/studies/{id}/attachments/{name}/compressed-data``,`GET `__,,,,Get attachment (no decompression) +``/studies/{id}/attachments/{name}/compressed-md5``,`GET `__,,,,Get MD5 of attachment on disk +``/studies/{id}/attachments/{name}/compressed-size``,`GET `__,,,,Get size of attachment on disk +``/studies/{id}/attachments/{name}/data``,`GET `__,,,,Get attachment +``/studies/{id}/attachments/{name}/info``,`GET `__,,,,Get info about the attachment +``/studies/{id}/attachments/{name}/is-compressed``,`GET `__,,,,Is attachment compressed? +``/studies/{id}/attachments/{name}/md5``,`GET `__,,,,Get MD5 of attachment +``/studies/{id}/attachments/{name}/size``,`GET `__,,,,Get size of attachment +``/studies/{id}/attachments/{name}/uncompress``,,`POST `__,,,Uncompress attachment +``/studies/{id}/attachments/{name}/verify-md5``,,`POST `__,,,Verify attachment +``/studies/{id}/instances``,`GET `__,,,,Get child instances +``/studies/{id}/instances-tags``,`GET `__,,,,Get tags of instances +``/studies/{id}/labels``,`GET `__,,,,List labels +``/studies/{id}/labels/{label}``,`GET `__,,`DELETE `__,`PUT `__,Test label +``/studies/{id}/media``,`GET `__,`POST `__,,,Create DICOMDIR media +``/studies/{id}/merge``,,`POST `__,,,Merge study +``/studies/{id}/metadata``,`GET `__,,,,List metadata +``/studies/{id}/metadata/{name}``,`GET `__,,`DELETE `__,`PUT `__,Get metadata +``/studies/{id}/modify``,,`POST `__,,,Modify study +``/studies/{id}/module``,`GET `__,,,,Get study module +``/studies/{id}/module-patient``,`GET `__,,,,Get patient module of study +``/studies/{id}/patient``,`GET `__,,,,Get parent patient +``/studies/{id}/reconstruct``,,`POST `__,,,Reconstruct tags & optionally files of study +``/studies/{id}/series``,`GET `__,,,,Get child series +``/studies/{id}/shared-tags``,`GET `__,,,,Get shared tags +``/studies/{id}/split``,,`POST `__,,,Split study +``/studies/{id}/statistics``,`GET `__,,,,Get study statistics +``/system``,`GET `__,,,,Get system information +``/tools``,`GET `__,,,,List operations +``/tools/accepted-transfer-syntaxes``,`GET `__,,,`PUT `__,Get accepted transfer syntaxes +``/tools/bulk-anonymize``,,`POST `__,,,Anonymize a set of resources +``/tools/bulk-content``,,`POST `__,,,Describe a set of resources +``/tools/bulk-delete``,,`POST `__,,,Delete a set of resources +``/tools/bulk-modify``,,`POST `__,,,Modify a set of resources +``/tools/create-archive``,,`POST `__,,,Create ZIP archive +``/tools/create-dicom``,,`POST `__,,,Create one DICOM instance +``/tools/create-media``,,`POST `__,,,Create DICOMDIR media +``/tools/create-media-extended``,,`POST `__,,,Create DICOMDIR media +``/tools/default-encoding``,`GET `__,,,`PUT `__,Get default encoding +``/tools/dicom-conformance``,`GET `__,,,,Get DICOM conformance +``/tools/dicom-echo``,,`POST `__,,,Trigger C-ECHO SCU +``/tools/execute-script``,,`POST `__,,,Execute Lua script +``/tools/find``,,`POST `__,,,Look for local resources +``/tools/generate-uid``,`GET `__,,,,Generate an identifier +``/tools/invalidate-tags``,,`POST `__,,,Invalidate DICOM-as-JSON summaries +``/tools/labels``,`GET `__,,,,Get all the used labels +``/tools/log-level``,`GET `__,,,`PUT `__,Get main log level +``/tools/log-level-dicom``,`GET `__,,,`PUT `__,Get log level for `dicom` +``/tools/log-level-generic``,`GET `__,,,`PUT `__,Get log level for `generic` +``/tools/log-level-http``,`GET `__,,,`PUT `__,Get log level for `http` +``/tools/log-level-jobs``,`GET `__,,,`PUT `__,Get log level for `jobs` +``/tools/log-level-lua``,`GET `__,,,`PUT `__,Get log level for `lua` +``/tools/log-level-plugins``,`GET `__,,,`PUT `__,Get log level for `plugins` +``/tools/log-level-sqlite``,`GET `__,,,`PUT `__,Get log level for `sqlite` +``/tools/lookup``,,`POST `__,,,Look for DICOM identifiers +``/tools/metrics``,`GET `__,,,`PUT `__,Are metrics collected? +``/tools/metrics-prometheus``,`GET `__,,,,Get usage metrics +``/tools/now``,`GET `__,,,,Get UTC time +``/tools/now-local``,`GET `__,,,,Get local time +``/tools/reconstruct``,,`POST `__,,,Reconstruct all the index +``/tools/reset``,,`POST `__,,,Restart Orthanc +``/tools/shutdown``,,`POST `__,,,Shutdown Orthanc +``/tools/unknown-sop-class-accepted``,`GET `__,,,`PUT `__,Is unknown SOP class accepted? diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/users/rest.rst --- a/Sphinx/source/users/rest.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/users/rest.rst Tue Nov 21 21:09:02 2023 +0100 @@ -98,7 +98,7 @@ $ curl -X POST -H "Expect:" http://localhost:8042/instances --data-binary @CT.X.1.2.276.0.7230010.dcm The code distribution of Orthanc contains a `sample Python script -`__ +`__ that recursively upload the content of some folder into Orthanc using the REST API:: @@ -110,7 +110,7 @@ import the content of ``.zip``, ``.tar.gz`` or ``.tar.bz2`` archives without having to uncompress them first. It also provides more comprehensive command-line options. `Check this script out -`__. +`__. .. highlight:: perl @@ -452,7 +452,7 @@ import numpy import requests - r = requests.get('https://demo.orthanc-server.com/instances/6582b1c0-292ad5ab-ba0f088f-f7a1766f-9a29a54f/numpy') + r = requests.get('https://orthanc.uclouvain.be/demo/instances/6582b1c0-292ad5ab-ba0f088f-f7a1766f-9a29a54f/numpy') r.raise_for_status() image = numpy.load(io.BytesIO(r.content)) @@ -471,7 +471,7 @@ import numpy import requests - r = requests.get('https://demo.orthanc-server.com/series/dc0216d2-a406a5ad-31ef7a78-113ae9d9-29939f9e/numpy') + r = requests.get('https://orthanc.uclouvain.be/demo/series/dc0216d2-a406a5ad-31ef7a78-113ae9d9-29939f9e/numpy') r.raise_for_status() image = numpy.load(io.BytesIO(r.content)) @@ -788,7 +788,7 @@ The list of the resources to be sent are given as a JSON array. In this case, a single DICOM connection is used. `Sample code is available - `__. + `__. Note that the list of resources to be sent can include the :ref:`Orthanc identifiers ` of entire patients, @@ -1042,11 +1042,11 @@ Setting the ``Expand`` field to ``true`` in the POST body of the query will automatically report details about each study:: - $ curl https://demo.orthanc-server.com/tools/find -d '{"Level":"Study","Query":{"PatientName":"KNIX"}}' + $ curl https://orthanc.uclouvain.be/demo/tools/find -d '{"Level":"Study","Query":{"PatientName":"KNIX"}}' [ "b9c08539-26f93bde-c81ab0d7-bffaf2cb-a4d0bdd0" ] - $ curl https://demo.orthanc-server.com/tools/find -d '{"Level":"Study","Query":{"PatientName":"KNIX"},"Expand":true}' + $ curl https://orthanc.uclouvain.be/demo/tools/find -d '{"Level":"Study","Query":{"PatientName":"KNIX"},"Expand":true}' [ { "ID" : "b9c08539-26f93bde-c81ab0d7-bffaf2cb-a4d0bdd0", @@ -1237,7 +1237,7 @@ $ curl 'http://localhost:8042/changes?limit=100&since=922' A `sample code in the source distribution -`__ +`__ shows how to use this Changes API to implement a polling loop. @@ -1340,6 +1340,6 @@ * A :ref:`short reference of the REST API of Orthanc ` is part of the Orthanc Book. * The full documentation of the REST API in the OpenAPI/Swagger format - is `available online `__. This + is `available online `__. This reference is automatically generated from the source code of Orthanc. diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/users/storage-commitment.rst --- a/Sphinx/source/users/storage-commitment.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/users/storage-commitment.rst Tue Nov 21 21:09:02 2023 +0100 @@ -192,7 +192,7 @@ instances. Note that a `sample plugin -`__ +`__ is also available in the source distribution of Orthanc. diff -r 27b75c653a8b -r 1316bc62b5d5 Sphinx/source/users/support.rst --- a/Sphinx/source/users/support.rst Tue Nov 21 10:36:44 2023 +0100 +++ b/Sphinx/source/users/support.rst Tue Nov 21 21:09:02 2023 +0100 @@ -36,16 +36,16 @@ `__. 9. Check out the ``Pending changes in the mainline`` section of the `NEWS file - `__, as + `__, as your issue might already be solved in the mainline of Orthanc (i.e. in the cutting-edge version of Orthanc since the last stable official release). 10. Carefully read the `TODO file - `__ that + `__ that contains our roadmap, as you might be requesting a feature that is currently pending in our backlog (i.e. not implemented yet). 11. Look for similar issue in the `official bug tracker - `__ (make sure to + `__ (make sure to select ``All`` in the ``Status`` field, as your issue might already have been solved). @@ -144,7 +144,7 @@ If you are **sure** that you are reporting a yet unknown bug, you can consider directly introducing a `bug report on our issue tracker -`__. Beware however +`__. Beware however that your issue might be closed if too vague or if not reproducible. As a consequence, it is strongly advised to use the `Orthanc Users discussion forum `__ in the