当前位置:   article > 正文

搭建Orthanc服务器-DICOM服务器

orthanc

之前一直在研究本地的dicom文件,虽然暂时还没什么明显的成果,但是从别的软件了解到PACS工作站都需要与DICOM服务器之间进行传输,目前对传输协议还不了解,本着边做边学的思路,先把DICOM服务器先搭建起来,主机使用的是公司内部的虚拟化主机,操作系统为Windows Server 2012 R2。

1-服务器软件的选择

通过搜索得知dicom服务器有很多种

Microsoft Azure提供的DICOM服务 DICOM 服务概述 - Azure Health Data Services | Microsoft Docs

阿里云提供的DICOM服务

https://help.aliyun.com/document_detail/383453.html

Orthanc DICOM服务器 开源 轻量化 一键安装 配置起来也比较简单,作者选择这个作为入门学习,等到实际需求再考虑上线系统的稳定选择

Orthanc - DICOM Server

 2-安装

点击 download now 进入下载页面

Orthanc - DICOM Server

 

当前最新版本为 1.11.1 下载Windows版本

双击启动安装包,按照提示进行一步步操作,这就不进行演示了。

安装完成后,在浏览器中输入 http://IP地址:8042,即可显示Orthanc的web操作界面。

 到这里Orthanic的安装就完成了。

3-配置

在安装目录的文件夹下(我当前目录为C:\Program Files\Orthanc Server\Configuration),存放orthanc使用的配置文件

 其中orthanc.json文件是orthanc的主配置文件,重要的配置都在其中,以下是我的配置内容,仅供参考

  1. {
  2. /**
  3. * General configuration of Orthanc
  4. **/
  5. // The logical name of this instance of Orthanc. This one is
  6. // displayed in Orthanc Explorer and at the URI "/system".
  7. "Name" : "MyOrthanc",
  8. // Path to the directory that holds the heavyweight files (i.e. the
  9. // raw DICOM instances). Backslashes must be either escaped by
  10. // doubling them, or replaced by forward slashes "/".
  11. "StorageDirectory" : "C:\\Orthanc",
  12. // Path to the directory that holds the SQLite index (if unset, the
  13. // value of StorageDirectory is used). This index could be stored on
  14. // a RAM-drive or a SSD device for performance reasons.
  15. "IndexDirectory" : "C:\\Orthanc",
  16. // Path to the directory where Orthanc stores its large temporary
  17. // files. The content of this folder can be safely deleted once
  18. // Orthanc is stopped. The folder must exist. The corresponding
  19. // filesystem must be properly sized, given that for instance a ZIP
  20. // archive of DICOM images created by a job can weight several GBs,
  21. // and that there might be up to "min(JobsHistorySize,
  22. // MediaArchiveSize)" archives to be stored simultaneously. If not
  23. // set, Orthanc will use the default temporary folder of the
  24. // operating system (such as "/tmp/" on UNIX-like systems, or
  25. // "C:/Temp" on Microsoft Windows).
  26. // "TemporaryDirectory" : "/tmp/Orthanc/",
  27. // Enable the transparent compression of the DICOM instances
  28. "StorageCompression" : false,
  29. // Maximum size of the storage in MB (a value of "0" indicates no
  30. // limit on the storage size)
  31. "MaximumStorageSize" : 0,
  32. // Maximum number of patients that can be stored at a given time
  33. // in the storage (a value of "0" indicates no limit on the number
  34. // of patients)
  35. "MaximumPatientCount" : 0,
  36. // List of paths to the custom Lua scripts that are to be loaded
  37. // into this instance of Orthanc
  38. "LuaScripts" : [
  39. ],
  40. // List of paths to the plugins that are to be loaded into this
  41. // instance of Orthanc (e.g. "./libPluginTest.so" for Linux, or
  42. // "./PluginTest.dll" for Windows). These paths can refer to
  43. // folders, in which case they will be scanned non-recursively to
  44. // find shared libraries. Backslashes must be either escaped by
  45. // doubling them, or replaced by forward slashes "/".
  46. "Plugins" : [ "C:\\Program Files\\Orthanc Server\\Plugins" ],
  47. // Maximum number of processing jobs that are simultaneously running
  48. // at any given time. A value of "0" indicates to use all the
  49. // available CPU logical cores. To emulate Orthanc <= 1.3.2, set
  50. // this value to "1".
  51. "ConcurrentJobs" : 10,
  52. /**
  53. * Configuration of the HTTP server
  54. **/
  55. // Enable the HTTP server. If this parameter is set to "false",
  56. // Orthanc acts as a pure DICOM server. The REST API and Orthanc
  57. // Explorer will not be available.
  58. "HttpServerEnabled" : true,
  59. // Enable/disable the Orthanc Explorer Web user interface. This
  60. // option is only meaningful if the "HttpServerEnabled" option is
  61. // set to "true" (new in Orthanc 1.8.2).
  62. "OrthancExplorerEnabled" : true,
  63. // HTTP port for the REST services and for the GUI
  64. "HttpPort" : 8042,
  65. // When the following option is "true", if an error is encountered
  66. // while calling the REST API, a JSON message describing the error
  67. // is put in the HTTP answer. This feature can be disabled if the
  68. // HTTP client does not properly handles such answers.
  69. "HttpDescribeErrors" : true,
  70. // Enable HTTP compression to improve network bandwidth utilization,
  71. // at the expense of more computations on the server. Orthanc
  72. // supports the "gzip" and "deflate" HTTP encodings.
  73. "HttpCompressionEnabled" : true,
  74. // Enable the publication of the content of the Orthanc server as a
  75. // WebDAV share (new in Orthanc 1.8.0). On the localhost, the WebDAV
  76. // share is mapped as "http://localhost:8042/webdav/".
  77. "WebDavEnabled" : true,
  78. // Whether to allow deletions through the WebDAV share. This is
  79. // disabled by default to avoid accidental loss of DICOM instances.
  80. "WebDavDeleteAllowed" : false,
  81. // Whether to allow uploads through the WebDAV share.
  82. "WebDavUploadAllowed" : true,
  83. /**
  84. * Configuration of the DICOM server
  85. **/
  86. // Enable the DICOM server. If this parameter is set to "false",
  87. // Orthanc acts as a pure REST server. It will not be possible to
  88. // receive files or to do query/retrieve through the DICOM protocol.
  89. "DicomServerEnabled" : true,
  90. // The DICOM Application Entity Title (cannot be longer than 16
  91. // characters)
  92. "DicomAet" : "ORTHANC",
  93. // Check whether the called AET corresponds to the AET of Orthanc
  94. // during an incoming DICOM SCU request
  95. "DicomCheckCalledAet" : false,
  96. // The DICOM port
  97. "DicomPort" : 4242,
  98. // The default encoding that is assumed for DICOM files without
  99. // "SpecificCharacterSet" DICOM tag, and that is used when answering
  100. // C-FIND requests (including worklists). The allowed values are
  101. // "Ascii", "Utf8", "Latin1", "Latin2", "Latin3", "Latin4",
  102. // "Latin5", "Cyrillic", "Windows1251", "Arabic", "Greek", "Hebrew",
  103. // "Thai", "Japanese", "Chinese", "JapaneseKanji", "Korean", and
  104. // "SimplifiedChinese".
  105. "DefaultEncoding" : "Latin1",
  106. // The transfer syntaxes that are accepted by Orthanc C-STORE SCP.
  107. // This is an array listing the accepted transfer syntax UIDs. Each
  108. // entry can contain wildcards ("?" or "*"). By default, all the
  109. // known transfer syntaxes are accepted. (new in Orthanc 1.9.0)
  110. "AcceptedTransferSyntaxes" : [ "1.2.840.10008.1.*" ],
  111. // User-friendly groups of transfer syntaxes that can be enabled or
  112. // disabled at once. These options are applied after the main
  113. // "AcceptedTransferSyntaxes" option has been applied (if present).
  114. /**
  115. "DeflatedTransferSyntaxAccepted" : true,
  116. "JpegTransferSyntaxAccepted" : true,
  117. "Jpeg2000TransferSyntaxAccepted" : true,
  118. "JpegLosslessTransferSyntaxAccepted" : true,
  119. "JpipTransferSyntaxAccepted" : true,
  120. "Mpeg2TransferSyntaxAccepted" : true,
  121. "RleTransferSyntaxAccepted" : true,
  122. "Mpeg4TransferSyntaxAccepted" : true, // New in Orthanc 1.6.0
  123. "H265TransferSyntaxAccepted" : true, // New in Orthanc 1.9.0
  124. **/
  125. // Whether Orthanc accepts to act as C-STORE SCP for unknown storage
  126. // SOP classes (aka. "promiscuous mode")
  127. "UnknownSopClassAccepted" : true,
  128. // Set the timeout (in seconds) after which the DICOM associations
  129. // are closed by the Orthanc SCP (server) if no further DIMSE
  130. // command is received from the SCU (client).
  131. "DicomScpTimeout" : 30,
  132. /**
  133. * Security-related options for the HTTP server
  134. **/
  135. // Whether remote hosts can connect to the HTTP server
  136. "RemoteAccessAllowed" : true,
  137. // Whether or not SSL is enabled
  138. "SslEnabled" : false,
  139. // Path to the SSL certificate used by the HTTP server. The file
  140. // must be stored in the PEM format, and must contain both the
  141. // certificate and the private key. This option is only meaningful
  142. // if "SslEnabled" is true.
  143. "SslCertificate" : "certificate.pem",
  144. // Sets the minimum accepted SSL protocol version
  145. // (cf. "ssl_protocol_version" option of civetweb). By default,
  146. // require SSL 1.2. This option is only meaningful if "SslEnabled"
  147. // is true. (new in Orthanc 1.8.2)
  148. //
  149. // Value => Protocols
  150. // 0 SSL2+SSL3+TLS1.0+TLS1.1+TLS1.2
  151. // 1 SSL3+TLS1.0+TLS1.1+TLS1.2
  152. // 2 TLS1.0+TLS1.1+TLS1.2
  153. // 3 TLS1.1+TLS1.2
  154. // 4 TLS1.2
  155. "SslMinimumProtocolVersion" : 4,
  156. // Set the accepted ciphers for SSL connections. The ciphers must be
  157. // provided as a list of strings. If not set, this will default to
  158. // FIPS 140-2 ciphers. This option is only meaningful if
  159. // "SslEnabled" is true. (new in Orthanc 1.8.2)
  160. /**
  161. "SslCiphersAccepted" : [ "AES128-GCM-SHA256" ],
  162. **/
  163. // Whether or not peer client certificates shall be checked. This
  164. // option is only meaningful if "SslEnabled" is true.
  165. "SslVerifyPeers" : false,
  166. // Path to a file containing the concatenation of the client SSL
  167. // certificate(s) that are trusted to verify the identify of remote
  168. // HTTP clients. The individual certificate(s) must be stored in the
  169. // PEM format. This option is only meaningful if "SslVerifyPeers"
  170. // is true.
  171. "SslTrustedClientCertificates" : "trustedClientCertificates.pem",
  172. // Whether or not the password protection is enabled (using HTTP
  173. // basic access authentication). Starting with Orthanc 1.5.8, if
  174. // "AuthenticationEnabled" is not explicitly set, authentication is
  175. // enabled iff. remote access is allowed (i.e. the default value of
  176. // "AuthenticationEnabled" equals that of "RemoteAccessAllowed").
  177. /**
  178. "AuthenticationEnabled" : false,
  179. **/
  180. // The list of the registered users. Because Orthanc uses HTTP
  181. // Basic Authentication, the passwords are stored as plain text.
  182. "RegisteredUsers" : {
  183. // "alice" : "alicePassword"
  184. "admin":"123456"
  185. },
  186. /**
  187. * Security-related options for the DICOM connections (SCU/SCP)
  188. **/
  189. // Whether DICOM TLS is enabled in the Orthanc SCP (new in Orthanc 1.9.0)
  190. "DicomTlsEnabled" : false,
  191. // Path to the TLS certificate file (in PEM format) to be used for
  192. // both Orthanc SCP (incoming DICOM connections) and Orthanc SCU
  193. // (outgoing DICOM connections). Note that contrarily to the
  194. // "SslCertificate" option, the certificate and its private key must
  195. // be split into two separate files. (new in Orthanc 1.9.0)
  196. /**
  197. "DicomTlsCertificate" : "orthanc.crt",
  198. **/
  199. // Path to the file containing the private key (in PEM format) that
  200. // corresponds to the TLS certificate specified in option
  201. // "DicomTlsCertificate". (new in Orthanc 1.9.0)
  202. /**
  203. "DicomTlsPrivateKey" : "orthanc.key",
  204. **/
  205. // Path to a file containing all the TLS certificates that Orthanc
  206. // can trust, both for its SCP (incoming DICOM connections) and SCU
  207. // (outgoing DICOM connections). This file must contain a sequence
  208. // of PEM certificates. (new in Orthanc 1.9.0)
  209. /**
  210. "DicomTlsTrustedCertificates" : "trusted.crt",
  211. **/
  212. // Whether the Orthanc SCP allows incoming C-ECHO requests, even
  213. // from SCU modalities it does not know about (i.e. that are not
  214. // listed in the "DicomModalities" option above). Orthanc 1.3.0
  215. // is the only version to behave as if this argument were set to "false".
  216. "DicomAlwaysAllowEcho" : true,
  217. // Whether the Orthanc SCP allows incoming C-STORE requests, even
  218. // from SCU modalities it does not know about (i.e. that are not
  219. // listed in the "DicomModalities" option above)
  220. "DicomAlwaysAllowStore" : true,
  221. // Whether the Orthanc SCP allows incoming C-FIND requests, even
  222. // from SCU modalities it does not know about (i.e. that are not
  223. // listed in the "DicomModalities" option above). Setting this
  224. // option to "true" implies security risks. (new in Orthanc 1.9.0)
  225. "DicomAlwaysAllowFind" : true,
  226. // Whether the Orthanc SCP allows incoming C-GET requests, even
  227. // from SCU modalities it does not know about (i.e. that are not
  228. // listed in the "DicomModalities" option above). Setting this
  229. // option to "true" implies security risks. (new in Orthanc 1.9.0)
  230. "DicomAlwaysAllowGet" : true,
  231. // Whether Orthanc checks the IP/hostname address of the remote
  232. // modality initiating a DICOM connection (as listed in the
  233. // "DicomModalities" option above). If this option is set to
  234. // "false", Orthanc only checks the AET of the remote modality.
  235. "DicomCheckModalityHost" : true,
  236. /**
  237. * Network topology
  238. **/
  239. // The list of the known DICOM modalities. This option is ignored if
  240. // "DicomModalitiesInDatabase" is set to "true", in which case you
  241. // must use the REST API to define modalities.
  242. "DicomModalities" : {
  243. /**
  244. * Uncommenting the following line would enable Orthanc to
  245. * connect to an instance of the "storescp" open-source DICOM
  246. * store (shipped in the DCMTK distribution), as started by the
  247. * command line "storescp 2000". The first parameter is the
  248. * AET of the remote modality (cannot be longer than 16
  249. * characters), the second one is the remote network address,
  250. * and the third one is the TCP port number corresponding
  251. * to the DICOM protocol on the remote modality (usually 104).
  252. **/
  253. // "sample" : [ "STORESCP", "127.0.0.1", 2000 ]
  254. "sample" : [ "STORESCP", "127.0.0.1", 4242 ]
  255. /**
  256. * A fourth parameter is available to enable patches for
  257. * specific PACS manufacturers. The allowed values are currently:
  258. * - "Generic" (default value),
  259. * - "GenericNoWildcardInDates" (to replace "*" by "" in date fields
  260. * in outgoing C-FIND requests originating from Orthanc),
  261. * - "GenericNoUniversalWildcard" (to replace "*" by "" in all fields
  262. * in outgoing C-FIND SCU requests originating from Orthanc),
  263. * - "Vitrea",
  264. * - "GE" (Enterprise Archive, MRI consoles and Advantage Workstation
  265. * from GE Healthcare).
  266. *
  267. * This parameter is case-sensitive.
  268. **/
  269. // "vitrea" : [ "VITREA", "192.168.1.1", 104, "Vitrea" ]
  270. /**
  271. * By default, the Orthanc SCP accepts all DICOM commands (C-ECHO,
  272. * C-STORE, C-FIND, C-MOVE, C-GET and storage commitment) issued by the
  273. * registered remote SCU modalities. Starting with Orthanc 1.5.0,
  274. * it is possible to specify which DICOM commands are allowed,
  275. * separately for each remote modality, using the syntax
  276. * below.
  277. *
  278. * The "AllowEcho" (resp. "AllowStore") option only has an effect
  279. * respectively if global option "DicomAlwaysAllowEcho"
  280. * (resp. "DicomAlwaysAllowStore") is set to "false".
  281. *
  282. * Starting with Orthanc 1.7.0, "AllowTranscoding" can be used to
  283. * disable the transcoding to uncompressed transfer syntaxes if
  284. * this remote modality doesn't support compressed transfer
  285. * syntaxes. This option currently applies to Orthanc C-GET SCP
  286. * and to Orthanc C-STORE SCU. This option only has an effect if
  287. * the global option "EnableTranscoding" is set to "true".
  288. *
  289. * By default, all "Allow*" options are true.
  290. * "AllowStorageCommitment" is actually an alias for
  291. * "AllowNAction" & "AllowEventReport".
  292. *
  293. * The "UseDicomTls" option specifies whether DICOM TLS should be
  294. * used when opening a SCU connection from Orthanc to this remote
  295. * modality. By default, DICOM TLS is not enabled.
  296. *
  297. * The "LocalAet" option allows one to overwrite the global
  298. * "DicomAet" configuration option in order to specify another AET
  299. * for Orthanc when initiating an SCU to this very specific
  300. * modality. Similarly, "Timeout" allows one to overwrite the
  301. * global value "DicomScuTimeout" on a per-modality basis.
  302. **/
  303. //"untrusted" : {
  304. // "AET" : "ORTHANC",
  305. // "Port" : 104,
  306. // "Host" : "127.0.0.1",
  307. // "Manufacturer" : "Generic",
  308. // "AllowEcho" : false,
  309. // "AllowFind" : false,
  310. // "AllowGet" : false,
  311. // "AllowMove" : false,
  312. // "AllowStore" : true,
  313. // "AllowStorageCommitment" : false, // new in 1.6.0
  314. // "AllowTranscoding" : true, // new in 1.7.0
  315. // "UseDicomTls" : false // new in 1.9.0
  316. // "LocalAet" : "HELLO" // new in 1.9.0
  317. // "Timeout" : 60 // new in 1.9.1
  318. //}
  319. },
  320. // Whether to store the DICOM modalities in the Orthanc database
  321. // instead of in this configuration file (new in Orthanc 1.5.0)
  322. "DicomModalitiesInDatabase" : true,
  323. // Whether the C-ECHO SCU is automatically followed by a C-FIND SCU,
  324. // while testing the connectivity from Orthanc to a remote DICOM
  325. // modality. This allows one to check that the remote modality does
  326. // accept C-FIND requests from Orthanc (new in Orthanc 1.8.1).
  327. "DicomEchoChecksFind" : true,
  328. // The timeout (in seconds) after which the DICOM associations are
  329. // considered as closed by the Orthanc SCU (client) if the remote
  330. // DICOM SCP (server) does not answer.
  331. "DicomScuTimeout" : 10,
  332. // During a C-STORE SCU request initiated by Orthanc, if the remote
  333. // modality doesn't support the original transfer syntax of some
  334. // DICOM instance, specify which transfer syntax should be preferred
  335. // to transcode this instance (provided the remote modality accepts
  336. // this syntax). In Orthanc between 1.7.0 and 1.8.2, this parameter
  337. // was implicitly set to "Little Endian Implicit"
  338. // (1.2.840.10008.1.2). In Orthanc <= 1.6.1 and in Orthanc >= 1.9.0,
  339. // this parameter is by default set to "Little Endian Explicit"
  340. // (1.2.840.10008.1.2.1). This parameter can possibly correspond to
  341. // a compressed transfer syntax. (new in Orthanc 1.9.0)
  342. "DicomScuPreferredTransferSyntax" : "1.2.840.10008.1.2.1",
  343. // The list of the known Orthanc peers. This option is ignored if
  344. // "OrthancPeersInDatabase" is set to "true", in which case you must
  345. // use the REST API to define Orthanc peers.
  346. "OrthancPeers" : {
  347. /**
  348. * Each line gives the base URL of an Orthanc peer, possibly
  349. * followed by the username/password pair (if the password
  350. * protection is enabled on the peer).
  351. **/
  352. // "peer" : [ "http://127.0.0.1:8043/", "alice", "alicePassword" ]
  353. // "peer2" : [ "http://127.0.0.1:8044/" ]
  354. /**
  355. * This is another, more advanced format to define Orthanc
  356. * peers. It notably allows one to specify HTTP headers, a HTTPS
  357. * client certificate in the PEM format (as in the "--cert" option
  358. * of curl), or to enable PKCS#11 authentication for smart cards.
  359. *
  360. * The "Timeout" option allows one to overwrite the global value
  361. * "HttpTimeout" on a per-peer basis.
  362. **/
  363. // "peer" : {
  364. // "Url" : "http://127.0.0.1:8043/",
  365. // "Username" : "alice",
  366. // "Password" : "alicePassword",
  367. // "HttpHeaders" : { "Token" : "Hello world" },
  368. // "CertificateFile" : "client.crt",
  369. // "CertificateKeyFile" : "client.key",
  370. // "CertificateKeyPassword" : "certpass",
  371. // "Pkcs11" : false,
  372. // "Timeout" : 42 // New in Orthanc 1.9.1
  373. // }
  374. },
  375. // Whether to store the Orthanc peers in the Orthanc database
  376. // instead of in this configuration file (new in Orthanc 1.5.0)
  377. "OrthancPeersInDatabase" : true,
  378. // Parameters of the HTTP proxy to be used by Orthanc. If set to the
  379. // empty string, no HTTP proxy is used. For instance:
  380. // "HttpProxy" : "192.168.0.1:3128"
  381. // "HttpProxy" : "proxyUser:proxyPassword@192.168.0.1:3128"
  382. "HttpProxy" : "",
  383. // If set to "true", debug messages from libcurl will be issued
  384. // whenever Orthanc makes an outgoing HTTP request. This is notably
  385. // useful to debug HTTPS-related problems.
  386. "HttpVerbose" : false,
  387. // Set the timeout for HTTP requests issued by Orthanc (in seconds).
  388. "HttpTimeout" : 60,
  389. // Enable the verification of the peers during HTTPS requests. This
  390. // option must be set to "false" if using self-signed certificates.
  391. // Pay attention that setting this option to "false" results in
  392. // security risks!
  393. // Reference: http://curl.haxx.se/docs/sslcerts.html
  394. "HttpsVerifyPeers" : true,
  395. // Path to the CA (certification authority) certificates to validate
  396. // peers in HTTPS requests. From curl documentation ("--cacert"
  397. // option): "Tells curl to use the specified certificate file to
  398. // verify the peers. The file may contain multiple CA
  399. // certificates. The certificate(s) must be in PEM format." On
  400. // Debian-based systems, this option can be set to
  401. // "/etc/ssl/certs/ca-certificates.crt"
  402. "HttpsCACertificates" : "C:\\Program Files\\Orthanc Server\\Configuration\\ca-certificates.crt",
  403. /**
  404. * Advanced options
  405. **/
  406. // Dictionary of symbolic names for the user-defined metadata. Each
  407. // entry must map an unique string to an unique number between 1024
  408. // and 65535. Reserved values:
  409. // - The Orthanc whole-slide imaging plugin uses metadata 4200
  410. "UserMetadata" : {
  411. // "Sample" : 1024
  412. },
  413. // Dictionary of symbolic names for the user-defined types of
  414. // attached files. Each entry must map an unique string to an unique
  415. // number between 1024 and 65535. Optionally, a second argument can
  416. // provided to specify a MIME content type for the attachment.
  417. "UserContentType" : {
  418. // "sample" : 1024
  419. // "sample2" : [ 1025, "application/pdf" ]
  420. },
  421. // Number of seconds without receiving any instance before a
  422. // patient, a study or a series is considered as stable.
  423. "StableAge" : 60,
  424. // By default, Orthanc compares AET (Application Entity Titles) in a
  425. // case-insensitive way. Setting this option to "true" will enable
  426. // case-sensitive matching.
  427. "StrictAetComparison" : false,
  428. // When the following option is "true", the MD5 of the DICOM files
  429. // will be computed and stored in the Orthanc database. This
  430. // information can be used to detect disk corruption, at the price
  431. // of a small performance overhead.
  432. "StoreMD5ForAttachments" : true,
  433. // The maximum number of results for a single C-FIND request at the
  434. // Patient, Study or Series level. Setting this option to "0" means
  435. // no limit.
  436. "LimitFindResults" : 0,
  437. // The maximum number of results for a single C-FIND request at the
  438. // Instance level. Setting this option to "0" means no limit.
  439. "LimitFindInstances" : 0,
  440. // The maximum number of active jobs in the Orthanc scheduler. When
  441. // this limit is reached, the addition of new jobs is blocked until
  442. // some job finishes.
  443. "LimitJobs" : 10,
  444. // If this option is set to "true" (default behavior until Orthanc
  445. // 1.3.2), Orthanc will log the resources that are exported to other
  446. // DICOM modalities or Orthanc peers, inside the URI
  447. // "/exports". Setting this option to "false" is useful to prevent
  448. // the index to grow indefinitely in auto-routing tasks (this is the
  449. // default behavior since Orthanc 1.4.0).
  450. "LogExportedResources" : false,
  451. // Enable or disable HTTP Keep-Alive (persistent HTTP
  452. // connections). Setting this option to "true" prevents Orthanc
  453. // issue #32 ("HttpServer does not support multiple HTTP requests in
  454. // the same TCP stream"), but can possibly slow down HTTP clients
  455. // that do not support persistent connections. The default behavior
  456. // used to be "false" in Orthanc <= 1.5.1. Setting this option to
  457. // "false" is also recommended if Orthanc is compiled against
  458. // Mongoose.
  459. "KeepAlive" : true,
  460. // Enable or disable Nagle's algorithm. Only taken into
  461. // consideration if Orthanc is compiled to use CivetWeb. Experiments
  462. // show that best performance can be obtained by setting both
  463. // "KeepAlive" and "TcpNoDelay" to "true". Beware however of
  464. // caveats: https://eklitzke.org/the-caveats-of-tcp-nodelay
  465. "TcpNoDelay" : true,
  466. // Number of threads that are used by the embedded HTTP server.
  467. "HttpThreadsCount" : 50,
  468. // If this option is set to "false", Orthanc will run in index-only
  469. // mode. The DICOM files will not be stored on the drive. Note that
  470. // this option might prevent the upgrade to newer versions of Orthanc.
  471. "StoreDicom" : true,
  472. // DICOM associations initiated by Lua scripts are kept open as long
  473. // as new DICOM commands are issued. This option sets the number of
  474. // seconds of inactivity to wait before automatically closing a
  475. // DICOM association used by Lua. If set to 0, the connection is
  476. // closed immediately. This option is only used in Lua scripts.
  477. "DicomAssociationCloseDelay" : 5,
  478. // Maximum number of query/retrieve DICOM requests that are
  479. // maintained by Orthanc. The least recently used requests get
  480. // deleted as new requests are issued.
  481. "QueryRetrieveSize" : 100,
  482. // When handling a C-FIND SCP request, setting this flag to "true"
  483. // will enable case-sensitive match for PN value representation
  484. // (such as PatientName). By default, the search is
  485. // case-insensitive, which does not follow the DICOM standard.
  486. "CaseSensitivePN" : false,
  487. // Configure PKCS#11 to use hardware security modules (HSM) and
  488. // smart cards when carrying on HTTPS client authentication.
  489. /**
  490. "Pkcs11" : {
  491. "Module" : "/usr/local/lib/libbeidpkcs11.so",
  492. "Module" : "C:/Windows/System32/beidpkcs11.dll",
  493. "Pin" : "1234",
  494. "Verbose" : true
  495. }
  496. **/
  497. // If set to "false", Orthanc will not load its default dictionary
  498. // of private tags. This might be necessary if you cannot import a
  499. // DICOM file encoded using the Implicit VR Endian transfer syntax,
  500. // and containing private tags: Such an import error might stem from
  501. // a bad dictionary. You can still list your private tags of
  502. // interest in the "Dictionary" configuration option below.
  503. "LoadPrivateDictionary" : true,
  504. // Locale to be used by Orthanc. Currently, only used if comparing
  505. // strings in a case-insensitive way. It should be safe to keep this
  506. // value undefined, which lets Orthanc autodetect the suitable locale.
  507. // "Locale" : "en_US.UTF-8",
  508. // Register a new tag in the dictionary of DICOM tags that are known
  509. // to Orthanc. Each line must contain the tag (formatted as 2
  510. // hexadecimal numbers), the value representation (2 upcase
  511. // characters), a nickname for the tag, possibly the minimum
  512. // multiplicity (> 0 with defaults to 1), possibly the maximum
  513. // multiplicity (0 means arbitrary multiplicity, defaults to 1), and
  514. // possibly the Private Creator (for private tags).
  515. "Dictionary" : {
  516. // "0014,1020" : [ "DA", "ValidationExpiryDate", 1, 1 ]
  517. // "00e1,10c2" : [ "UI", "PET-CT Multi Modality Name", 1, 1, "ELSCINT1" ]
  518. // "7053,1003" : [ "ST", "Original Image Filename", 1, 1, "Philips PET Private Group" ]
  519. // "2001,5f" : [ "SQ", "StackSequence", 1, 1, "Philips Imaging DD 001" ]
  520. },
  521. // Whether to run DICOM C-MOVE operations synchronously. If set to
  522. // "false" (asynchronous mode), each incoming C-MOVE request results
  523. // in the creation of a new background job. Up to Orthanc 1.3.2, the
  524. // implicit behavior was to use synchronous C-MOVE ("true"). Between
  525. // Orthanc 1.4.0 and 1.4.2, the default behavior was set to
  526. // asynchronous C-MOVE ("false"). Since Orthanc 1.5.0, the default
  527. // behavior is back to synchronous C-MOVE ("true", which ensures
  528. // backward compatibility with Orthanc <= 1.3.2).
  529. "SynchronousCMove" : true,
  530. // Maximum number of completed jobs that are kept in memory. A
  531. // processing job is considered as complete once it is tagged as
  532. // "Success" or "Failure". Since Orthanc 1.5.0, a value of "0"
  533. // indicates to keep no job in memory (i.e. jobs are removed from
  534. // the history as soon as they are completed), which prevents the
  535. // use of some features of Orthanc (typically, synchronous mode in
  536. // REST API) and should be avoided for non-developers.
  537. "JobsHistorySize" : 10,
  538. // Whether to save the jobs into the Orthanc database. If this
  539. // option is set to "true", the pending/running/completed jobs are
  540. // automatically reloaded from the database if Orthanc is stopped
  541. // then restarted (except if the "--no-jobs" command-line argument
  542. // is specified). This option should be set to "false" if multiple
  543. // Orthanc servers are using the same database (e.g. if PostgreSQL
  544. // or MariaDB/MySQL is used).
  545. "SaveJobs" : true,
  546. // Specifies how Orthanc reacts when it receives a DICOM instance
  547. // whose SOPInstanceUID is already stored. If set to "true", the new
  548. // instance replaces the old one. If set to "false", the new
  549. // instance is discarded and the old one is kept. Up to Orthanc
  550. // 1.4.1, the implicit behavior corresponded to "false".
  551. "OverwriteInstances" : false,
  552. // Maximum number of ZIP/media archives that are maintained by
  553. // Orthanc, as a response to the asynchronous creation of archives.
  554. // The least recently used archives get deleted as new archives are
  555. // generated. This option was introduced in Orthanc 1.5.0, and has
  556. // no effect on the synchronous generation of archives.
  557. "MediaArchiveSize" : 1,
  558. // Performance setting to specify how Orthanc accesses the storage
  559. // area during C-FIND. Three modes are available: (1) "Always"
  560. // allows Orthanc to read the storage area as soon as it needs an
  561. // information that is not present in its database (slowest mode),
  562. // (2) "Never" prevents Orthanc from accessing the storage area, and
  563. // makes it uses exclusively its database (fastest mode), and (3)
  564. // "Answers" allows Orthanc to read the storage area to generate its
  565. // answers, but not to filter the DICOM resources (balance between
  566. // the two modes). By default, the mode is "Always", which
  567. // corresponds to the behavior of Orthanc <= 1.5.0.
  568. "StorageAccessOnFind" : "Always",
  569. // Whether Orthanc monitors its metrics (new in Orthanc 1.5.4). If
  570. // set to "true", the metrics can be retrieved at
  571. // "/tools/metrics-prometheus" formetted using the Prometheus
  572. // text-based exposition format.
  573. "MetricsEnabled" : true,
  574. // Whether calls to URI "/tools/execute-script" is enabled. Starting
  575. // with Orthanc 1.5.8, this URI is disabled by default for security.
  576. "ExecuteLuaEnabled" : false,
  577. // Set the timeout while serving HTTP requests by the embedded Web
  578. // server, in seconds. This corresponds to option
  579. // "request_timeout_ms" of Mongoose/Civetweb. It will set the socket
  580. // options "SO_RCVTIMEO" and "SO_SNDTIMEO" to the specified value.
  581. "HttpRequestTimeout" : 30,
  582. // Set the default private creator that is used by Orthanc when it
  583. // looks for a private tag in its dictionary (cf. "Dictionary"
  584. // option), or when it creates/modifies a DICOM file (new in Orthanc 1.6.0).
  585. "DefaultPrivateCreator" : "",
  586. // Maximum number of storage commitment reports (i.e. received from
  587. // remote modalities) to be kept in memory (new in Orthanc 1.6.0).
  588. "StorageCommitmentReportsSize" : 100,
  589. // Whether Orthanc transcodes DICOM files to an uncompressed
  590. // transfer syntax over the DICOM protocol, if the remote modality
  591. // does not support compressed transfer syntaxes (new in Orthanc 1.7.0).
  592. "TranscodeDicomProtocol" : true,
  593. // If some plugin to decode/transcode DICOM instances is installed,
  594. // this option specifies whether the built-in decoder/transcoder of
  595. // Orthanc (that uses DCMTK) is applied before or after the plugins,
  596. // or is not applied at all (new in Orthanc 1.7.0). The allowed
  597. // values for this option are "After" (default value, corresponding
  598. // to the behavior of Orthanc <= 1.6.1), "Before", or "Disabled".
  599. "BuiltinDecoderTranscoderOrder" : "After",
  600. // If this option is set, Orthanc will transparently transcode any
  601. // incoming DICOM instance to the given transfer syntax before
  602. // storing it into its database. Beware that this might result in
  603. // high CPU usage (if transcoding to some compressed transfer
  604. // syntax), or in higher disk consumption (if transcoding to an
  605. // uncompressed syntax). Also, beware that transcoding to a transfer
  606. // syntax with lossy compression (notably JPEG) will change the
  607. // "SOPInstanceUID" DICOM tag, and thus the Orthanc identifier at
  608. // the instance level, which might break external workflow.
  609. /**
  610. "IngestTranscoding" : "1.2.840.10008.1.2",
  611. **/
  612. // Whether ingest transcoding is applied to incoming DICOM instances
  613. // that have an uncompressed transfer syntax, i.e. Little Endian
  614. // Implicit, Little Endian Explicit or Big Endian Explicit (new in
  615. // Orthanc 1.8.2).
  616. "IngestTranscodingOfUncompressed" : true,
  617. // Whether ingest transcoding is applied to incoming DICOM instances
  618. // that have a compressed transfer syntax (new in Orthanc 1.8.2).
  619. "IngestTranscodingOfCompressed" : true,
  620. // The compression level that is used when transcoding to one of the
  621. // lossy/JPEG transfer syntaxes (integer between 1 and 100).
  622. "DicomLossyTranscodingQuality" : 90,
  623. // Whether "fsync()" is called after each write to the storage area
  624. // (new in Orthanc 1.7.4). If this option is set to "true", Orthanc
  625. // will run more slowly, but the DICOM are guaranteed to be
  626. // immediately written to the disk. This option only makes sense if
  627. // the builtin filesystem storage area is used. It defaults to
  628. // "false" in Orthanc <= 1.7.3, and to "true" in Orthanc >= 1.7.4.
  629. "SyncStorageArea" : true,
  630. // If specified, on compatible systems, call "mallopt(M_ARENA_MAX,
  631. // ...)" while starting Orthanc. This has the same effect at setting
  632. // the environment variable "MALLOC_ARENA_MAX". This avoids large
  633. // growth in RES memory if the threads of the embedded HTTP server
  634. // have to allocate large chunks of memory (typically the case with
  635. // large DICOM files). By setting "MallocArenaMax" to "N", these
  636. // threads share "N" memory pools (known as "arenas"). Setting this
  637. // option to "0" doesn't call mallopt()", which was the behavior of
  638. // Orthanc <= 1.8.1.
  639. "MallocArenaMax" : 5,
  640. // Deidentify/anonymize the contents of the logs (notably C-FIND,
  641. // C-GET, and C-MOVE queries submitted to Orthanc) according to
  642. // Table E.1-1 of the DICOM standard (new in Orthanc 1.8.2)
  643. "DeidentifyLogs" : true,
  644. // If "DeidentifyLogs" is true, this sets the DICOM standard to
  645. // follow for the deidentification/anonymization of the query
  646. // contents. Possible values are "2008" and "2017c" (new in Orthanc
  647. // 1.8.2)
  648. "DeidentifyLogsDicomVersion" : "2017c",
  649. // Maximum length of the PDU (Protocol Data Unit) in the DICOM
  650. // network protocol, expressed in bytes. This value affects both
  651. // Orthanc SCU and Orthanc SCP. It defaults to 16KB. The allowed
  652. // range is [4096,131072]. (new in Orthanc 1.9.0)
  653. "MaximumPduLength" : 16384
  654. }

 修改配置文件保存后,在服务中找到Orthanc,右击重新启动,修改的配置项才能生效。

 到这里,Orthanc服务器的安装配置就完成了,下面将开始学习DICOM传输的相关知识。

 路漫漫其修远兮,吾将上下而求索

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/689705
推荐阅读
相关标签
  

闽ICP备14008679号