From Fedora Project Wiki
 
(5 intermediate revisions by the same user not shown)
Line 14: Line 14:
== Set up Orthanc ==
== Set up Orthanc ==


Decide on a directory that will be your Orthanc directory. For a systemwide installation, make modifications to<code>/etc/orthanc/orthanc.json</code>. This is what my minimal file looks like:
Configure <code>/etc/orthanc/orthanc.json</code>
 
Add your Aeskulap clients under <code>DicomModalities</code>. For example:


<pre>
<pre>
{
      "AESKULAP" : [ "AESKULAP", "localhost", "6000" ],
  /**
      "AESKULAP1" : [ "AESKULAP1", "10.0.1.68", "6000" ]
  * General configuration of Orthanc
</pre>
  **/
 
  // The logical name of this instance of Orthanc. This one is
  // displayed in Orthanc Explorer and at the URI "/system".
  "Name" : "Orthanc-EEE",
 
  // Path to the directory that holds the heavyweight files
  // (i.e. the raw DICOM instances)
  "StorageDirectory" : "/home/asinha/Documents/DICOMS/",
 
  // Path to the directory that holds the SQLite index (if unset,
  // the value of StorageDirectory is used). This index could be
  // stored on a RAM-drive or a SSD device for performance reasons.
  "IndexDirectory" : "/home/asinha/Documents/DICOMS/",
 
  // Enable the transparent compression of the DICOM instances
  "StorageCompression" : false,
 
  // Maximum size of the storage in MB (a value of "0" indicates no
  // limit on the storage size)
  "MaximumStorageSize" : 0,
 
  // Maximum number of patients that can be stored at a given time
  // in the storage (a value of "0" indicates no limit on the number
  // of patients)
  "MaximumPatientCount" : 0,
 
  // List of paths to the custom Lua scripts that are to be loaded
  // into this instance of Orthanc
  "LuaScripts" : [
  ],
 
  // List of paths to the plugins that are to be loaded into this
  // instance of Orthanc (e.g. "/libPluginTest.so" for Linux, or
  // "./PluginTest.dll" for Windows).
  "Plugins" : [
  ],
 
 
  /**
  * Configuration of the HTTP server
  **/
 
  // HTTP port for the REST services and for the GUI
  "HttpPort" : 8042,
 
 
 
  /**
  * Configuration of the DICOM server
  **/
 
  // The DICOM Application Entity Title
  "DicomAet" : "ORTHANC",
 
  // Check whether the called AET corresponds during a DICOM request
  "DicomCheckCalledAet" : false,
 
  // The DICOM port
  "DicomPort" : 4242,
 
 
 
  /**
  * Security-related options for the HTTP server
  **/
 
  // Whether remote hosts can connect to the HTTP server
  "RemoteAccessAllowed" : true,
 
  // Whether or not SSL is enabled
  "SslEnabled" : false,
 
  // Path to the SSL certificate (meaningful only if SSL is enabled)
  "SslCertificate" : "certificate.pem",
 
  // Whether or not the password protection is enabled
  "AuthenticationEnabled" : false,
 
  // The list of the registered users. Because Orthanc uses HTTP
  // Basic Authentication, the passwords are stored as plain text.
  "RegisteredUsers" : {
    // "alice" : "alicePassword"
  },
 
 
 
  /**
  * Network topology
  **/


  // The list of the known DICOM modalities
Start Orthanc:
  "DicomModalities" : {
    /**
    * Uncommenting the following line would enable Orthanc to
    * connect to an instance of the "storescp" open-source DICOM
    * store (shipped in the DCMTK distribution) started by the
    * command line "storescp 2000".
    **/
    // "sample" : [ "STORESCP", "localhost", 2000 ]
      "AESKULAP" : [ "AESKULAP", "localhost", 6000 ],
      "AESKULAP1" : [ "AESKULAP1", "10.0.1.68", "6000" ]


    /**
<pre> sudo systemctl start orthanc.service </pre> and check if it started:
    * A fourth parameter is available to enable patches for a
    * specific PACS manufacturer. The allowed values are currently
    * "Generic" (default value), "StoreScp" (storescp tool from
    * DCMTK), "ClearCanvas", "MedInria" and "Dcm4Chee". This
    * parameter is case-sensitive.
    **/
    // "clearcanvas" : [ "CLEARCANVAS", "192.168.1.1", 104, "ClearCanvas" ]
  },


  // The list of the known Orthanc peers
<pre> sudo systemctl status orthanc.service </pre>
  "OrthancPeers" : {
    /**
    * Each line gives the base URL of an Orthanc peer, possibly
    * followed by the username/password pair (if the password
    * protection is enabled on the peer).
    **/
    // "peer"  : [ "http://localhost:8043/", "alice", "alicePassword" ]
    // "peer2" : [ "http://localhost:8044/" ]
    // "AESKULAP" : [ "localhost:6000" ],
    // "AESKULAP1" : [ "10.0.1.68:6000" ]


  },
If your configuration was correct, it should be running.


== Set up Aeskulap ==
In Aeskulap, you need to go to "Edit > Preferences > Servers" and add the Orthanc Server. This screenshot tells you how to do it: https://ankursinha.fedorapeople.org/aeskulap_orthanc/aeskulap-orthanc.png .


== Open your firewall ports ==
This is quite important. If your ports aren't open, it won't work properly.


  /**
On the Orthanc machine, you need to open port 4242:
  * Advanced options
  **/


  // Dictionary of symbolic names for the user-defined metadata. Each
<pre>sudo firewall-cmd --add-ports=4242/tcp</pre>
  // entry must map a number between 1024 and 65535 to an unique
  // string.
  "UserMetadata" : {
    // "Sample" : 1024
  },


  // Dictionary of symbolic names for the user-defined types of
If you want to also use the http web front end, also open port <code>8024</code> using a similar command as above. Note that, to allow remote http access, you need to set <code>"RemoteAccessAllowed"</code> to <code>true</code> in the configuration file and restart the server:
  // attached files. Each entry must map a number between 1024 and
  // 65535 to an unique string.
  "UserContentType" : {
    // "sample" : 1024
  },


  // Number of seconds without receiving any instance before a
On the Aeskulap machines, you need to open 6600 which is the default port:
  // patient, a study or a series is considered as stable.
<pre>sudo firewall-cmd --add-ports=6600/tcp</pre>
  "StableAge" : 60,


  // Enable the HTTP server. If this parameter is set to "false",
To make these permanent, run the commands again with the <code>--permanent</code> option. Please make sure you add these to the current <code>zones</code> if you're using one.
  // Orthanc acts as a pure DICOM server. The REST API and Orthanc
  // Explorer will not be available.
  "HttpServerEnabled" : true,


  // Enable the DICOM server. If this parameter is set to "false",
  // Orthanc acts as a pure REST server. It will not be possible to
  // receive files or to do query/retrieve through the DICOM protocol.
  "DicomServerEnabled" : true,


  // By default, Orthanc compares AET (Application Entity Titles) in a
  // case-insensitive way. Setting this option to "true" will enable
  // case-sensitive matching.
  "StrictAetComparison" : false,


  // When the following option is "true", the MD5 of the DICOM files
<pre>sudo systemctl restart orthanc.service</pre>
  // will be computed and stored in the Orthanc database. This
  // information can be used to detect disk corruption, at the price
  // of a small performance overhead.
  "StoreMD5ForAttachments" : true,


  // The maximum number of results for a single C-FIND request at the
== Add your images and get started ==
  // Patient, Study or Series level. Setting this option to "0" means
You can now add your dicom images to the server. If you're in the directory where these files are stored, you can use a command like this:
  // no limit.
  "LimitFindResults" : 0,


  // The maximum number of results for a single C-FIND request at the
<pre>storescu -aec ORTHANC 127.0.0.1 4242 *</pre>
  // Instance level. Setting this option to "0" means no limit.
  "LimitFindInstances" : 0,


  // The maximum number of active jobs in the Orthanc scheduler. When
You can also use the web frontend to upload images.
  // this limit is reached, the addition of new jobs is blocked until
  // some job finishes.
  "LimitJobs" : 10
}
</pre>


I've only changed the <code>StorageDirectory</code, <code>IndexDirectory</code> and added two Aeskulap clients under <code>DicomModalities</code>
Click "Search" in Aeskulap and it'll list your images. Double click on a list item to open it up. More screenshots:
* https://ankursinha.fedorapeople.org/aeskulap_orthanc/aeskulap1.png
* https://ankursinha.fedorapeople.org/aeskulap_orthanc/aeskulap2.png
* https://ankursinha.fedorapeople.org/aeskulap_orthanc/ff-orthanc1.png

Latest revision as of 00:54, 21 August 2014

This page documents how you can set up an Orthanc DICOM server and Aeskulap clients on different machines to view DICOM information stored on the Orthanc server.

Install your packages

On the server machine, install Orthanc:

sudo yum install orthanc


On the client machines, install Aeskulap

sudo yum install aeskulap

Set up Orthanc

Configure /etc/orthanc/orthanc.json

Add your Aeskulap clients under DicomModalities. For example:

       "AESKULAP" : [ "AESKULAP", "localhost", "6000" ],
       "AESKULAP1" : [ "AESKULAP1", "10.0.1.68", "6000" ]

Start Orthanc:

 sudo systemctl start orthanc.service 

and check if it started:

 sudo systemctl status orthanc.service 

If your configuration was correct, it should be running.

Set up Aeskulap

In Aeskulap, you need to go to "Edit > Preferences > Servers" and add the Orthanc Server. This screenshot tells you how to do it: https://ankursinha.fedorapeople.org/aeskulap_orthanc/aeskulap-orthanc.png .

Open your firewall ports

This is quite important. If your ports aren't open, it won't work properly.

On the Orthanc machine, you need to open port 4242:

sudo firewall-cmd --add-ports=4242/tcp

If you want to also use the http web front end, also open port 8024 using a similar command as above. Note that, to allow remote http access, you need to set "RemoteAccessAllowed" to true in the configuration file and restart the server:

On the Aeskulap machines, you need to open 6600 which is the default port:

sudo firewall-cmd --add-ports=6600/tcp

To make these permanent, run the commands again with the --permanent option. Please make sure you add these to the current zones if you're using one.


sudo systemctl restart orthanc.service

Add your images and get started

You can now add your dicom images to the server. If you're in the directory where these files are stored, you can use a command like this:

storescu -aec ORTHANC 127.0.0.1 4242 *

You can also use the web frontend to upload images.

Click "Search" in Aeskulap and it'll list your images. Double click on a list item to open it up. More screenshots: