# HG changeset patch # User Sebastien Jodogne # Date 1589951201 -7200 # Node ID 8afbe10c03d9387dbe6c627c26536c23d4492a39 # Parent 0c9a52bc20d9ddacaa07efeb069fd5e6640f1948# Parent 24b1c64002b888bb7ce4c44915dda9bf23c3b29c integration mainline->c-get diff -r 24b1c64002b8 -r 8afbe10c03d9 Sphinx/source/dicom-guide.rst --- a/Sphinx/source/dicom-guide.rst Wed May 20 07:06:07 2020 +0200 +++ b/Sphinx/source/dicom-guide.rst Wed May 20 07:06:41 2020 +0200 @@ -571,9 +571,9 @@ popular and widespread way to initiate a query/retrieve against a PACS server. The DICOM standard features an `alternative mechanism called C-Get -`_. -As of Orthanc 1.4.1, C-Get is not supported yet (but work is in -progress). +`_ +that has been introduced in Orthanc 1.7.0 (see below). + *Note 2:* As :ref:`written above `, the Orthanc engine is quite generic and is compatible with virtually any image @@ -591,6 +591,26 @@ ` (by default, all the transfer syntaxes are enabled). +.. _dicom-get: + +C-Get: retrieve +^^^^^^^^^^^^^^^ + +Once you know that a DICOM resource is available on a particular +DICOM node, you may retrieve it directly without performing a C-Find +before. This can be done once you know one ore more of the unique +key attributes (``PatientID``, ``StudyInstanceUID``, ``SeriesInstanceUID`` +or ``SOPInstanceUID``). + +As of Orthanc 1.7.0, Orthanc implements C-Get as a service provider (SCP) +but not as a service user (SCU). One way to use the C-Get against an +Orthanc is by using the `DCMTK `__ toolkit:: + + $ getscu -v localhost 4242 -aec ORTHANC -k "0020,000d=1.2...." -k "0008,0052=STUDY" + + + + Using HTTP instead of the DICOM protocol ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff -r 24b1c64002b8 -r 8afbe10c03d9 Sphinx/source/faq/security.rst --- a/Sphinx/source/faq/security.rst Wed May 20 07:06:07 2020 +0200 +++ b/Sphinx/source/faq/security.rst Wed May 20 07:06:41 2020 +0200 @@ -154,7 +154,7 @@ * For each modality that is defined in ``DicomModalities``, selectively specify what DICOM commands are allowed to be issued by the SCU of this modality by setting the suboptions ``AllowEcho``, - ``AllowFind``, ``AllowMove`` and ``AllowStore``. For instance, a + ``AllowFind``, ``AllowMove``, ``AllowStore`` and ``AllowGet``. For instance, a modality could be allowed to C-STORE images, but be disallowed to C-FIND the content of Orthanc. Here is a sample configuration to define a single modality that is only allowed to send DICOM @@ -169,6 +169,7 @@ "AllowEcho" : false, "AllowFind" : false, "AllowMove" : false, + "AllowGet" : false, "AllowStore" : true } } diff -r 24b1c64002b8 -r 8afbe10c03d9 Sphinx/source/users/docker-osimis.rst --- a/Sphinx/source/users/docker-osimis.rst Wed May 20 07:06:07 2020 +0200 +++ b/Sphinx/source/users/docker-osimis.rst Wed May 20 07:06:41 2020 +0200 @@ -236,7 +236,8 @@ in their JSON section or as soon as you define to ``true`` their specific environment variable. -Below is a list of all plugins, their environment variable and their default configuration: +Below is a list of all plugins, their environment variable and their default configuration +(only when their default configuration is different from the plugin defaults): .. below table is obtained by running orthanc-builder/docker/orthanc/generatePluginDoc.py @@ -244,75 +245,90 @@ +--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ | Plugin | Environment variable | Default configuration | -+==================================================+==================================================+====================================================================================================+ -| **Authorization** | ``AUTHORIZATION_PLUGIN_ENABLED`` | | ++==================================================+==================================================+====================================================================================================+ +| **Authorization** | ``AUTHORIZATION_PLUGIN_ENABLED`` | | +--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ -| **ConnectivityChecks** | ``CONNECTIVITY_CHECKS_PLUGIN_ENABLED`` | | -+--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ -| **DicomWeb** | ``DICOM_WEB_PLUGIN_ENABLED`` | .. code-block:: json | -| | | | -| | | { | +| **ConnectivityChecks** | ``CONNECTIVITY_CHECKS_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **DicomWeb** | ``DICOM_WEB_PLUGIN_ENABLED`` | .. code-block:: json | +| | | | +| | | { | | | | "DicomWeb": { | | | | "Enable": true | -| | | } | +| | | } | | | | } | +--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ -| **GoogleCloudPlatform** | ``GOOGLE_CLOUD_PLATFORM_PLUGIN_ENABLED`` | | -+--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **GoogleCloudPlatform** | ``GOOGLE_CLOUD_PLATFORM_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **Gdcm** | ``GDCM_PLUGIN_ENABLED`` | .. code-block:: json | +| | Note: enabled by default | | +| | | { | +| | | "Gdcm": { | +| | | "Throttling": 4, | +| | | "RestrictTransferSyntaxes": [ | +| | | "1.2.840.10008.1.2.4.90", | +| | | "1.2.840.10008.1.2.4.91", | +| | | "1.2.840.10008.1.2.4.92", | +| | | "1.2.840.10008.1.2.4.93" | +| | | ] | +| | | } | +| | | } | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ | **OrthancWebViewer** | ``ORTHANC_WEB_VIEWER_PLUGIN_ENABLED`` | | -+--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ -| **OsimisWebViewerBasic** | ``OSIMIS_WEB_VIEWER1_PLUGIN_ENABLED`` | | -+--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ -| **OsimisWebViewerBasicAlpha** | ``OSIMIS_WEB_VIEWER1_ALPHA_PLUGIN_ENABLED`` | | -+--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ -| **PostgreSQL** | ``POSTGRESQL_PLUGIN_ENABLED`` | .. code-block:: json | -| | | | -| | | { | -| | | "PostgreSQL": { | -| | | "EnableIndex": true, | -| | | "EnableStorage": false, | -| | | "Port": 5432, | -| | | "Host": "HOST MUST BE DEFINED", | -| | | "Database": "postgres", | -| | | "Username": "postgres", | -| | | "Password": "postgres", | -| | | "EnableSsl": false, | -| | | "Lock": false | -| | | } | -| | | } | -+--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ -| **MySQL** | ``MYSQL_PLUGIN_ENABLED`` | .. code-block:: json | -| | | | -| | | { | -| | | "MySQL": { | -| | | "EnableIndex": true, | -| | | "EnableStorage": false, | -| | | "Port": 3306, | -| | | "Host": "HOST MUST BE DEFINED", | -| | | "Database": "mysql", | -| | | "Username": "root", | -| | | "Password": "mysql", | -| | | "Lock": false | -| | | } | -| | | } | -+--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ -| **Python** | ``PYTHON_PLUGIN_ENABLED`` | | -+--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ -| **ServeFolders** | ``SERVE_FOLDERS_PLUGIN_ENABLED`` | | -+--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ -| **Transfers** | ``TRANSFERS_PLUGIN_ENABLED`` | | -+--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ -| **Worklists** | ``WORKLISTS_PLUGIN_ENABLED`` | .. code-block:: json | -| | | | -| | | { | -| | | "Worklists": { | -| | | "Enable": true, | -| | | "Database": "/var/lib/orthanc/worklists" | -| | | } | -| | | } | -+--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ -| **Wsi** | ``WSI_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **OsimisWebViewerBasic** | ``OSIMIS_WEB_VIEWER1_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **OsimisWebViewerBasicAlpha** | ``OSIMIS_WEB_VIEWER1_ALPHA_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **PostgreSQL** | ``POSTGRESQL_PLUGIN_ENABLED`` | .. code-block:: json | +| | | | +| | | { | +| | | "PostgreSQL": { | +| | | "EnableIndex": true, | +| | | "EnableStorage": false, | +| | | "Port": 5432, | +| | | "Host": "HOST MUST BE DEFINED", | +| | | "Database": "postgres", | +| | | "Username": "postgres", | +| | | "Password": "postgres", | +| | | "EnableSsl": false, | +| | | "Lock": false | +| | | } | +| | | } | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **MySQL** | ``MYSQL_PLUGIN_ENABLED`` | .. code-block:: json | +| | | | +| | | { | +| | | "MySQL": { | +| | | "EnableIndex": true, | +| | | "EnableStorage": false, | +| | | "Port": 3306, | +| | | "Host": "HOST MUST BE DEFINED", | +| | | "Database": "mysql", | +| | | "Username": "root", | +| | | "Password": "mysql", | +| | | "Lock": false | +| | | } | +| | | } | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **Python** | ``PYTHON_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **ServeFolders** | ``SERVE_FOLDERS_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **Transfers** | ``TRANSFERS_PLUGIN_ENABLED`` | | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **Worklists** | ``WORKLISTS_PLUGIN_ENABLED`` | .. code-block:: json | +| | | | +| | | { | +| | | "Worklists": { | +| | | "Enable": true, | +| | | "Database": "/var/lib/orthanc/worklists" | +| | | } | +| | | } | ++--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ +| **Wsi** | ``WSI_PLUGIN_ENABLED`` | | +--------------------------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------------------+ + Under the hood --------------