changeset 31:93bbfaf0e62c

worklist instructions migrated to a specific page, indexing of Osimis Web viewer
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 20 Jul 2016 11:35:54 +0200
parents 79b6d3ea92aa
children 03b32d0e49f2
files Sphinx/source/faq/worklist.rst Sphinx/source/plugins.rst Sphinx/source/plugins/dicomweb.rst Sphinx/source/plugins/postgresql.rst Sphinx/source/plugins/serve-folders.rst Sphinx/source/plugins/webviewer.rst Sphinx/source/plugins/worklists-plugin.rst Sphinx/source/users/cookbook.rst
diffstat 8 files changed, 153 insertions(+), 138 deletions(-) [+]
line wrap: on
line diff
--- a/Sphinx/source/faq/worklist.rst	Wed Jul 20 11:13:46 2016 +0200
+++ b/Sphinx/source/faq/worklist.rst	Wed Jul 20 11:35:54 2016 +0200
@@ -20,128 +20,14 @@
 Orthanc user to provide the worklist generator that is best suited for
 her use.
 
-A `sample plugin
-<https://bitbucket.org/sjodogne/orthanc/src/default/Plugins/Samples/ModalityWorklists/>`__
-is available to serve the worklists stored in some folder on the
-filesystem. This mimics the behavior of the ``wlmscpfs`` command-line
-tool from the `DCMTK software
-<http://support.dcmtk.org/docs/wlmscpfs.html>`__. ``dump2dcm`` might
-be a very `useful companion tool
-<http://support.dcmtk.org/docs/dump2dcm.html>`__ to feed the sample
-plugin with worklists for some separate maintenance script.
+A :ref:`sample plugin <worklists-plugin>` is available in the source
+distribution of Orthanc to serve the worklists stored in some folder
+on the filesystem. This sample plugin mimics the behavior of the
+``wlmscpfs`` command-line tool from the `DCMTK software
+<http://support.dcmtk.org/docs/wlmscpfs.html>`__.
 
 For more complex or integrated workflows where you must implement a
 custom MWL plugin, please check the `documentation of the part of the
 Orthanc plugin SDK
 <https://orthanc.chu.ulg.ac.be/sdk/group__Worklists.html>`__ that is
 related to the management of worklists.
-
-
-How should I use it ?
----------------------
-
-- download `DCMTK utilities <http://dicom.offis.de/download/dcmtk/release/bin/>`__
-- download sample `worklist files <https://bitbucket.org/sjodogne/orthanc/src/default/Plugins/Samples/ModalityWorklists/>`__ from the Orthanc source code and copy them in a dedicated folder. 
-
-.. highlight:: javascript
- 
-- Enable the ModalityWorklist plugin in your config.json by adding this section::
-	
-    "Worklists" : {
-      "Enable": true,
-      "Database": "WorklistsDatabase"  //this is the path to the folder with the worklist files.  Use absolute path !
-    },
-
-- Add the plugin to the list of plugins to load (this is an example for Windows)::
-	
-	"Plugins" : [
-	  "OsimisWebViewer.dll",
-	  "ModalityWorklists.dll" // on Linux, use ModalityWorklists.so
-	],
-
-- Add the findscu utility to the list of know modalities (considering findscu and Orthanc runs on the same machine)::
-	
-    "DicomModalities" : {
-      "horos" : [ "HOROS", "192.168.0.8", 11112 ],
-      "findscu" : [ "FINDSCU", "127.0.0.1", 1234 ]
-    },
-
-.. highlight:: bash
-	
-- Launch Orthanc as usual, make sure to pass him the configuration file (ex for Windows)::
-	
-	Orthanc.exe config.json
-
-- In a prompt, launch a findscu request to ask Orthanc to return all Worklists for 'CT' modalities (considering findscu and Orthanc both runs on your machine: 127.0.0.1 is the Orthanc url and 4242 is the Orthanc DICOM port)::
-
-    findscu -W -k "ScheduledProcedureStepSequence[0].Modality=CT" 127.0.0.1 4242
-
-- findscu should display the matching worklists
-
-How can I create worklist files ?
----------------------------------
-
-- let's start from an existing `worklist file <https://bitbucket.org/sjodogne/orthanc/src/default/Plugins/Samples/ModalityWorklists/>`__.
-
-- dump the sample worklist file to a DCMTK dump file::
-
-    dcmdump.exe wklist1.wl > sampleWorklist.txt
-	
-- you'll get something like::
-
-    # Dicom-File-Format
-    
-    # Dicom-Meta-Information-Header
-    # Used TransferSyntax: Little Endian Explicit
-    (0002,0000) UL 202                                      #   4, 1 FileMetaInformationGroupLength
-    (0002,0001) OB 00\01                                    #   2, 1 FileMetaInformationVersion
-    (0002,0002) UI [1.2.276.0.7230010.3.1.0.1]              #  26, 1 MediaStorageSOPClassUID
-    (0002,0003) UI [1.2.276.0.7230010.3.1.4.2831176407.11154.1448031138.805061] #  58, 1 MediaStorageSOPInstanceUID
-    (0002,0010) UI =LittleEndianExplicit                    #  20, 1 TransferSyntaxUID
-    (0002,0012) UI [1.2.276.0.7230010.3.0.3.6.0]            #  28, 1 ImplementationClassUID
-    (0002,0013) SH [OFFIS_DCMTK_360]                        #  16, 1 ImplementationVersionName
-    
-    # Dicom-Data-Set
-    # Used TransferSyntax: Little Endian Explicit
-    (0008,0005) CS [ISO_IR 100]                             #  10, 1 SpecificCharacterSet
-    (0008,0050) SH [00000]                                  #   6, 1 AccessionNumber
-    (0010,0010) PN [VIVALDI^ANTONIO]                        #  16, 1 PatientName
-    (0010,0020) LO [AV35674]                                #   8, 1 PatientID
-    (0010,0030) DA [16780304]                               #   8, 1 PatientBirthDate
-    (0010,0040) CS [M]                                      #   2, 1 PatientSex
-    (0010,2000) LO [METASTASIS]                             #  10, 1 MedicalAlerts
-    (0010,2110) LO [TANTAL]                                 #   6, 1 Allergies
-    (0020,000d) UI [1.2.276.0.7230010.3.2.101]              #  26, 1 StudyInstanceUID
-    (0032,1032) PN [SMITH]                                  #   6, 1 RequestingPhysician
-    (0032,1060) LO [EXAM6]                                  #   6, 1 RequestedProcedureDescription
-    (0040,0100) SQ (Sequence with explicit length #=1)      # 176, 1 ScheduledProcedureStepSequence
-      (fffe,e000) na (Item with explicit length #=12)         # 168, 1 Item
-    	(0008,0060) CS [MR]                                     #   2, 1 Modality
-    	(0032,1070) LO [BARIUMSULFAT]                           #  12, 1 RequestedContrastAgent
-    	(0040,0001) AE [AA32\AA33]                              #  10, 2 ScheduledStationAETitle
-    	(0040,0002) DA [19951015]                               #   8, 1 ScheduledProcedureStepStartDate
-    	(0040,0003) TM [085607]                                 #   6, 1 ScheduledProcedureStepStartTime
-    	(0040,0006) PN [JOHNSON]                                #   8, 1 ScheduledPerformingPhysicianName
-    	(0040,0007) LO [EXAM74]                                 #   6, 1 ScheduledProcedureStepDescription
-    	(0040,0009) SH [SPD3445]                                #   8, 1 ScheduledProcedureStepID
-    	(0040,0010) SH [STN456]                                 #   6, 1 ScheduledStationName
-    	(0040,0011) SH [B34F56]                                 #   6, 1 ScheduledProcedureStepLocation
-    	(0040,0012) LO (no value available)                     #   0, 0 PreMedication
-    	(0040,0400) LT (no value available)                     #   0, 0 CommentsOnTheScheduledProcedureStep
-      (fffe,e00d) na (ItemDelimitationItem for re-encoding)   #   0, 0 ItemDelimitationItem
-    (fffe,e0dd) na (SequenceDelimitationItem for re-encod.) #   0, 0 SequenceDelimitationItem
-    (0040,1001) SH [RP454G234]                              #  10, 1 RequestedProcedureID
-    (0040,1003) SH [LOW]                                    #   4, 1 RequestedProcedurePriority
-	
-	
-- open sampleWorklist.txt file in a text editor and modify/add/remove some Dicom Tags
-
-- then, generate a new worklist file with dump2dcm::
-
-	dump2dcm.exe sampleWorklist.txt newWorklist.wl
-	
-- copy that file in the folder where Orthanc searches for its worklist files and that's it !
-
-- of course, you'll automate this worklist generation workflow with some scripting language.
-
-	
--- a/Sphinx/source/plugins.rst	Wed Jul 20 11:13:46 2016 +0200
+++ b/Sphinx/source/plugins.rst	Wed Jul 20 11:35:54 2016 +0200
@@ -39,11 +39,11 @@
 .. toctree::
    :maxdepth: 1
 
-   plugins/serve-folders.rst
+   plugins/webviewer.rst
    plugins/dicomweb.rst
    plugins/postgresql.rst
-   plugins/webviewer.rst
    plugins/worklists-plugin.rst
+   plugins/serve-folders.rst
 
 
 .. _plugins-contributed:
@@ -51,6 +51,11 @@
 Index of the contributed plugins
 --------------------------------
 
+* `Osimis <http://osimis.io/>`__ maintains an evolution of the
+  official Web viewer plugin. The Osimis plugin adds tools for
+  measuring, for viewing multiple series, and for split-pane.  `Check
+  out their source code
+  <https://bitbucket.org/osimis/osimis-webviewer-plugin>`__.
 * `DWV Orthanc Plugin
   <https://github.com/ivmartel/dwv-orthanc-plugin>`__: This plugin by
   Yves Martelli is based on `dwv
--- a/Sphinx/source/plugins/dicomweb.rst	Wed Jul 20 11:13:46 2016 +0200
+++ b/Sphinx/source/plugins/dicomweb.rst	Wed Jul 20 11:35:54 2016 +0200
@@ -50,7 +50,7 @@
 
 .. highlight:: json
 
-You of course first have to :ref:`install Orthanc <compiling>`. Once
+You of course first have to :ref:`install Orthanc <binaries>`. Once
 Orthanc is installed, you must change the :ref:`configuration file
 <configuration>` to tell Orthanc where it can find the plugin: This is
 done by properly modifying the ``Plugins`` option. You could for
--- a/Sphinx/source/plugins/postgresql.rst	Wed Jul 20 11:13:46 2016 +0200
+++ b/Sphinx/source/plugins/postgresql.rst	Wed Jul 20 11:35:54 2016 +0200
@@ -46,7 +46,7 @@
 
 .. highlight:: json
 
-You of course first have to :ref:`install Orthanc <compiling>`, with a
+You of course first have to :ref:`install Orthanc <binaries>`, with a
 version above 0.9.1. You then have to **create a database** dedicated
 to Orthanc on some PostgreSQL server. Please refer to the `PostgreSQL
 documentation
--- a/Sphinx/source/plugins/serve-folders.rst	Wed Jul 20 11:13:46 2016 +0200
+++ b/Sphinx/source/plugins/serve-folders.rst	Wed Jul 20 11:35:54 2016 +0200
@@ -1,15 +1,17 @@
 .. _serve-folders:
 
 
-Serve Folders plugin
-====================
+Sample Serve Folders plugin
+===========================
 
 This **official** plugin enables Orthanc to serve additional folders
-from the filesystem using its embedded Web server.
-
-This plugin is extremely useful to create new Web applications on the
-top of the REST API of Orthanc, as it allows to fulfill the
-`same-origin policy
+from the filesystem using its embedded Web server. This plugin is
+extremely useful when creating new Web applications on the top of the
+REST API of Orthanc, as it allows to fulfill the `same-origin policy
 <https://en.wikipedia.org/wiki/Same-origin_policy>`__ without setting
 up a reverse proxy.
  
+The source code of this sample plugin is `available in the source
+distribution of Orthanc
+<https://bitbucket.org/sjodogne/orthanc/src/default/Plugins/Samples/ServeFolders/>`__
+(GPLv3 license).
--- a/Sphinx/source/plugins/webviewer.rst	Wed Jul 20 11:13:46 2016 +0200
+++ b/Sphinx/source/plugins/webviewer.rst	Wed Jul 20 11:35:54 2016 +0200
@@ -18,7 +18,7 @@
 .. highlight:: text
 
 The procedure to compile these plugins is similar of that for the
-:ref:`core of Orthanc <compiling>`. The following commands should work
+:ref:`core of Orthanc <binaries>`. The following commands should work
 for every UNIX-like distribution (including GNU/Linux)::
 
   $ mkdir Build
--- a/Sphinx/source/plugins/worklists-plugin.rst	Wed Jul 20 11:13:46 2016 +0200
+++ b/Sphinx/source/plugins/worklists-plugin.rst	Wed Jul 20 11:35:54 2016 +0200
@@ -1,10 +1,132 @@
 .. _worklists-plugin:
 
 
-Modality Worklists plugin
-=========================
+Sample Modality Worklists plugin
+================================
+
+This page describes the **official sample plugin** turns Orthanc into
+a server of DICOM worklists. The worklists must be provided in some
+folder of the filesystem by an external script.
+
+The source code of this sample plugin is `available in the source
+distribution of Orthanc
+<https://bitbucket.org/sjodogne/orthanc/src/default/Plugins/Samples/ModalityWorklists/>`__
+(GPLv3 license).  The plugin will serve the worklists stored in some
+folder on the filesystem. This mimics the behavior of the ``wlmscpfs``
+command-line tool from the `DCMTK software
+<http://support.dcmtk.org/docs/wlmscpfs.html>`__. ``dump2dcm`` might
+be a very `useful companion tool
+<http://support.dcmtk.org/docs/dump2dcm.html>`__ to feed the sample
+plugin with worklists for some separate maintenance script.
+
+General information about the support of DICOM worklists in Orthanc is
+explained in the :ref:`FAQ <worklist>`.
+
+
+
+How should I use it ?
+---------------------
+
+- download `DCMTK utilities <http://dicom.offis.de/download/dcmtk/release/bin/>`__
+- download sample `worklist files <https://bitbucket.org/sjodogne/orthanc/src/default/Plugins/Samples/ModalityWorklists/>`__ from the Orthanc source code and copy them in a dedicated folder. 
+
+.. highlight:: javascript
+ 
+- Enable the ModalityWorklist plugin in your config.json by adding this section::
+	
+    "Worklists" : {
+      "Enable": true,
+      "Database": "WorklistsDatabase"  //this is the path to the folder with the worklist files.  Use absolute path !
+    },
+
+- Add the plugin to the list of plugins to load (this is an example for Windows)::
+	
+	"Plugins" : [
+	  "OsimisWebViewer.dll",
+	  "ModalityWorklists.dll" // on Linux, use ModalityWorklists.so
+	],
+
+- Add the findscu utility to the list of know modalities (considering findscu and Orthanc runs on the same machine)::
+	
+    "DicomModalities" : {
+      "horos" : [ "HOROS", "192.168.0.8", 11112 ],
+      "findscu" : [ "FINDSCU", "127.0.0.1", 1234 ]
+    },
+
+.. highlight:: bash
+	
+- Launch Orthanc as usual, make sure to pass him the configuration file (ex for Windows)::
+	
+	Orthanc.exe config.json
+
+- In a prompt, launch a findscu request to ask Orthanc to return all Worklists for 'CT' modalities (considering findscu and Orthanc both runs on your machine: 127.0.0.1 is the Orthanc url and 4242 is the Orthanc DICOM port)::
+
+    findscu -W -k "ScheduledProcedureStepSequence[0].Modality=CT" 127.0.0.1 4242
+
+- findscu should display the matching worklists
 
-This **official** plugin turns Orthanc into a server of DICOM
-worklists. The worklists must be provided in some folder of the
-filesystem by an external script. The support of DICOM worklists in
-Orthanc is explained in the :ref:`FAQ <worklist>`.
+How can I create worklist files ?
+---------------------------------
+
+- let's start from an existing `worklist file <https://bitbucket.org/sjodogne/orthanc/src/default/Plugins/Samples/ModalityWorklists/>`__.
+
+- dump the sample worklist file to a DCMTK dump file::
+
+    dcmdump.exe wklist1.wl > sampleWorklist.txt
+	
+- you'll get something like::
+
+    # Dicom-File-Format
+    
+    # Dicom-Meta-Information-Header
+    # Used TransferSyntax: Little Endian Explicit
+    (0002,0000) UL 202                                      #   4, 1 FileMetaInformationGroupLength
+    (0002,0001) OB 00\01                                    #   2, 1 FileMetaInformationVersion
+    (0002,0002) UI [1.2.276.0.7230010.3.1.0.1]              #  26, 1 MediaStorageSOPClassUID
+    (0002,0003) UI [1.2.276.0.7230010.3.1.4.2831176407.11154.1448031138.805061] #  58, 1 MediaStorageSOPInstanceUID
+    (0002,0010) UI =LittleEndianExplicit                    #  20, 1 TransferSyntaxUID
+    (0002,0012) UI [1.2.276.0.7230010.3.0.3.6.0]            #  28, 1 ImplementationClassUID
+    (0002,0013) SH [OFFIS_DCMTK_360]                        #  16, 1 ImplementationVersionName
+    
+    # Dicom-Data-Set
+    # Used TransferSyntax: Little Endian Explicit
+    (0008,0005) CS [ISO_IR 100]                             #  10, 1 SpecificCharacterSet
+    (0008,0050) SH [00000]                                  #   6, 1 AccessionNumber
+    (0010,0010) PN [VIVALDI^ANTONIO]                        #  16, 1 PatientName
+    (0010,0020) LO [AV35674]                                #   8, 1 PatientID
+    (0010,0030) DA [16780304]                               #   8, 1 PatientBirthDate
+    (0010,0040) CS [M]                                      #   2, 1 PatientSex
+    (0010,2000) LO [METASTASIS]                             #  10, 1 MedicalAlerts
+    (0010,2110) LO [TANTAL]                                 #   6, 1 Allergies
+    (0020,000d) UI [1.2.276.0.7230010.3.2.101]              #  26, 1 StudyInstanceUID
+    (0032,1032) PN [SMITH]                                  #   6, 1 RequestingPhysician
+    (0032,1060) LO [EXAM6]                                  #   6, 1 RequestedProcedureDescription
+    (0040,0100) SQ (Sequence with explicit length #=1)      # 176, 1 ScheduledProcedureStepSequence
+      (fffe,e000) na (Item with explicit length #=12)         # 168, 1 Item
+    	(0008,0060) CS [MR]                                     #   2, 1 Modality
+    	(0032,1070) LO [BARIUMSULFAT]                           #  12, 1 RequestedContrastAgent
+    	(0040,0001) AE [AA32\AA33]                              #  10, 2 ScheduledStationAETitle
+    	(0040,0002) DA [19951015]                               #   8, 1 ScheduledProcedureStepStartDate
+    	(0040,0003) TM [085607]                                 #   6, 1 ScheduledProcedureStepStartTime
+    	(0040,0006) PN [JOHNSON]                                #   8, 1 ScheduledPerformingPhysicianName
+    	(0040,0007) LO [EXAM74]                                 #   6, 1 ScheduledProcedureStepDescription
+    	(0040,0009) SH [SPD3445]                                #   8, 1 ScheduledProcedureStepID
+    	(0040,0010) SH [STN456]                                 #   6, 1 ScheduledStationName
+    	(0040,0011) SH [B34F56]                                 #   6, 1 ScheduledProcedureStepLocation
+    	(0040,0012) LO (no value available)                     #   0, 0 PreMedication
+    	(0040,0400) LT (no value available)                     #   0, 0 CommentsOnTheScheduledProcedureStep
+      (fffe,e00d) na (ItemDelimitationItem for re-encoding)   #   0, 0 ItemDelimitationItem
+    (fffe,e0dd) na (SequenceDelimitationItem for re-encod.) #   0, 0 SequenceDelimitationItem
+    (0040,1001) SH [RP454G234]                              #  10, 1 RequestedProcedureID
+    (0040,1003) SH [LOW]                                    #   4, 1 RequestedProcedurePriority
+	
+	
+- open sampleWorklist.txt file in a text editor and modify/add/remove some Dicom Tags
+
+- then, generate a new worklist file with dump2dcm::
+
+	dump2dcm.exe sampleWorklist.txt newWorklist.wl
+	
+- copy that file in the folder where Orthanc searches for its worklist files and that's it !
+
+- of course, you'll automate this worklist generation workflow with some scripting language.
--- a/Sphinx/source/users/cookbook.rst	Wed Jul 20 11:13:46 2016 +0200
+++ b/Sphinx/source/users/cookbook.rst	Wed Jul 20 11:35:54 2016 +0200
@@ -8,7 +8,7 @@
    :depth: 2
 
 
-.. _compiling:
+.. _binaries:
 
 Obtaining binaries
 ------------------