From Fedora Project Wiki
(Created page with "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 y...")
 
Line 16: Line 16:


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:
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:
<pre>
{
  /**
  * General configuration of Orthanc
  **/
  // 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
  "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>

Revision as of 06:51, 20 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

Decide on a directory that will be your Orthanc directory. For a systemwide installation, make modifications to/etc/orthanc/orthanc.json. This is what my minimal file looks like:

{
  /**
   * General configuration of Orthanc
   **/

  // 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
  "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
}

I've only changed the StorageDirectory</code, IndexDirectory and added two Aeskulap clients under DicomModalities