changeset 782:33040fbf85a8

merge
author Alain Mazy <am@osimis.io>
date Mon, 27 Sep 2021 12:16:38 +0200
parents ededfacf9a8d (current diff) 8e5e868e6369 (diff)
children 0fbe952b2906
files
diffstat 3 files changed, 101 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/Sphinx/source/faq/orthanc-storage.rst	Mon Sep 27 12:16:29 2021 +0200
+++ b/Sphinx/source/faq/orthanc-storage.rst	Mon Sep 27 12:16:38 2021 +0200
@@ -3,6 +3,8 @@
 How does Orthanc store its database?
 ====================================
 
+.. _orthanc-storage-area:
+
 Storage area
 ------------
 
--- a/Sphinx/source/faq/scalability.rst	Mon Sep 27 12:16:29 2021 +0200
+++ b/Sphinx/source/faq/scalability.rst	Mon Sep 27 12:16:38 2021 +0200
@@ -370,15 +370,19 @@
 Slow deletions
 ^^^^^^^^^^^^^^
 
-Deleting large studies can take some time, because removing a large
+Deleting large studies can take much time, because removing a large
 number of files from a filesystem can be an expensive operation (which
-might sound counterintuitive).
+might sound counter-intuitive). This is especially true with HDD
+drives, that can be much slower than SSD (`an user has reported
+<https://groups.google.com/g/orthanc-users/c/1lga0oFCHN4/m/jF1inrc4AgAJ>`__
+a 20 times speedup by switching from HDD to SSD).
 
-It is possible to create an :ref:`storage area plugin
-<creating-plugins>` that delays the actual deletion from the
-filesystem. The plugin would maintain a queue (e.g. as a SQLite
-database) of files to be removed. The actual deletion from the
-filesystem would be done asynchronously in a separate thread.
+If switching from HDD to SDD is not applicable, it is possible to
+create an :ref:`storage area plugin <creating-plugins>` that delays
+the actual deletion from the filesystem. The plugin would maintain a
+queue (e.g. as a SQLite database) of files to be removed. The actual
+deletion from the filesystem would be done asynchronously in a
+separate thread.
 
 We are looking for funding from the industry to implement such a
 plugin.
--- a/Sphinx/source/plugins/indexer.rst	Mon Sep 27 12:16:29 2021 +0200
+++ b/Sphinx/source/plugins/indexer.rst	Mon Sep 27 12:16:38 2021 +0200
@@ -1,9 +1,94 @@
 .. _indexer:
 
 
-Indexer plugin
-==============
+Folder Indexer plugin
+=====================
 
 .. contents::
 
-Soon available.
+This **official** plugin by the `ICTEAM institute of UCLouvain
+<https://uclouvain.be/en/research-institutes/icteam>`__ uses Orthanc
+to publish filesystems containing medical images as a DICOM modality.
+
+The plugin continuously synchronizes the content of an Orthanc server
+with the content of a filesystem. This way, the filesystem is
+automatically organized according to the :ref:`DICOM model of the real
+world <model-world>`, without any manual intervention. The indexed
+DICOM resources are immediately available in a Web interface and in a
+Web viewer, and can be queried/retrieved by DICOM clients. The DICOM
+files are **not** copied, so this solution has a very small footprint
+in terms of storage requirements.
+
+
+Compilation
+-----------
+
+.. highlight:: bash
+
+Official releases can be `downloaded from the Orthanc homepage
+<https://www.orthanc-server.com/browse.php?path=/plugin-indexer>`__. As
+an alternative, the `repository containing the source code
+<https://hg.orthanc-server.com/orthanc-indexer/>`__ can be accessed using
+Mercurial.
+
+The procedure to compile this plugin is similar of that for the
+:ref:`core of Orthanc <binaries>`. The following commands should work
+for most UNIX-like distribution (including GNU/Linux)::
+
+  $ mkdir Build
+  $ cd Build
+  $ cmake .. -DSTATIC_BUILD=ON -DCMAKE_BUILD_TYPE=Release
+  $ make
+
+The compilation will produce a shared library ``OrthancIndexer``
+that contains the folder indexer plugin for Orthanc.
+
+Pre-compiled Linux Standard Base (LSB) binaries `can be downloaded
+<https://lsb.orthanc-server.com/plugin-indexer/>`__.
+
+Pre-compiled binaries for Microsoft Windows and macOS `are also
+available
+<https://www.orthanc-server.com/browse.php?path=/plugin-indexer>`__.
+
+Furthermore, the :ref:`Docker images <docker>`
+``jodogne/orthanc-plugins`` and ``osimis/orthanc`` also contain the
+plugin.
+
+
+Usage
+-----
+
+.. highlight:: json
+
+Here is a minimal sample :ref:`configuration file <configuration>` to
+use this plugin::
+
+  {
+    "Plugins" : [
+      "/home/user/OrthancIndexer/Build/libOrthancIndexer.so"
+    ],
+    "Indexer" : {
+      "Enable" : true,
+      "Folders" : [ "/home/user/DICOM" ],   // List of folders to synchronize
+      "Interval" : 10                       // Delay between two synchronizations
+    }
+  }
+
+Orthanc must of course be restarted after the modification of its
+configuration file.
+
+Once Orthanc is started, the folders are transparently synchronized
+without any further interaction. You can start Orthanc with the
+``--verbose-plugins`` command-line option in order to monitor the
+synchronization process.
+
+Some remarks:
+
+* This plugin cannot be used together with other custom storage area
+  plugins (such as :ref:`cloud object storage <object-storage>`).
+
+* Even if the folder indexer plugin is in use, you can still add other
+  DICOM files using the :ref:`REST API <rest>` or the :ref:`DICOM
+  network protocol <dicom-protocol>`. Such files would be stored in
+  the ``OrthancStorage`` :ref:`usual folder <orthanc-storage-area>`.
+