# HG changeset patch # User Alain Mazy # Date 1632737798 -7200 # Node ID 33040fbf85a8a4ec16529be1a982f4ce4a58b146 # Parent ededfacf9a8d4771df44c7c14c294568ac13b7f0# Parent 8e5e868e636937fa01fcbe1be88b66ec3c6b6902 merge diff -r ededfacf9a8d -r 33040fbf85a8 Sphinx/source/faq/orthanc-storage.rst --- 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 ------------ diff -r ededfacf9a8d -r 33040fbf85a8 Sphinx/source/faq/scalability.rst --- 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 +`__ +a 20 times speedup by switching from HDD to SSD). -It is possible to create an :ref:`storage area plugin -` 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 ` 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. diff -r ededfacf9a8d -r 33040fbf85a8 Sphinx/source/plugins/indexer.rst --- 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 +`__ 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 `, 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 +`__. 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 +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 +`__. + +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. + + +Usage +----- + +.. highlight:: json + +Here is a minimal sample :ref:`configuration file ` 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 `). + +* Even if the folder indexer plugin is in use, you can still add other + DICOM files using the :ref:`REST API ` or the :ref:`DICOM + network protocol `. Such files would be stored in + the ``OrthancStorage`` :ref:`usual folder `. +