Folder Indexer plugin

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, which can then be accessed, through Orthanc, based on the DICOM model of the real world. 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

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 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 Docker images jodogne/orthanc-plugins and osimis/orthanc also contain the plugin.

Usage

Here is a minimal sample 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: