# HG changeset patch # User Sebastien Jodogne # Date 1648055093 -3600 # Node ID e95713f90614d8e0665fae98261dcb0fc8b10995 # Parent c568ec32c1eb6e526d47a7d291f01b687a83faca Orthanc 1.10.1 diff -r c568ec32c1eb -r e95713f90614 OpenAPI/orthanc-openapi.json --- a/OpenAPI/orthanc-openapi.json Tue Mar 22 14:54:44 2022 +0100 +++ b/OpenAPI/orthanc-openapi.json Wed Mar 23 18:04:53 2022 +0100 @@ -2,7 +2,7 @@ "info" : { "description" : "This is the full documentation of the [REST API](https://book.orthanc-server.com/users/rest.html) of Orthanc.

This reference is automatically generated from the source code of Orthanc. A [shorter cheat sheet](https://book.orthanc-server.com/users/rest-cheatsheet.html) is part of the Orthanc Book.

An earlier, manually crafted version from August 2019, is [still available](2019-08-orthanc-openapi.html), but is not up-to-date anymore ([source](https://groups.google.com/g/orthanc-users/c/NUiJTEICSl8/m/xKeqMrbqAAAJ)).", "title" : "Orthanc API", - "version" : "1.10.0" + "version" : "1.10.1" }, "openapi" : "3.0.0", "paths" : { @@ -583,11 +583,13 @@ "compressed-md5", "compressed-size", "data", + "info", "is-compressed", "md5", "size", "uncompress", - "verify-md5" + "verify-md5", + "uuid" ] } } @@ -3529,9 +3531,9 @@ "schema" : { "description" : "JSON array containing either the jobs identifiers, or detailed information about the reported jobs (if `expand` argument is provided)", "example" : [ - "14a3cacd-fdf1-42ce-8cbe-7d882b60872b", - "45948a0f-d176-4ca7-9efc-187a5d14f1c7", - "6aae44fb-dacf-4115-ad79-77a323fd340b", + "07436b2f-9d60-431a-a5c3-1aa179b747b5", + "0b6b7498-bcda-457c-95b1-c6616a7f1378", + "12aed87d-c08f-4b27-a29b-41e83ae529a8", "..." ] } @@ -5137,11 +5139,13 @@ "compressed-md5", "compressed-size", "data", + "info", "is-compressed", "md5", "size", "uncompress", - "verify-md5" + "verify-md5", + "uuid" ] } } @@ -8685,11 +8689,13 @@ "compressed-md5", "compressed-size", "data", + "info", "is-compressed", "md5", "size", "uncompress", - "verify-md5" + "verify-md5", + "uuid" ] } } @@ -11209,11 +11215,13 @@ "compressed-md5", "compressed-size", "data", + "info", "is-compressed", "md5", "size", "uncompress", - "verify-md5" + "verify-md5", + "uuid" ] } } @@ -13376,7 +13384,7 @@ "schema" : { "description" : "", "example" : { - "ApiVersion" : 15, + "ApiVersion" : 16, "CheckRevisions" : false, "DatabaseBackendPlugin" : null, "DatabaseVersion" : 6, @@ -13387,7 +13395,7 @@ "Name" : "Orthanc Demo", "PluginsEnabled" : true, "StorageAreaPlugin" : null, - "Version" : "1.9.7" + "Version" : "1.10.0" }, "properties" : { "ApiVersion" : { @@ -14831,7 +14839,7 @@ "200" : { "content" : { "text/plain" : { - "example" : "orthanc_count_instances 2552 1645624991823\northanc_count_patients 8 1645624991823\northanc_count_series 26 1645624991823\northanc_count_studies 8 1645624991823\northanc_dicom_cache_count 215 1645572656584\northanc_dicom_cache_size 89.9329529 1645572656583\northanc_disk_size_mb 1018.65021 1645624991823\northanc_jobs_completed 10 1645624991823\northanc_jobs_failed 4 1645624991823\northanc_jobs_pending 0 1645624991823\northanc_jobs_running 0 1645624991823\northanc_jobs_success 6 1645624991823\northanc_rest_api_active_requests 1 1645624991823\northanc_rest_api_duration_ms 342 1645624990284\northanc_storage_read_duration_ms 8 1645624986257\northanc_uncompressed_size_mb 1018.65021 1645624991823\n" + "example" : "orthanc_count_instances 2552 1648054911276\northanc_count_patients 8 1648054911276\northanc_count_series 26 1648054911276\northanc_count_studies 8 1648054911276\northanc_dicom_cache_count 501 1647846091296\northanc_dicom_cache_size 127.931984 1647846091296\northanc_disk_size_mb 1018.65021 1648054911276\northanc_jobs_completed 10 1648054911276\northanc_jobs_failed 6 1648054911276\northanc_jobs_pending 0 1648054911276\northanc_jobs_running 0 1648054911276\northanc_jobs_success 4 1648054911276\northanc_rest_api_active_requests 1 1648054911275\northanc_rest_api_duration_ms 368 1648054907876\northanc_storage_read_duration_ms 34 1648054910360\northanc_uncompressed_size_mb 1018.65021 1648054911276\n" } }, "description" : "" @@ -14850,7 +14858,7 @@ "200" : { "content" : { "text/plain" : { - "example" : "20220223T140311", + "example" : "20220323T170151", "schema" : { "description" : "The UTC time" } @@ -14872,7 +14880,7 @@ "200" : { "content" : { "text/plain" : { - "example" : "20220223T140311", + "example" : "20220323T170151", "schema" : { "description" : "The local time" } diff -r c568ec32c1eb -r e95713f90614 Sphinx/source/developers/creating-plugins.rst --- a/Sphinx/source/developers/creating-plugins.rst Tue Mar 22 14:54:44 2022 +0100 +++ b/Sphinx/source/developers/creating-plugins.rst Wed Mar 23 18:04:53 2022 +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 @@ -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 c568ec32c1eb -r e95713f90614 Sphinx/source/developers/db-versioning.rst --- a/Sphinx/source/developers/db-versioning.rst Tue Mar 22 14:54:44 2022 +0100 +++ b/Sphinx/source/developers/db-versioning.rst Wed Mar 23 18:04:53 2022 +0100 @@ -26,7 +26,7 @@ Version DB v2 DB v3 DB v4 DB v5 DB v6 =============================== ===== ===== ===== ===== ===== Mainline u u u x -Orthanc 0.9.5 - Orthanc 1.10.0 u u u x +Orthanc 0.9.5 - Orthanc 1.10.1 u u u x Orthanc 0.8.5 - Orthanc 0.9.4 u u x Orthanc 0.7.3 - Orthanc 0.8.4 u x Orthanc 0.4.0 - Orthanc 0.7.2 x diff -r c568ec32c1eb -r e95713f90614 Sphinx/source/dicom-guide.rst --- a/Sphinx/source/dicom-guide.rst Tue Mar 22 14:54:44 2022 +0100 +++ b/Sphinx/source/dicom-guide.rst Wed Mar 23 18:04:53 2022 +0100 @@ -665,7 +665,7 @@ $ getscu -v localhost 4242 -aec ORTHANC -k "0008,0052=STUDY" -k "0020,000d=1.2.840.113543.6.6.4.7.64067529866380271256212683512383713111129" -*Note:* As of Orthanc 1.10.0, Orthanc only implements C-Get as a +*Note:* As of Orthanc 1.10.1, Orthanc only implements C-Get as a service class provider (SCP). Using C-Get as a service class user (SCU) is not currently supported in Orthanc. diff -r c568ec32c1eb -r e95713f90614 Sphinx/source/faq/crash.rst --- a/Sphinx/source/faq/crash.rst Tue Mar 22 14:54:44 2022 +0100 +++ b/Sphinx/source/faq/crash.rst Wed Mar 23 18:04:53 2022 +0100 @@ -64,13 +64,13 @@ above ` is available as the ``crash.cpp`` file, here is a sample debug session:: - $ wget https://lsb.orthanc-server.com/orthanc/debug/1.10.0/Orthanc + $ wget https://lsb.orthanc-server.com/orthanc/debug/1.10.1/Orthanc $ chmod +x ./Orthanc $ gcc -fPIC -shared ./crash.cpp -I ~/orthanc/Plugins/Include -o crash.so $ ulimit -c unlimited $ echo '{ "Plugins" : ["crash.so"] }' > Configuration.json $ rm -f core ; ./Orthanc Configuration.json - W0427 15:43:24.215783 main.cpp:1436] Orthanc version: 1.10.0 + W0427 15:43:24.215783 main.cpp:1436] Orthanc version: 1.10.1 W0427 15:43:24.215910 main.cpp:1279] Performance warning: Non-release build, runtime debug assertions are turned on W0427 15:43:24.217585 OrthancConfiguration.cpp:61] Reading the configuration from: "Configuration.json" W0427 15:43:24.254733 main.cpp:700] Loading plugin(s) from: crash.so diff -r c568ec32c1eb -r e95713f90614 Sphinx/source/faq/debugging.rst --- a/Sphinx/source/faq/debugging.rst Tue Mar 22 14:54:44 2022 +0100 +++ b/Sphinx/source/faq/debugging.rst Wed Mar 23 18:04:53 2022 +0100 @@ -45,13 +45,13 @@ to debug Orthanc without compiling from sources. Here is a sample debug session:: - $ wget https://lsb.orthanc-server.com/orthanc/debug/1.10.0/Orthanc + $ wget https://lsb.orthanc-server.com/orthanc/debug/1.10.1/Orthanc $ chmod +x ./Orthanc $ gdb ./Orthanc Configuration.json (gdb) catch throw Catchpoint 1 (throw) (gdb) run - W0513 15:24:42.374349 main.cpp:1436] Orthanc version: 1.10.0 + W0513 15:24:42.374349 main.cpp:1436] Orthanc version: 1.10.1 ---> Reproduce your error case <--- Thread 15 "Orthanc" hit Catchpoint 1 (exception thrown), 0x00007ffff6de68bd in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (gdb) backtrace diff -r c568ec32c1eb -r e95713f90614 Sphinx/source/faq/orthanc-storage.rst --- a/Sphinx/source/faq/orthanc-storage.rst Tue Mar 22 14:54:44 2022 +0100 +++ b/Sphinx/source/faq/orthanc-storage.rst Wed Mar 23 18:04:53 2022 +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 c568ec32c1eb -r e95713f90614 Sphinx/source/faq/scalability.rst --- a/Sphinx/source/faq/scalability.rst Tue Mar 22 14:54:44 2022 +0100 +++ b/Sphinx/source/faq/scalability.rst Wed Mar 23 18:04:53 2022 +0100 @@ -54,7 +54,7 @@ Here is a generic setup that should provide best performance in the presence of large databases: -* Make sure to use the latest release of Orthanc (1.10.0 at the time of +* Make sure to use the latest release of Orthanc (1.10.1 at the time of writing) running on a GNU/Linux distribution. * We suggest to use the latest release of the :ref:`PostgreSQL plugin diff -r c568ec32c1eb -r e95713f90614 Sphinx/source/plugins/python.rst --- a/Sphinx/source/plugins/python.rst Tue Mar 22 14:54:44 2022 +0100 +++ b/Sphinx/source/plugins/python.rst Wed Mar 23 18:04:53 2022 +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. diff -r c568ec32c1eb -r e95713f90614 Sphinx/source/plugins/python/pil-conversions.py --- a/Sphinx/source/plugins/python/pil-conversions.py Tue Mar 22 14:54:44 2022 +0100 +++ b/Sphinx/source/plugins/python/pil-conversions.py Wed Mar 23 18:04:53 2022 +0100 @@ -3,7 +3,7 @@ import PIL.ImageDraw import orthanc -URL = 'http://hg.orthanc-server.com/orthanc-tests/raw-file/Orthanc-1.10.0/Database/LenaTwiceWithFragments.dcm' +URL = 'http://hg.orthanc-server.com/orthanc-tests/raw-file/Orthanc-1.10.1/Database/LenaTwiceWithFragments.dcm' USERNAME = '' PASSWORD = '' diff -r c568ec32c1eb -r e95713f90614 Sphinx/source/plugins/python/worklist.py --- a/Sphinx/source/plugins/python/worklist.py Tue Mar 22 14:54:44 2022 +0100 +++ b/Sphinx/source/plugins/python/worklist.py Wed Mar 23 18:04:53 2022 +0100 @@ -3,7 +3,7 @@ import os # Path to the directory containing the DICOM worklists -# https://hg.orthanc-server.com/orthanc/file/Orthanc-1.10.0/OrthancServer/Plugins/Samples/ModalityWorklists/WorklistsDatabase +# https://hg.orthanc-server.com/orthanc/file/Orthanc-1.10.1/OrthancServer/Plugins/Samples/ModalityWorklists/WorklistsDatabase WORKLIST_DIR = '/tmp/WorklistsDatabase' def OnWorklist(answers, query, issuerAet, calledAet): diff -r c568ec32c1eb -r e95713f90614 Sphinx/source/users/advanced-rest.rst --- a/Sphinx/source/users/advanced-rest.rst Tue Mar 22 14:54:44 2022 +0100 +++ b/Sphinx/source/users/advanced-rest.rst Wed Mar 23 18:04:53 2022 +0100 @@ -132,7 +132,7 @@ ``ErrorCode`` and ``ErrorDescription`` fields for more information. * ``Paused``: The job has been paused. * ``Retry``: The job has failed internally, and has been scheduled for - re-submission after a delay. As of Orthanc 1.10.0, this feature is not + re-submission after a delay. As of Orthanc 1.10.1, this feature is not used by any type of job. In order to wait for the end of an asynchronous call, the caller will @@ -141,7 +141,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()``). @@ -202,7 +202,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 @@ -211,7 +211,7 @@ $ curl http://localhost:8042/studies/27f7126f-4f66fb14-03f4081b-f9341db2-53925988/media -d '{"Asynchronous":true}' $ curl http://localhost:8042/jobs/6332be8a-0052-44fb-8cc2-ac959aeccad9/archive > a.zip -As of Orthanc 1.10.0, only the creation of a ZIP or a DICOMDIR archive +As of Orthanc 1.10.1, only the creation of a ZIP or a DICOMDIR archive produces such "outputs". diff -r c568ec32c1eb -r e95713f90614 Sphinx/source/users/anonymization.rst --- a/Sphinx/source/users/anonymization.rst Tue Mar 22 14:54:44 2022 +0100 +++ b/Sphinx/source/users/anonymization.rst Wed Mar 23 18:04:53 2022 +0100 @@ -80,7 +80,7 @@ **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 diff -r c568ec32c1eb -r e95713f90614 Sphinx/source/users/configuration.rst --- a/Sphinx/source/users/configuration.rst Tue Mar 22 14:54:44 2022 +0100 +++ b/Sphinx/source/users/configuration.rst Wed Mar 23 18:04:53 2022 +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:: diff -r c568ec32c1eb -r e95713f90614 Sphinx/source/users/debian-packages.rst --- a/Sphinx/source/users/debian-packages.rst Tue Mar 22 14:54:44 2022 +0100 +++ b/Sphinx/source/users/debian-packages.rst Wed Mar 23 18:04:53 2022 +0100 @@ -106,10 +106,10 @@ This can be done with this sequence of commands:: $ sudo service orthanc stop - $ sudo wget https://lsb.orthanc-server.com/orthanc/1.10.0/Orthanc --output-document /usr/sbin/Orthanc + $ sudo wget https://lsb.orthanc-server.com/orthanc/1.10.1/Orthanc --output-document /usr/sbin/Orthanc $ sudo rm -f /usr/share/orthanc/plugins/*.so - $ sudo wget https://lsb.orthanc-server.com/orthanc/1.10.0/libServeFolders.so --output-document /usr/share/orthanc/plugins/libServeFolders.so - $ sudo wget https://lsb.orthanc-server.com/orthanc/1.10.0/libModalityWorklists.so --output-document /usr/share/orthanc/plugins/libModalityWorklists.so + $ sudo wget https://lsb.orthanc-server.com/orthanc/1.10.1/libServeFolders.so --output-document /usr/share/orthanc/plugins/libServeFolders.so + $ sudo wget https://lsb.orthanc-server.com/orthanc/1.10.1/libModalityWorklists.so --output-document /usr/share/orthanc/plugins/libModalityWorklists.so $ $ sudo wget https://lsb.orthanc-server.com/plugin-dicom-web/1.6/libOrthancDicomWeb.so --output-document /usr/share/orthanc/plugins/libOrthancDicomWeb.so $ ... diff -r c568ec32c1eb -r e95713f90614 Sphinx/source/users/docker.rst --- a/Sphinx/source/users/docker.rst Tue Mar 22 14:54:44 2022 +0100 +++ b/Sphinx/source/users/docker.rst Wed Mar 23 18:04:53 2022 +0100 @@ -75,7 +75,7 @@ If more stability is required, you can select the official release of Orthanc to be run:: - $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc:1.10.0 + $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc:1.10.1 Passing additional command-line options (e.g. to make Orthanc verbose) can be done as follows (note the ``/etc/orthanc`` option that is @@ -97,7 +97,7 @@ Or you can also start a specific version of Orthanc for more stability:: - $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-plugins:1.10.0 + $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-plugins:1.10.1 If you have an interest in the :ref:`Python plugin `, you can use the ``orthanc-python`` image. The latter image is a @@ -105,7 +105,7 @@ Python 3.7 interpreter. Here is how to start this image:: $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-python - $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-python:1.10.0 + $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-python:1.10.1 Fine-tuning the configuration @@ -157,7 +157,7 @@ version: '3.1' # Secrets are only available since this version of Docker Compose services: orthanc: - image: jodogne/orthanc-plugins:1.10.0 + image: jodogne/orthanc-plugins:1.10.1 command: /run/secrets/ # Path to the configuration files (stored as secrets) ports: - 4242:4242 @@ -206,7 +206,7 @@ container to some path in the filesystem of your Linux host, e.g.:: $ mkdir /tmp/orthanc-db - $ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc-db/:/var/lib/orthanc/db/ jodogne/orthanc:1.10.0 + $ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc-db/:/var/lib/orthanc/db/ jodogne/orthanc:1.10.1 Whole-slide imaging support @@ -327,4 +327,4 @@ * The build artifacts can be found in folder ``/root/orthanc/Build``. * This command launches the mainline version. To start a released version, - use e.g. ``jodogne/orthanc-debug:1.10.0``. + use e.g. ``jodogne/orthanc-debug:1.10.1``. diff -r c568ec32c1eb -r e95713f90614 Sphinx/source/users/man-orthanc.txt --- a/Sphinx/source/users/man-orthanc.txt Tue Mar 22 14:54:44 2022 +0100 +++ b/Sphinx/source/users/man-orthanc.txt Wed Mar 23 18:04:53 2022 +0100 @@ -129,4 +129,4 @@ This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. -Orthanc 1.10.0 February 2022 ORTHANC(1) +Orthanc 1.10.1 March 2022 ORTHANC(1) diff -r c568ec32c1eb -r e95713f90614 Sphinx/source/users/rest.rst --- a/Sphinx/source/users/rest.rst Tue Mar 22 14:54:44 2022 +0100 +++ b/Sphinx/source/users/rest.rst Wed Mar 23 18:04:53 2022 +0100 @@ -94,7 +94,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:: @@ -106,7 +106,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 @@ -436,7 +436,7 @@ .. highlight:: python -Starting with Orthanc 1.10.0, it is possible to immediately download +Starting with Orthanc 1.10.1, it is possible to immediately download DICOM instances and DICOM series as numpy arrays (even if they use a compressed transfer syntax). This is especially useful for the integration within AI (artificial intelligence) pipelines. Here is a