Mercurial > hg > orthanc-book
changeset 1182:c977cc347e8c Orthanc-1.12.9
Orthanc 1.12.9
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 11 Aug 2025 19:35:21 +0200 |
parents | c66e6148dd0e |
children | 72a35cce8f76 |
files | OpenAPI/orthanc-openapi.json Sphinx/source/developers/creating-plugins.rst Sphinx/source/developers/db-versioning.rst Sphinx/source/faq/main-dicom-tags.rst Sphinx/source/faq/orthanc-storage.rst Sphinx/source/faq/scalability.rst Sphinx/source/plugins/java.rst Sphinx/source/plugins/python.rst Sphinx/source/users/advanced-rest.rst Sphinx/source/users/anonymization.rst Sphinx/source/users/configuration.rst Sphinx/source/users/debian-packages.rst Sphinx/source/users/docker.rst Sphinx/source/users/docker.rst.BAK Sphinx/source/users/man-orthanc.txt Sphinx/source/users/rest.rst |
diffstat | 16 files changed, 148 insertions(+), 48 deletions(-) [+] |
line wrap: on
line diff
--- a/OpenAPI/orthanc-openapi.json Tue Jul 22 11:17:58 2025 +0200 +++ b/OpenAPI/orthanc-openapi.json Mon Aug 11 19:35:21 2025 +0200 @@ -2,7 +2,7 @@ "info" : { "description" : "This is the full documentation of the [REST API](https://orthanc.uclouvain.be/book/users/rest.html) of Orthanc.<p>This reference is automatically generated from the source code of Orthanc. A [shorter cheat sheet](https://orthanc.uclouvain.be/book/users/rest-cheatsheet.html) is part of the Orthanc Book.<p>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.12.8" + "version" : "1.12.9" }, "openapi" : "3.0.0", "paths" : { @@ -4740,6 +4740,10 @@ "Timeout" : { "description" : "Timeout for the C-GET command, in seconds", "type" : "number" + }, + "UserData" : { + "description" : "User data that will travel along with the job.", + "type" : "object" } } } @@ -4832,6 +4836,10 @@ "Timeout" : { "description" : "Timeout for the C-MOVE command, in seconds", "type" : "number" + }, + "UserData" : { + "description" : "User data that will travel along with the job.", + "type" : "object" } } } @@ -5084,6 +5092,10 @@ "Timeout" : { "description" : "Timeout for the C-STORE command, in seconds", "type" : "number" + }, + "UserData" : { + "description" : "User data that will travel along with the job.", + "type" : "object" } } } @@ -5441,6 +5453,10 @@ "Transcode" : { "description" : "Transcode the DICOM instances to the provided DICOM transfer syntax: https://orthanc.uclouvain.be/book/faq/transcoding.html", "type" : "string" + }, + "UserData" : { + "description" : "User data that will travel along with the job.", + "type" : "object" } } } @@ -5575,6 +5591,10 @@ "Transcode" : { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://orthanc.uclouvain.be/book/faq/transcoding.html", "type" : "string" + }, + "UserData" : { + "description" : "In asynchronous mode, user data that will be attached to the job.", + "type" : "object" } } } @@ -6972,6 +6992,10 @@ "Transcode" : { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://orthanc.uclouvain.be/book/faq/transcoding.html", "type" : "string" + }, + "UserData" : { + "description" : "In asynchronous mode, user data that will be attached to the job.", + "type" : "object" } } } @@ -7283,6 +7307,10 @@ "Transcode" : { "description" : "Transcode the DICOM instances to the provided DICOM transfer syntax: https://orthanc.uclouvain.be/book/faq/transcoding.html", "type" : "string" + }, + "UserData" : { + "description" : "User data that will travel along with the job.", + "type" : "object" } } } @@ -8057,6 +8085,10 @@ "Transcode" : { "description" : "Transcode to the provided DICOM transfer syntax before the actual sending", "type" : "string" + }, + "UserData" : { + "description" : "User data that will travel along with the job.", + "type" : "object" } } } @@ -8816,6 +8848,10 @@ "Timeout" : { "description" : "Timeout for the C-MOVE command, in seconds", "type" : "number" + }, + "UserData" : { + "description" : "User data that will travel along with the job.", + "type" : "object" } } } @@ -9024,6 +9060,10 @@ "Timeout" : { "description" : "Timeout for the C-MOVE command, in seconds", "type" : "number" + }, + "UserData" : { + "description" : "User data that will travel along with the job.", + "type" : "object" } } } @@ -9338,6 +9378,10 @@ "Transcode" : { "description" : "Transcode the DICOM instances to the provided DICOM transfer syntax: https://orthanc.uclouvain.be/book/faq/transcoding.html", "type" : "string" + }, + "UserData" : { + "description" : "User data that will travel along with the job.", + "type" : "object" } } } @@ -9472,6 +9516,10 @@ "Transcode" : { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://orthanc.uclouvain.be/book/faq/transcoding.html", "type" : "string" + }, + "UserData" : { + "description" : "In asynchronous mode, user data that will be attached to the job.", + "type" : "object" } } } @@ -10723,6 +10771,10 @@ "Transcode" : { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://orthanc.uclouvain.be/book/faq/transcoding.html", "type" : "string" + }, + "UserData" : { + "description" : "In asynchronous mode, user data that will be attached to the job.", + "type" : "object" } } } @@ -11034,6 +11086,10 @@ "Transcode" : { "description" : "Transcode the DICOM instances to the provided DICOM transfer syntax: https://orthanc.uclouvain.be/book/faq/transcoding.html", "type" : "string" + }, + "UserData" : { + "description" : "User data that will travel along with the job.", + "type" : "object" } } } @@ -12198,6 +12254,10 @@ "Transcode" : { "description" : "Transcode the DICOM instances to the provided DICOM transfer syntax: https://orthanc.uclouvain.be/book/faq/transcoding.html", "type" : "string" + }, + "UserData" : { + "description" : "User data that will travel along with the job.", + "type" : "object" } } } @@ -12332,6 +12392,10 @@ "Transcode" : { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://orthanc.uclouvain.be/book/faq/transcoding.html", "type" : "string" + }, + "UserData" : { + "description" : "In asynchronous mode, user data that will be attached to the job.", + "type" : "object" } } } @@ -13729,6 +13793,10 @@ "Transcode" : { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://orthanc.uclouvain.be/book/faq/transcoding.html", "type" : "string" + }, + "UserData" : { + "description" : "In asynchronous mode, user data that will be attached to the job.", + "type" : "object" } } } @@ -13815,6 +13883,10 @@ "Synchronous" : { "description" : "If `true`, run the job in synchronous mode, which means that the HTTP answer will directly contain the result of the job. This is the default, easy behavior, but it is *not* desirable for long jobs, as it might lead to network timeouts.", "type" : "boolean" + }, + "UserData" : { + "description" : "User data that will travel along with the job.", + "type" : "object" } } } @@ -14120,6 +14192,10 @@ "Transcode" : { "description" : "Transcode the DICOM instances to the provided DICOM transfer syntax: https://orthanc.uclouvain.be/book/faq/transcoding.html", "type" : "string" + }, + "UserData" : { + "description" : "User data that will travel along with the job.", + "type" : "object" } } } @@ -14787,6 +14863,10 @@ "Synchronous" : { "description" : "If `true`, run the job in synchronous mode, which means that the HTTP answer will directly contain the result of the job. This is the default, easy behavior, but it is *not* desirable for long jobs, as it might lead to network timeouts.", "type" : "boolean" + }, + "UserData" : { + "description" : "User data that will travel along with the job.", + "type" : "object" } } } @@ -14951,7 +15031,7 @@ "StorageAreaPlugin" : null, "StorageCompression" : false, "UserMetadata" : {}, - "Version" : "1.12.8" + "Version" : "1.12.9" }, "properties" : { "ApiVersion" : { @@ -15285,6 +15365,10 @@ "Transcode" : { "description" : "Transcode the DICOM instances to the provided DICOM transfer syntax: https://orthanc.uclouvain.be/book/faq/transcoding.html", "type" : "string" + }, + "UserData" : { + "description" : "User data that will travel along with the job.", + "type" : "object" } } } @@ -15477,6 +15561,10 @@ "Transcode" : { "description" : "Transcode the DICOM instances to the provided DICOM transfer syntax: https://orthanc.uclouvain.be/book/faq/transcoding.html", "type" : "string" + }, + "UserData" : { + "description" : "User data that will travel along with the job.", + "type" : "object" } } } @@ -15676,6 +15764,10 @@ "Transcode" : { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://orthanc.uclouvain.be/book/faq/transcoding.html", "type" : "string" + }, + "UserData" : { + "description" : "In asynchronous mode, user data that will be attached to the job.", + "type" : "object" } } } @@ -15880,6 +15972,10 @@ "Transcode" : { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://orthanc.uclouvain.be/book/faq/transcoding.html", "type" : "string" + }, + "UserData" : { + "description" : "In asynchronous mode, user data that will be attached to the job.", + "type" : "object" } } } @@ -16013,6 +16109,10 @@ "Transcode" : { "description" : "If present, the DICOM files in the archive will be transcoded to the provided transfer syntax: https://orthanc.uclouvain.be/book/faq/transcoding.html", "type" : "string" + }, + "UserData" : { + "description" : "In asynchronous mode, user data that will be attached to the job.", + "type" : "object" } } } @@ -16813,7 +16913,7 @@ "200" : { "content" : { "text/plain" : { - "example" : "orthanc_count_instances 2552 1749916381731\northanc_count_patients 8 1749916381731\northanc_count_series 26 1749916381731\northanc_count_studies 8 1749916381731\northanc_dicom_cache_count 1 1749916381731\northanc_dicom_cache_size_mb 0.502557755 1749916381731\northanc_disk_size_mb 983.235352 1749916381731\northanc_jobs_completed 0 1749916381731\northanc_jobs_failed 0 1749916381731\northanc_jobs_pending 0 1749916381731\northanc_jobs_running 0 1749916381731\northanc_jobs_success 0 1749916381731\northanc_last_change 6551 1749916381731\northanc_rest_api_active_requests 1 1749916381731\northanc_rest_api_duration_ms 658 1749916380195\northanc_storage_cache_count 417 1749916381731\northanc_storage_cache_hit_count 567 1749916381503\northanc_storage_cache_miss_count 417 1749916380002\northanc_storage_cache_size_mb 34.7660789 1749916381731\northanc_storage_read_bytes 36454876 1749916380002\northanc_storage_read_duration_ms 0 1749916374668\northanc_uncompressed_size_mb 983.235352 1749916381731\northanc_up_time_s 168 1749916381731\n" + "example" : "orthanc_available_dicom_threads 4 1754933485145\northanc_available_http_threads_count 49 1754933683397\northanc_count_instances 2552 1754933691628\northanc_count_patients 8 1754933691628\northanc_count_series 26 1754933691628\northanc_count_studies 8 1754933691628\northanc_dicom_cache_count 1 1754933691628\northanc_dicom_cache_size_mb 0.502557755 1754933691628\northanc_disk_size_mb 983.235352 1754933691628\northanc_jobs_completed 0 1754933691628\northanc_jobs_failed 0 1754933691628\northanc_jobs_pending 0 1754933691628\northanc_jobs_running 0 1754933691628\northanc_jobs_success 0 1754933691628\northanc_last_change 6551 1754933691628\northanc_rest_api_active_requests 1 1754933683397\northanc_rest_api_duration_ms 650 1754933690143\northanc_storage_cache_count 400 1754933691629\northanc_storage_cache_hit_count 407 1754933691400\northanc_storage_cache_miss_count 400 1754933689980\northanc_storage_cache_size_mb 3.17403412 1754933691628\northanc_storage_read_bytes 3328216 1754933689980\northanc_storage_read_duration_ms 0 1754933683841\northanc_uncompressed_size_mb 983.235352 1754933691628\northanc_up_time_s 206 1754933691628\n" } }, "description" : "" @@ -16832,7 +16932,7 @@ "200" : { "content" : { "text/plain" : { - "example" : "20250614T155301", + "example" : "20250811T173451", "schema" : { "description" : "The UTC time" } @@ -16854,7 +16954,7 @@ "200" : { "content" : { "text/plain" : { - "example" : "20250614T155301", + "example" : "20250811T173451", "schema" : { "description" : "The local time" }
--- a/Sphinx/source/developers/creating-plugins.rst Tue Jul 22 11:17:58 2025 +0200 +++ b/Sphinx/source/developers/creating-plugins.rst Mon Aug 11 19:35:21 2025 +0200 @@ -15,7 +15,7 @@ Native Orthanc plugins must use the `plugin SDK <https://orthanc.uclouvain.be/sdk/>`__ whose interface is available as a `C header -<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.8/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__. +<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__. 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 @@ -103,7 +103,7 @@ that is part of the Orthanc source distribution: * `Plugins/Include/orthanc/OrthancCPlugin.h - <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.8/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__ + <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__ `Online documentation <https://orthanc.uclouvain.be/sdk/>`__ for this C header is available, as generated by `Doxygen @@ -117,8 +117,8 @@ ``HAS_ORTHANC_EXCEPTION`` is set to ``0``: * `Plugins/Samples/Common/OrthanPluginCppWrapper.h - <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.8/OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.h>`__ + <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.h>`__ * `Plugins/Samples/Common/OrthanPluginCppWrapper.cpp - <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.8/OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp>`__ + <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp>`__ * `Plugins/Samples/Common/OrthanPluginException.h - <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.8/OrthancServer/Plugins/Samples/Common/OrthancPluginException.h>`__ + <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Plugins/Samples/Common/OrthancPluginException.h>`__
--- a/Sphinx/source/developers/db-versioning.rst Tue Jul 22 11:17:58 2025 +0200 +++ b/Sphinx/source/developers/db-versioning.rst Mon Aug 11 19:35:21 2025 +0200 @@ -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.12.8 u u u x +Orthanc 0.9.5 - Orthanc 1.12.9 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
--- a/Sphinx/source/faq/main-dicom-tags.rst Tue Jul 22 11:17:58 2025 +0200 +++ b/Sphinx/source/faq/main-dicom-tags.rst Mon Aug 11 19:35:21 2025 +0200 @@ -132,7 +132,7 @@ ``SeriesDescription`` at ``Study`` level will lead to unpredictible results. Orthanc will **not** check that the tags levels are adequate. -*Note:* As of Orthanc 1.12.8, it is not possible to store Private DICOM tags +*Note:* As of Orthanc 1.12.9, it is not possible to store Private DICOM tags in the ``ExtraMainDicomTags``.
--- a/Sphinx/source/faq/orthanc-storage.rst Tue Jul 22 11:17:58 2025 +0200 +++ b/Sphinx/source/faq/orthanc-storage.rst Mon Aug 11 19:35:21 2025 +0200 @@ -105,9 +105,9 @@ The database schema is kept as simple as possible, e.g, for SQLite, the schema can be found in the following two files of the source code of Orthanc: `PrepareDatabase.sql -<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.8/OrthancServer/Sources/Database/PrepareDatabase.sql>`__ +<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Sources/Database/PrepareDatabase.sql>`__ and `InstallTrackAttachmentsSize.sql -<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.8/OrthancServer/Sources/Database/InstallTrackAttachmentsSize.sql>`__. +<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Sources/Database/InstallTrackAttachmentsSize.sql>`__. Direct access
--- a/Sphinx/source/faq/scalability.rst Tue Jul 22 11:17:58 2025 +0200 +++ b/Sphinx/source/faq/scalability.rst Mon Aug 11 19:35:21 2025 +0200 @@ -53,7 +53,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.12.8 at the time of +* Make sure to use the latest release of Orthanc (1.12.9 at the time of writing) running on a GNU/Linux distribution. * We suggest to use the latest release of the :ref:`PostgreSQL plugin
--- a/Sphinx/source/plugins/java.rst Tue Jul 22 11:17:58 2025 +0200 +++ b/Sphinx/source/plugins/java.rst Mon Aug 11 19:35:21 2025 +0200 @@ -18,7 +18,7 @@ Java applications for Orthanc have access to more features and a more consistent SDK than :ref:`Lua scripts <lua>`. The largest part of the Java API is automatically generated from the `Orthanc plugin SDK in C -<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.8/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__ +<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__ using the `Clang <https://en.wikipedia.org/wiki/Clang>`__ compiler front-end.
--- a/Sphinx/source/plugins/python.rst Tue Jul 22 11:17:58 2025 +0200 +++ b/Sphinx/source/plugins/python.rst Mon Aug 11 19:35:21 2025 +0200 @@ -30,7 +30,7 @@ Python plugins have access to more features and a more consistent SDK than :ref:`Lua scripts <lua>`. The largest part of the Python API is automatically generated from the `Orthanc plugin SDK in C -<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.8/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__ +<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__ using the `Clang <https://en.wikipedia.org/wiki/Clang>`__ compiler front-end. @@ -351,7 +351,7 @@ call ``RestApiPostAfterPlugin`` to call the REST API from plugins. -Note however, that, as of Orthanc 1.12.8, the Orthanc plugin SDK +Note however, that, as of Orthanc 1.12.9, the Orthanc plugin SDK does not support multiple plugins implementing the same route. Orthanc will actually accept e.g a Python plugin that overrides a DICOMWeb route but it is impossible to tell which route @@ -940,7 +940,7 @@ * The call to ``orthanc.ExtendOrthancExplorer()`` installs the button with JavaScript code that uses the `jQuery Mobile framework - <https://demos.jquerymobile.com/1.1.0/>`__ (as of Orthanc 1.12.8, + <https://demos.jquerymobile.com/1.1.0/>`__ (as of Orthanc 1.12.9, version 1.1.0 of jQuery Mobile is used in Orthanc Explorer). * If clicking on the button, a GET call to the REST API is made to
--- a/Sphinx/source/users/advanced-rest.rst Tue Jul 22 11:17:58 2025 +0200 +++ b/Sphinx/source/users/advanced-rest.rst Mon Aug 11 19:35:21 2025 +0200 @@ -89,7 +89,7 @@ the ``MediaArchiveSize`` configuration that defines the maximum number of ZIP/media archives that are maintained by Orthanc, as a response to the asynchronous creation of archive. As of Orthanc -1.12.8, this value is ``1`` by default. +1.12.9, this value is ``1`` by default. .. _jobs-monitoring: @@ -139,7 +139,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.12.8, this feature is not + re-submission after a delay. As of Orthanc 1.12.9, this feature is not used by any type of job. In order to wait for the end of an asynchronous call, the caller will @@ -148,7 +148,7 @@ ``Failure``. Note that the `integration tests of Orthanc -<https://orthanc.uclouvain.be/hg/orthanc-tests/file/Orthanc-1.12.8/Tests/Toolbox.py>`__ +<https://orthanc.uclouvain.be/hg/orthanc-tests/file/Orthanc-1.12.9/Tests/Toolbox.py>`__ give an example about how to monitor a job in Python using the REST API (cf. function ``MonitorJob()``). @@ -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 -<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.8/OrthancServer/Sources/ServerJobs/ArchiveJob.cpp>`__ +<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Sources/ServerJobs/ArchiveJob.cpp>`__ of Orthanc). Here is the corresponding sequence of commands to generate a DICOMDIR @@ -230,7 +230,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.12.8, only the creation of a ZIP or a DICOMDIR archive +As of Orthanc 1.12.9, only the creation of a ZIP or a DICOMDIR archive produces such "outputs".
--- a/Sphinx/source/users/anonymization.rst Tue Jul 22 11:17:58 2025 +0200 +++ b/Sphinx/source/users/anonymization.rst Mon Aug 11 19:35:21 2025 +0200 @@ -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 -<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.8/OrthancFramework/Sources/DicomParsing/DicomModification.cpp>`__). +<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancFramework/Sources/DicomParsing/DicomModification.cpp>`__). Modification of a Single Instance
--- a/Sphinx/source/users/configuration.rst Tue Jul 22 11:17:58 2025 +0200 +++ b/Sphinx/source/users/configuration.rst Mon Aug 11 19:35:21 2025 +0200 @@ -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 -<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.8/OrthancServer/Resources/Configuration.json>`_. This +<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Resources/Configuration.json>`_. This file is in the `JSON <https://en.wikipedia.org/wiki/JSON>`_ file format. You can generate this file file with the following call::
--- a/Sphinx/source/users/debian-packages.rst Tue Jul 22 11:17:58 2025 +0200 +++ b/Sphinx/source/users/debian-packages.rst Mon Aug 11 19:35:21 2025 +0200 @@ -108,11 +108,11 @@ This can be done with this sequence of commands:: $ sudo service orthanc stop - $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc/1.12.8/Orthanc --output-document /usr/sbin/Orthanc + $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc/1.12.9/Orthanc --output-document /usr/sbin/Orthanc $ sudo chmod +x /usr/sbin/Orthanc $ sudo rm -f /usr/share/orthanc/plugins/*.so - $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc/1.12.8/libServeFolders.so --output-document /usr/share/orthanc/plugins/libServeFolders.so - $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc/1.12.8/libModalityWorklists.so --output-document /usr/share/orthanc/plugins/libModalityWorklists.so + $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc/1.12.9/libServeFolders.so --output-document /usr/share/orthanc/plugins/libServeFolders.so + $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc/1.12.9/libModalityWorklists.so --output-document /usr/share/orthanc/plugins/libModalityWorklists.so $ $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc-dicomweb/1.20/libOrthancDicomWeb.so --output-document /usr/share/orthanc/plugins/libOrthancDicomWeb.so $ ...
--- a/Sphinx/source/users/docker.rst Tue Jul 22 11:17:58 2025 +0200 +++ b/Sphinx/source/users/docker.rst Mon Aug 11 19:35:21 2025 +0200 @@ -97,13 +97,13 @@ 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.12.8 + $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc:1.12.9 Passing additional command-line options (e.g. to make Orthanc verbose) can be done as follows (note the ``/etc/orthanc`` option that is required for Orthanc to find its configuration files):: - $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc:1.12.8 /etc/orthanc --verbose + $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc:1.12.9 /etc/orthanc --verbose Usage, with plugins enabled @@ -119,7 +119,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.12.8 + $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-plugins:1.12.9 If you have an interest in the :ref:`Python plugin <python-plugin>`, you can use the ``orthanc-python`` image. The latter image is a @@ -127,7 +127,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.12.8 + $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-python:1.12.9 Fine-tuning the configuration @@ -141,12 +141,12 @@ You can generate a custom configuration file for Orthanc as follows:: - $ docker run --rm --entrypoint=cat jodogne/orthanc:1.12.8 /etc/orthanc/orthanc.json > /tmp/orthanc.json + $ docker run --rm --entrypoint=cat jodogne/orthanc:1.12.9 /etc/orthanc/orthanc.json > /tmp/orthanc.json Then, edit the just-generated file ``/tmp/orthanc.json`` and restart Orthanc with your updated configuration:: - $ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc.json:/etc/orthanc/orthanc.json:ro jodogne/orthanc:1.12.8 + $ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc.json:/etc/orthanc/orthanc.json:ro jodogne/orthanc:1.12.9 *Remark:* These Docker images automatically set the environment variable ``MALLOC_ARENA_MAX`` to ``5`` in order to :ref:`control @@ -179,7 +179,7 @@ version: '3.1' # Secrets are only available since this version of Docker Compose services: orthanc: - image: jodogne/orthanc-plugins:1.12.8 + image: jodogne/orthanc-plugins:1.12.9 command: /run/secrets/ # Path to the configuration files (stored as secrets) ports: - 4242:4242 @@ -228,7 +228,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.12.8 + $ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc-db/:/var/lib/orthanc/db/ jodogne/orthanc:1.12.9 Whole-slide imaging support @@ -238,13 +238,13 @@ whole-slide imaging (WSI) <wsi>`. For instance, the following command will start the WSI viewer plugin transparently together with Orthanc:: - $ docker run -p 4242:4242 -p 8042:8042 --rm --name orthanc-wsi jodogne/orthanc-plugins:1.12.8 + $ docker run -p 4242:4242 -p 8042:8042 --rm --name orthanc-wsi jodogne/orthanc-plugins:1.12.9 Note that we gave the name ``orthanc-wsi`` to this new Docker container. Then, the Dicomizer command-line tool can be invoked as follows:: - $ docker run -t -i --rm --link=orthanc-wsi:orthanc --entrypoint=OrthancWSIDicomizer -v /tmp/Source.tif:/tmp/Source.tif:ro jodogne/orthanc-plugins:1.12.8 --username=orthanc --password=orthanc --orthanc=http://orthanc:8042/ /tmp/Source.tif + $ docker run -t -i --rm --link=orthanc-wsi:orthanc --entrypoint=OrthancWSIDicomizer -v /tmp/Source.tif:/tmp/Source.tif:ro jodogne/orthanc-plugins:1.12.9 --username=orthanc --password=orthanc --orthanc=http://orthanc:8042/ /tmp/Source.tif This command needs a few explanations: @@ -272,7 +272,7 @@ instruct the Dicomizer to use `OpenSlide <https://openslide.org/>`__ to decode it by adding the ``--openslide`` option:: - $ docker run -t -i --rm --link=orthanc-wsi:orthanc --entrypoint=OrthancWSIDicomizer -v /tmp/Source.svs:/tmp/Source.svs:ro jodogne/orthanc-plugins:1.12.8 --username=orthanc --password=orthanc --orthanc=http://orthanc:8042/ --openslide=libopenslide.so /tmp/Source.svs + $ docker run -t -i --rm --link=orthanc-wsi:orthanc --entrypoint=OrthancWSIDicomizer -v /tmp/Source.svs:/tmp/Source.svs:ro jodogne/orthanc-plugins:1.12.9 --username=orthanc --password=orthanc --orthanc=http://orthanc:8042/ --openslide=libopenslide.so /tmp/Source.svs PostgreSQL and Orthanc inside Docker @@ -293,7 +293,7 @@ $ docker inspect --format '{{ .NetworkSettings.IPAddress }}' some-postgres $ docker inspect --format '{{ .NetworkSettings.Ports }}' some-postgres - $ docker run --rm --entrypoint=cat jodogne/orthanc-plugins:1.12.8 /etc/orthanc/orthanc.json > /tmp/orthanc.json + $ docker run --rm --entrypoint=cat jodogne/orthanc-plugins:1.12.9 /etc/orthanc/orthanc.json > /tmp/orthanc.json .. highlight:: text @@ -314,7 +314,7 @@ Finally, you can start Orthanc:: - $ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc.json:/etc/orthanc/orthanc.json:ro jodogne/orthanc-plugins:1.12.8 + $ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc.json:/etc/orthanc/orthanc.json:ro jodogne/orthanc-plugins:1.12.9 Debugging @@ -325,5 +325,5 @@ For debugging purpose, you can start an interactive bash session as follows:: - $ docker run -i -t --rm --entrypoint=bash jodogne/orthanc:1.12.8 - $ docker run -i -t --rm --entrypoint=bash jodogne/orthanc-plugins:1.12.8 + $ docker run -i -t --rm --entrypoint=bash jodogne/orthanc:1.12.9 + $ docker run -i -t --rm --entrypoint=bash jodogne/orthanc-plugins:1.12.9
--- a/Sphinx/source/users/docker.rst.BAK Tue Jul 22 11:17:58 2025 +0200 +++ b/Sphinx/source/users/docker.rst.BAK Mon Aug 11 19:35:21 2025 +0200 @@ -20,4 +20,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.12.8``. + use e.g. ``jodogne/orthanc-debug:1.12.9``.
--- a/Sphinx/source/users/man-orthanc.txt Tue Jul 22 11:17:58 2025 +0200 +++ b/Sphinx/source/users/man-orthanc.txt Mon Aug 11 19:35:21 2025 +0200 @@ -130,4 +130,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.12.8 June 2025 ORTHANC(1) +Orthanc 1.12.9 August 2025 ORTHANC(1)
--- a/Sphinx/source/users/rest.rst Tue Jul 22 11:17:58 2025 +0200 +++ b/Sphinx/source/users/rest.rst Mon Aug 11 19:35:21 2025 +0200 @@ -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 -<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.8/OrthancServer/Resources/Samples/ImportDicomFiles/ImportDicomFiles.py>`__ +<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Resources/Samples/ImportDicomFiles/ImportDicomFiles.py>`__ 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 -<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.8/OrthancServer/Resources/Samples/ImportDicomFiles/OrthancImport.py>`__. +<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.9/OrthancServer/Resources/Samples/ImportDicomFiles/OrthancImport.py>`__. .. highlight:: perl