# HG changeset patch
# User Alain Mazy
# Date 1687502535 -7200
# Node ID ec4e1e8c3fa9c9a9a3a4700dc1225c218699e658
# Parent 91273763cb940cc376649028293549ba70f2eb1f# Parent 22a19433820bf4d2d8e29cf733d56ef6352b84b1
merge
diff -r 91273763cb94 -r ec4e1e8c3fa9 Sphinx/source/_templates/layout.html
--- a/Sphinx/source/_templates/layout.html Fri Jun 23 08:41:58 2023 +0200
+++ b/Sphinx/source/_templates/layout.html Fri Jun 23 08:42:15 2023 +0200
@@ -17,7 +17,7 @@
- © Copyright 2015-2022, University Hospital of Liège, Osimis
+ © Copyright 2015-2023, University Hospital of Liège, Osimis
S.A. (Belgium), UCLouvain ICTEAM, and the Orthanc community
The Orthanc Book is licensed under
Creative
@@ -27,19 +27,4 @@
-
-
-
{% endblock %}
diff -r 91273763cb94 -r ec4e1e8c3fa9 Sphinx/source/faq/features.rst
--- a/Sphinx/source/faq/features.rst Fri Jun 23 08:41:58 2023 +0200
+++ b/Sphinx/source/faq/features.rst Fri Jun 23 08:42:15 2023 +0200
@@ -329,6 +329,7 @@
* ``Global property 5468`` is used by the :ref:`DICOMweb plugin ` to store the DICOMweb servers into the Orthanc database.
* ``Metadata 4200`` is used by the plugin for :ref:`whole-slide imaging ` with version <= 0.7.
* ``Metadata 4201`` is used by the plugin for :ref:`whole-slide imaging ` with version >= 1.0.
+* ``Metadata 4202`` is used by the :ref:`OHIF plugin ` to store precomputed information about the DICOM instances.
Jobs
diff -r 91273763cb94 -r ec4e1e8c3fa9 Sphinx/source/faq/viewers.rst
--- a/Sphinx/source/faq/viewers.rst Fri Jun 23 08:41:58 2023 +0200
+++ b/Sphinx/source/faq/viewers.rst Fri Jun 23 08:42:15 2023 +0200
@@ -17,7 +17,10 @@
with Orthanc (do not hesitate to `warn us
`__ about other compatible FOSS):
-* `Open Health Imaging Foundation (OHIF) `__.
+* `Open Health Imaging Foundation (OHIF) `__,
+ for which an official :ref:`Orthanc plugin ` is available.
+* `Kitware's VolView `__, for which an
+ official :ref:`Orthanc plugin ` is available.
* `Horos `__.
* `Gingko CADx `__ (a
:ref:`configuration guide ` is available).
diff -r 91273763cb94 -r ec4e1e8c3fa9 Sphinx/source/images/OHIF.png
Binary file Sphinx/source/images/OHIF.png has changed
diff -r 91273763cb94 -r ec4e1e8c3fa9 Sphinx/source/plugins.rst
--- a/Sphinx/source/plugins.rst Fri Jun 23 08:41:58 2023 +0200
+++ b/Sphinx/source/plugins.rst Fri Jun 23 08:42:15 2023 +0200
@@ -82,10 +82,11 @@
.. toctree::
:maxdepth: 1
+ plugins/ohif.rst
+ plugins/volview.rst
plugins/tcia.rst
plugins/indexer.rst
plugins/neuro.rst
- plugins/volview.rst
plugins/multitenant-dicom.rst
.. _plugins-contributed:
diff -r 91273763cb94 -r ec4e1e8c3fa9 Sphinx/source/plugins/authorization.rst
--- a/Sphinx/source/plugins/authorization.rst Fri Jun 23 08:41:58 2023 +0200
+++ b/Sphinx/source/plugins/authorization.rst Fri Jun 23 08:42:15 2023 +0200
@@ -375,12 +375,12 @@
}
}
-.. _orthanc-explorer-authorization:
+.. _orthanc-explorer-2-authorization:
Integration with the Orthanc Explorer 2
---------------------------------------
-This project contains a `complete example`__
+This project contains a `complete example `__
of a Web services integrating with :ref:`Orthanc Explorer 2 ` to implement
user level permissions and sharing of single studies.
diff -r 91273763cb94 -r ec4e1e8c3fa9 Sphinx/source/plugins/ohif.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Sphinx/source/plugins/ohif.rst Fri Jun 23 08:42:15 2023 +0200
@@ -0,0 +1,280 @@
+.. _ohif:
+
+
+OHIF plugin
+===========
+
+.. contents::
+
+This **official** plugin by the `ICTEAM institute of UCLouvain
+`__ extends
+Orthanc with the `OHIF `__ extensible Web imaging
+platform.
+
+The plugin greatly simplifies the deployment of OHIF, as it does not
+necessitate the setup of any reverse proxy. It also speeds up the
+loading of
+
+
+Usage
+-----
+
+This plugin adds a dedicated button to Orthanc Explorer, which
+provides an easy, fast access to the OHIF viewers (click on the image
+to view a demo video):
+
+.. image:: ../images/OHIF.png
+ :align: center
+ :width: 800
+ :target: https://www.youtube.com/watch?v=-lzddzq9iT4
+|
+
+
+Compilation
+-----------
+
+.. highlight:: bash
+
+Official releases can be `downloaded from the Orthanc homepage
+`__. As
+an alternative, the `repository containing the source code
+`__ can be accessed
+using Mercurial.
+
+The procedure to compile this plugin is similar of that for the
+:ref:`core of Orthanc `. The following commands should work
+on most GNU/Linux distributions, provided Docker is installed::
+
+ $ mkdir Build
+ $ cd Build
+ $ ../Resources/CreateOHIFDist.sh
+ $ cmake .. -DSTATIC_BUILD=ON -DCMAKE_BUILD_TYPE=Release
+ $ make
+
+The compilation will produce a shared library ``libOrthancOHIF.so``
+that contains the OHIF plugin for Orthanc.
+
+Pre-compiled Linux Standard Base (LSB) binaries `are available for
+download `__.
+
+Pre-compiled binaries for Microsoft Windows and macOS `are also
+available
+`__.
+
+Furthermore, the :ref:`Docker images `
+``jodogne/orthanc-plugins`` and ``osimis/orthanc`` also contain the
+plugin. Debian and Ubuntu packages can be found in the
+:ref:`standalone repository `
+``https://debian.orthanc-labs.com/``.
+
+
+Configuration
+-------------
+
+.. highlight:: json
+
+Here is a minimal sample :ref:`configuration file ` to
+use this plugin::
+
+ {
+ "Plugins" : [
+ "/home/user/orthanc-ohif/Build/libOrthancOHIF.so"
+ ]
+ }
+
+Orthanc must of course be restarted after the modification of its
+configuration file.
+
+
+Using DICOMweb
+^^^^^^^^^^^^^^
+
+.. highlight:: json
+
+By default, the plugin uses the `DICOM JSON data source
+`__ of
+OHIF. This data source is optimized to provide the fastest access to
+the DICOM images, while requiring no additional plugin. However, in
+order to deliver fast access, the OHIF plugin will cache additional
+information about each DICOM instance as :ref:`metadata ` in
+the Orthanc database, which results in a larger size of the Orthanc
+database (an additional 1KB is roughly needed per instance).
+
+As an alternative, it is possible to enable the `DICOMweb data source
+`__. In
+this case, the :ref:`DICOMweb plugin of Orthanc ` must also
+be loaded. It can also be useful to load the :ref:`GDCM plugin `
+if the DICOM images are encoded using a JPEG2k compressed transfer
+syntax.
+
+The advantages of using DICOMweb over the default DICOM JSON are:
+
+* More standard-compliant.
+
+* The OHIF study list is accessible, notably as a button on the
+ welcome screen of Orthanc Explorer. The study list is not available
+ if using the DICOM JSON data source.
+
+* No additional space is used in the Orthanc database.
+
+Here is a minimal configuration file to use DICOMweb::
+
+ {
+ "Plugins" : [
+ "/home/user/orthanc-ohif/Build/libOrthancOHIF.so",
+ "/home/user/orthanc-dicomweb/Build/libOrthancDicomWeb.so"
+ ],
+ "OHIF" : {
+ "DataSource" : "dicom-web"
+ }
+ }
+
+
+User configuration of OHIF
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. highlight:: json
+
+OHIF comes with a number of `configuration options
+`__
+that can be fine-tuned by the user. User settings can be injected
+using the ``UserConfiguration`` option as follows::
+
+ {
+ "Plugins" : [
+ "/home/user/orthanc-ohif/Build/libOrthancOHIF.so"
+ ],
+ "OHIF" : {
+ "UserConfiguration" : "ohif.js"
+ }
+ }
+
+.. highlight:: javascript
+
+A minimal ``ohif.js`` would be::
+
+ window.config = {
+ extensions: [],
+ modes: []
+ }
+
+Note that the following configuration options will be overridden by
+the OHIF plugin to properly configure the data source and the
+integration with the Orthanc Web server:
+
+* ``window.config.dataSources``
+* ``window.config.defaultDataSourceName``
+* ``window.config.routerBasename``
+* ``window.config.showStudyList`` (set to ``false`` if using the DICOM
+ JSON data source)
+
+
+Router basename
+^^^^^^^^^^^^^^^
+
+.. highlight:: json
+
+If Orthanc is not branched at the root of a Web server thanks of the
+presence of a reverse proxy, the configuration option
+``RouterBasename`` must be adapted.
+
+For instance, if Orthanc is running at address
+``https://host.com/imaging/demo/orthanc/``, the following
+configuration file must be used for OHIF to work::
+
+ {
+ "Plugins" : [
+ "/home/user/orthanc-ohif/Build/libOrthancOHIF.so"
+ ],
+ "OHIF" : {
+ "RouterBasename" : "/imaging/demo/orthanc/ohif/"
+ }
+ }
+
+The default value of ``RouterBasename`` is ``/ohif/``.
+
+
+.. _ohif-preloading:
+
+Preloading
+^^^^^^^^^^
+
+.. highlight:: json
+
+If using the DICOM JSON data source, whenever a new DICOM instance is
+received by Orthanc, the OHIF plugin will compute a summary of the
+DICOM tags of interest to OHIF, and will store it as :ref:`metadata
+` in the Orthanc database. This process has the advantage of
+speeding up even the first opening of the DICOM study by OHIF, which
+probably corresponds to the expectations of most radiologists.
+
+However, if your Orthanc deployment is focused on speed, this
+preloading might be undesirable, as it slows down the ingestion of new
+DICOM instances by Orthanc. Furthermore, if your Orthanc server will
+contain a large number of DICOM studies that will never be displayed
+using OHIF, this can result in a waste of space in the Orthanc
+database because of the metadata that will be preloaded, but that will
+never be read.
+
+It is consequently possible to turn off the automated preloading
+of metadata using the following configuration::
+
+ {
+ "Plugins" : [
+ "/home/user/orthanc-ohif/Build/libOrthancOHIF.so"
+ ],
+ "OHIF" : {
+ "DataSource" : "dicom-json",
+ "Preload" : false
+ }
+ }
+
+If the ``Preload`` option is set to ``false``, the first display of a
+DICOM study can take several seconds because of the computation of the
+metadata, but subsequent displays will run much faster.
+
+Note that preloading is only applied to the newly received instances:
+The DICOM instances that were stored in the Orthanc server before the
+installation of the OHIF plugin will only benefit from the
+optimization starting with their second display using OHIF.
+
+
+For developers
+--------------
+
+Extensions to the REST API
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. highlight:: bash
+
+The content of the `DICOM JSON data source
+`__
+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
+
+This data source is constructed from the :ref:`metadata 4202
+` associated with the individual DICOM instances of the
+DICOM study. The metadata corresponds to the `Base64 encoding
+`__ of a gzipped JSON file. For
+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
+
+
+Preloading existing studies
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:ref:`As explained above `, the metadata associated
+with DICOM instances are only preloaded for the newly ingested DICOM
+instances. Using the REST API of Orthanc, it is easy to create a
+script that would preload the metadata for the already existing DICOM
+studies, hereby greatly speeding up the first opening of those studies
+as well.
+
+This script would loop over the :ref:`the DICOM studies that are
+stored by Orthanc ` using ``GET /studies``. For each
+study whose :ref:`Orthanc identifier ` is ``id``, the
+script would simply call ``GET /studies/{id}/ohif-dicom-json``.
+
diff -r 91273763cb94 -r ec4e1e8c3fa9 Sphinx/source/users/cookbook.rst
--- a/Sphinx/source/users/cookbook.rst Fri Jun 23 08:41:58 2023 +0200
+++ b/Sphinx/source/users/cookbook.rst Fri Jun 23 08:42:15 2023 +0200
@@ -35,10 +35,10 @@
.. highlight:: bash
Furthermore, if you are running Debian 9 (stretch), Debian 10
-(buster), Debian 11 (bullseye), Ubuntu 18.04 LTS (bionic), Ubuntu
-20.04 LTS (focal), or Ubuntu 22.04 LTS (jammy) on an **AMD64
-architecture**, Sébastien Jodogne maintains a **standalone Debian
-repository** that provides the latest versions of the LSB
+(buster), Debian 11 (bullseye), Debian 12 (bookworm), Ubuntu 18.04 LTS
+(bionic), Ubuntu 20.04 LTS (focal), or Ubuntu 22.04 LTS (jammy) on an
+**AMD64 architecture**, Sébastien Jodogne maintains a **standalone
+Debian repository** that provides the latest versions of the LSB
binaries. For instance, here is how to install the :ref:`Stone Web
viewer ` on a barebone Docker setup::
diff -r 91273763cb94 -r ec4e1e8c3fa9 Sphinx/source/users/replication.rst
--- a/Sphinx/source/users/replication.rst Fri Jun 23 08:41:58 2023 +0200
+++ b/Sphinx/source/users/replication.rst Fri Jun 23 08:42:15 2023 +0200
@@ -72,11 +72,14 @@
The most direct way to replicate an instance of Orthanc consists in
using the `ImportDicomFiles
`_
-script of the Orthanc distribution. For instance, the following
-command would recursively explore the content of the
-``OrthancStorage`` folder (where Orthanc stores its DICOM files by
-default), and send each DICOM file inside this folder to the instance
-of Orthanc whose REST API is listening on
+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.
+
+For instance, the following command would recursively explore the
+content of the ``OrthancStorage`` folder (where Orthanc stores its
+DICOM files by default), and send each DICOM file inside this folder
+to the instance of Orthanc whose REST API is listening on
``http://192.168.0.2:8042``::
$ python ImportDicomFiles.py 192.168.0.2 8042 OrthancStorage
@@ -97,16 +100,13 @@
**Important remark:** Because of :ref:`the way Orthanc stores its
database ` on the filesystem, it is *entirely normal*
-that the ``ImportDicomFiles.py`` script ends by saying that only half
-of the DICOM files were properly sent. This is because the JSON
-summaries are not DICOM files, and are thus rejected by the target
-Orthanc server. More information are available `on the discussion
-group
+if the ``ImportDicomFiles.py`` script ends by saying that only half of
+the DICOM files were properly sent. This is because the JSON summaries
+are not DICOM files, and are thus rejected by the target Orthanc
+server. More information are available `on the discussion group
`__.
-
-
Generic replication
-------------------
diff -r 91273763cb94 -r ec4e1e8c3fa9 Sphinx/source/users/support.rst
--- a/Sphinx/source/users/support.rst Fri Jun 23 08:41:58 2023 +0200
+++ b/Sphinx/source/users/support.rst Fri Jun 23 08:42:15 2023 +0200
@@ -187,11 +187,13 @@
* **Africa**:
* `Abdrahman Elkafil `__ (English/French/Arabic, Belgium and Morocco)
+ * `Olakunle Dada `__ (English/French, Nigeria)
* **Asia**:
* `Phong Tran Duc `__ (English/Vietnamese, Vietnam)
* `Rana Asim Wajid `__ (English/Urdu/Punjabi, Pakistan)
+ * `Yash Sonalia `__ (English/Hindi/Bengali, India)
* **Oceania**: