From Fedora Project Wiki
 
(6 intermediate revisions by the same user not shown)
Line 5: Line 5:
On the server machine, install Orthanc:
On the server machine, install Orthanc:


<code>sudo yum install orthanc</code>
<pre>sudo yum install orthanc</pre>




On the client machines, install Aeskulap
On the client machines, install Aeskulap


<code>sudo yum install aeskulap</code>
<pre>sudo yum install aeskulap</pre>


== Set up Orthanc ==


== Set up Orthanc ==
Configure <code>/etc/orthanc/orthanc.json</code>


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:
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
Start Orthanc:
  // displayed in Orthanc Explorer and at the URI "/system".
  "Name" : "Orthanc-EEE",


  // Path to the directory that holds the heavyweight files
<pre> sudo systemctl start orthanc.service </pre> and check if it started:
  // (i.e. the raw DICOM instances)
  "StorageDirectory" : "/home/asinha/Documents/DICOMS/",


  // Path to the directory that holds the SQLite index (if unset,
<pre> sudo systemctl status orthanc.service </pre>
  // 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
If your configuration was correct, it should be running.
  "StorageCompression" : false,


  // Maximum size of the storage in MB (a value of "0" indicates no
== Set up Aeskulap ==
  // limit on the storage size)
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 .
  "MaximumStorageSize" : 0,


  // Maximum number of patients that can be stored at a given time
== Open your firewall ports ==
  // in the storage (a value of "0" indicates no limit on the number
This is quite important. If your ports aren't open, it won't work properly.
  // 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
On the Orthanc machine, you need to open port 4242:
  // instance of Orthanc (e.g. "/libPluginTest.so" for Linux, or
  // "./PluginTest.dll" for Windows).
  "Plugins" : [
  ],


<pre>sudo firewall-cmd --add-ports=4242/tcp</pre>


  /**
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:
  * Configuration of the HTTP server
  **/


  // HTTP port for the REST services and for the GUI
On the Aeskulap machines, you need to open 6600 which is the default port:
  "HttpPort" : 8042,
<pre>sudo firewall-cmd --add-ports=6600/tcp</pre>


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.




  /**
  * Configuration of the DICOM server
  **/


  // The DICOM Application Entity Title
<pre>sudo systemctl restart orthanc.service</pre>
  "DicomAet" : "ORTHANC",


  // Check whether the called AET corresponds during a DICOM request
== Add your images and get started ==
  "DicomCheckCalledAet" : false,
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:


  // The DICOM port
<pre>storescu -aec ORTHANC 127.0.0.1 4242 *</pre>
  "DicomPort" : 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:
  /**
* https://ankursinha.fedorapeople.org/aeskulap_orthanc/aeskulap1.png
  * Security-related options for the HTTP server
* https://ankursinha.fedorapeople.org/aeskulap_orthanc/aeskulap2.png
  **/
* https://ankursinha.fedorapeople.org/aeskulap_orthanc/ff-orthanc1.png
 
  // 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
  "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" ]
 
    /**
    * 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
  "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" ]
 
  },
 
 
 
  /**
  * Advanced options
  **/
 
  // Dictionary of symbolic names for the user-defined metadata. Each
  // 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
  // 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
  // patient, a study or a series is considered as stable.
  "StableAge" : 60,
 
  // Enable the HTTP server. If this parameter is set to "false",
  // 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
  // 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
  // Patient, Study or Series level. Setting this option to "0" means
  // no limit.
  "LimitFindResults" : 0,
 
  // The maximum number of results for a single C-FIND request at the
  // Instance level. Setting this option to "0" means no limit.
  "LimitFindInstances" : 0,
 
  // The maximum number of active jobs in the Orthanc scheduler. When
  // 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>

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: