之前一直在研究本地的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的主配置文件,重要的配置都在其中,以下是我的配置内容,仅供参考

{/*** 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" : "MyOrthanc",// Path to the directory that holds the heavyweight files (i.e. the// raw DICOM instances). Backslashes must be either escaped by// doubling them, or replaced by forward slashes "/"."StorageDirectory" : "C:\\Orthanc",// 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" : "C:\\Orthanc",// Path to the directory where Orthanc stores its large temporary// files. The content of this folder can be safely deleted once// Orthanc is stopped. The folder must exist. The corresponding// filesystem must be properly sized, given that for instance a ZIP// archive of DICOM images created by a job can weight several GBs,// and that there might be up to "min(JobsHistorySize,// MediaArchiveSize)" archives to be stored simultaneously. If not// set, Orthanc will use the default temporary folder of the// operating system (such as "/tmp/" on UNIX-like systems, or// "C:/Temp" on Microsoft Windows).// "TemporaryDirectory" : "/tmp/Orthanc/",// 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). These paths can refer to// folders, in which case they will be scanned non-recursively to// find shared libraries. Backslashes must be either escaped by// doubling them, or replaced by forward slashes "/"."Plugins" : [ "C:\\Program Files\\Orthanc Server\\Plugins" ],// Maximum number of processing jobs that are simultaneously running// at any given time. A value of "0" indicates to use all the// available CPU logical cores. To emulate Orthanc <= 1.3.2, set// this value to "1"."ConcurrentJobs" : 10,/*** Configuration of the HTTP server**/// 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/disable the Orthanc Explorer Web user interface. This// option is only meaningful if the "HttpServerEnabled" option is// set to "true" (new in Orthanc 1.8.2)."OrthancExplorerEnabled" : true,// HTTP port for the REST services and for the GUI"HttpPort" : 8042,// When the following option is "true", if an error is encountered// while calling the REST API, a JSON message describing the error// is put in the HTTP answer. This feature can be disabled if the// HTTP client does not properly handles such answers."HttpDescribeErrors" : true,// Enable HTTP compression to improve network bandwidth utilization,// at the expense of more computations on the server. Orthanc// supports the "gzip" and "deflate" HTTP encodings."HttpCompressionEnabled" : true,// Enable the publication of the content of the Orthanc server as a// WebDAV share (new in Orthanc 1.8.0). On the localhost, the WebDAV// share is mapped as "http://localhost:8042/webdav/"."WebDavEnabled" : true,// Whether to allow deletions through the WebDAV share. This is// disabled by default to avoid accidental loss of DICOM instances."WebDavDeleteAllowed" : false,// Whether to allow uploads through the WebDAV share."WebDavUploadAllowed" : true,/*** Configuration of the DICOM server**/// 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,// The DICOM Application Entity Title (cannot be longer than 16// characters)"DicomAet" : "ORTHANC",// Check whether the called AET corresponds to the AET of Orthanc// during an incoming DICOM SCU request"DicomCheckCalledAet" : false,// The DICOM port"DicomPort" : 4242,// The default encoding that is assumed for DICOM files without// "SpecificCharacterSet" DICOM tag, and that is used when answering// C-FIND requests (including worklists). The allowed values are// "Ascii", "Utf8", "Latin1", "Latin2", "Latin3", "Latin4",// "Latin5", "Cyrillic", "Windows1251", "Arabic", "Greek", "Hebrew",// "Thai", "Japanese", "Chinese", "JapaneseKanji", "Korean", and// "SimplifiedChinese"."DefaultEncoding" : "Latin1",// The transfer syntaxes that are accepted by Orthanc C-STORE SCP.// This is an array listing the accepted transfer syntax UIDs. Each// entry can contain wildcards ("?" or "*"). By default, all the// known transfer syntaxes are accepted. (new in Orthanc 1.9.0)"AcceptedTransferSyntaxes" : [ "1.2.840.10008.1.*" ],// User-friendly groups of transfer syntaxes that can be enabled or// disabled at once. These options are applied after the main// "AcceptedTransferSyntaxes" option has been applied (if present)./**"DeflatedTransferSyntaxAccepted"     : true,"JpegTransferSyntaxAccepted"         : true,"Jpeg2000TransferSyntaxAccepted"     : true,"JpegLosslessTransferSyntaxAccepted" : true,"JpipTransferSyntaxAccepted"         : true,"Mpeg2TransferSyntaxAccepted"        : true,"RleTransferSyntaxAccepted"          : true,"Mpeg4TransferSyntaxAccepted"        : true,  // New in Orthanc 1.6.0"H265TransferSyntaxAccepted"         : true,  // New in Orthanc 1.9.0**/// Whether Orthanc accepts to act as C-STORE SCP for unknown storage// SOP classes (aka. "promiscuous mode")"UnknownSopClassAccepted" : true,// Set the timeout (in seconds) after which the DICOM associations// are closed by the Orthanc SCP (server) if no further DIMSE// command is received from the SCU (client)."DicomScpTimeout" : 30,/*** 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 used by the HTTP server. The file// must be stored in the PEM format, and must contain both the// certificate and the private key. This option is only meaningful// if "SslEnabled" is true."SslCertificate" : "certificate.pem",// Sets the minimum accepted SSL protocol version// (cf. "ssl_protocol_version" option of civetweb). By default,// require SSL 1.2. This option is only meaningful if "SslEnabled"// is true. (new in Orthanc 1.8.2)//// Value => Protocols//   0      SSL2+SSL3+TLS1.0+TLS1.1+TLS1.2//   1      SSL3+TLS1.0+TLS1.1+TLS1.2//   2      TLS1.0+TLS1.1+TLS1.2//   3      TLS1.1+TLS1.2//   4      TLS1.2"SslMinimumProtocolVersion" : 4,// Set the accepted ciphers for SSL connections. The ciphers must be// provided as a list of strings. If not set, this will default to// FIPS 140-2 ciphers. This option is only meaningful if// "SslEnabled" is true. (new in Orthanc 1.8.2)/**"SslCiphersAccepted" : [ "AES128-GCM-SHA256" ],**/// Whether or not peer client certificates shall be checked. This// option is only meaningful if "SslEnabled" is true."SslVerifyPeers" : false,// Path to a file containing the concatenation of the client SSL// certificate(s) that are trusted to verify the identify of remote// HTTP clients. The individual certificate(s) must be stored in the// PEM format. This option is only meaningful if "SslVerifyPeers"// is true."SslTrustedClientCertificates" : "trustedClientCertificates.pem",// Whether or not the password protection is enabled (using HTTP// basic access authentication). Starting with Orthanc 1.5.8, if// "AuthenticationEnabled" is not explicitly set, authentication is// enabled iff. remote access is allowed (i.e. the default value of// "AuthenticationEnabled" equals that of "RemoteAccessAllowed")./**"AuthenticationEnabled" : false,**/// The list of the registered users. Because Orthanc uses HTTP// Basic Authentication, the passwords are stored as plain text."RegisteredUsers" : {// "alice" : "alicePassword""admin":"123456"},/*** Security-related options for the DICOM connections (SCU/SCP)**/// Whether DICOM TLS is enabled in the Orthanc SCP (new in Orthanc 1.9.0)"DicomTlsEnabled" : false,// Path to the TLS certificate file (in PEM format) to be used for// both Orthanc SCP (incoming DICOM connections) and Orthanc SCU// (outgoing DICOM connections). Note that contrarily to the// "SslCertificate" option, the certificate and its private key must// be split into two separate files. (new in Orthanc 1.9.0)/**"DicomTlsCertificate" : "orthanc.crt",**/// Path to the file containing the private key (in PEM format) that// corresponds to the TLS certificate specified in option// "DicomTlsCertificate". (new in Orthanc 1.9.0)/**"DicomTlsPrivateKey" : "orthanc.key",**/// Path to a file containing all the TLS certificates that Orthanc// can trust, both for its SCP (incoming DICOM connections) and SCU// (outgoing DICOM connections). This file must contain a sequence// of PEM certificates. (new in Orthanc 1.9.0)/**"DicomTlsTrustedCertificates" : "trusted.crt",**/// Whether the Orthanc SCP allows incoming C-ECHO requests, even// from SCU modalities it does not know about (i.e. that are not// listed in the "DicomModalities" option above). Orthanc 1.3.0// is the only version to behave as if this argument were set to "false"."DicomAlwaysAllowEcho" : true,// Whether the Orthanc SCP allows incoming C-STORE requests, even// from SCU modalities it does not know about (i.e. that are not// listed in the "DicomModalities" option above)"DicomAlwaysAllowStore" : true,// Whether the Orthanc SCP allows incoming C-FIND requests, even// from SCU modalities it does not know about (i.e. that are not// listed in the "DicomModalities" option above). Setting this// option to "true" implies security risks. (new in Orthanc 1.9.0)"DicomAlwaysAllowFind" : true,// Whether the Orthanc SCP allows incoming C-GET requests, even// from SCU modalities it does not know about (i.e. that are not// listed in the "DicomModalities" option above). Setting this// option to "true" implies security risks. (new in Orthanc 1.9.0)"DicomAlwaysAllowGet" : true,// Whether Orthanc checks the IP/hostname address of the remote// modality initiating a DICOM connection (as listed in the// "DicomModalities" option above). If this option is set to// "false", Orthanc only checks the AET of the remote modality."DicomCheckModalityHost" : true,/*** Network topology**/// The list of the known DICOM modalities. This option is ignored if// "DicomModalitiesInDatabase" is set to "true", in which case you// must use the REST API to define 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), as started by the* command line "storescp 2000". The first parameter is the* AET of the remote modality (cannot be longer than 16 * characters), the second one is the remote network address,* and the third one is the TCP port number corresponding* to the DICOM protocol on the remote modality (usually 104).**/// "sample" : [ "STORESCP", "127.0.0.1", 2000 ]"sample" : [ "STORESCP", "127.0.0.1", 4242 ]/*** A fourth parameter is available to enable patches for* specific PACS manufacturers. The allowed values are currently:* - "Generic" (default value),* - "GenericNoWildcardInDates" (to replace "*" by "" in date fields *   in outgoing C-FIND requests originating from Orthanc),* - "GenericNoUniversalWildcard" (to replace "*" by "" in all fields*   in outgoing C-FIND SCU requests originating from Orthanc),* - "Vitrea",* - "GE" (Enterprise Archive, MRI consoles and Advantage Workstation*   from GE Healthcare).** This parameter is case-sensitive.**/// "vitrea" : [ "VITREA", "192.168.1.1", 104, "Vitrea" ]/*** By default, the Orthanc SCP accepts all DICOM commands (C-ECHO,* C-STORE, C-FIND, C-MOVE, C-GET and storage commitment) issued by the* registered remote SCU modalities. Starting with Orthanc 1.5.0,* it is possible to specify which DICOM commands are allowed,* separately for each remote modality, using the syntax* below.** The "AllowEcho" (resp.  "AllowStore") option only has an effect* respectively if global option "DicomAlwaysAllowEcho"* (resp. "DicomAlwaysAllowStore") is set to "false".** Starting with Orthanc 1.7.0, "AllowTranscoding" can be used to* disable the transcoding to uncompressed transfer syntaxes if* this remote modality doesn't support compressed transfer* syntaxes. This option currently applies to Orthanc C-GET SCP* and to Orthanc C-STORE SCU. This option only has an effect if* the global option "EnableTranscoding" is set to "true".** By default, all "Allow*" options are true.* "AllowStorageCommitment" is actually an alias for * "AllowNAction" & "AllowEventReport".* * The "UseDicomTls" option specifies whether DICOM TLS should be* used when opening a SCU connection from Orthanc to this remote* modality. By default, DICOM TLS is not enabled.** The "LocalAet" option allows one to overwrite the global* "DicomAet" configuration option in order to specify another AET* for Orthanc when initiating an SCU to this very specific* modality. Similarly, "Timeout" allows one to overwrite the* global value "DicomScuTimeout" on a per-modality basis.**///"untrusted" : {//  "AET" : "ORTHANC",//  "Port" : 104,//  "Host" : "127.0.0.1",//  "Manufacturer" : "Generic",//  "AllowEcho" : false,//  "AllowFind" : false,//  "AllowGet"  : false,//  "AllowMove" : false,//  "AllowStore" : true,//  "AllowStorageCommitment" : false,  // new in 1.6.0//  "AllowTranscoding" : true,         // new in 1.7.0//  "UseDicomTls" : false              // new in 1.9.0//  "LocalAet" : "HELLO"               // new in 1.9.0//  "Timeout" : 60                     // new in 1.9.1//}},// Whether to store the DICOM modalities in the Orthanc database// instead of in this configuration file (new in Orthanc 1.5.0)"DicomModalitiesInDatabase" : true,// Whether the C-ECHO SCU is automatically followed by a C-FIND SCU,// while testing the connectivity from Orthanc to a remote DICOM// modality. This allows one to check that the remote modality does// accept C-FIND requests from Orthanc (new in Orthanc 1.8.1)."DicomEchoChecksFind" : true,// The timeout (in seconds) after which the DICOM associations are// considered as closed by the Orthanc SCU (client) if the remote// DICOM SCP (server) does not answer."DicomScuTimeout" : 10,// During a C-STORE SCU request initiated by Orthanc, if the remote// modality doesn't support the original transfer syntax of some// DICOM instance, specify which transfer syntax should be preferred// to transcode this instance (provided the remote modality accepts// this syntax). In Orthanc between 1.7.0 and 1.8.2, this parameter// was implicitly set to "Little Endian Implicit"// (1.2.840.10008.1.2). In Orthanc <= 1.6.1 and in Orthanc >= 1.9.0,// this parameter is by default set to "Little Endian Explicit"// (1.2.840.10008.1.2.1). This parameter can possibly correspond to// a compressed transfer syntax. (new in Orthanc 1.9.0)"DicomScuPreferredTransferSyntax" : "1.2.840.10008.1.2.1",// The list of the known Orthanc peers. This option is ignored if// "OrthancPeersInDatabase" is set to "true", in which case you must// use the REST API to define 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://127.0.0.1:8043/", "alice", "alicePassword" ]// "peer2" : [ "http://127.0.0.1:8044/" ]/*** This is another, more advanced format to define Orthanc* peers. It notably allows one to specify HTTP headers, a HTTPS* client certificate in the PEM format (as in the "--cert" option* of curl), or to enable PKCS#11 authentication for smart cards.** The "Timeout" option allows one to overwrite the global value* "HttpTimeout" on a per-peer basis.**/// "peer" : {//   "Url" : "http://127.0.0.1:8043/",//   "Username" : "alice",//   "Password" : "alicePassword",//   "HttpHeaders" : { "Token" : "Hello world" },//   "CertificateFile" : "client.crt",//   "CertificateKeyFile" : "client.key",//   "CertificateKeyPassword" : "certpass",//   "Pkcs11" : false,//   "Timeout" : 42            // New in Orthanc 1.9.1// }},// Whether to store the Orthanc peers in the Orthanc database// instead of in this configuration file (new in Orthanc 1.5.0)"OrthancPeersInDatabase" : true,// Parameters of the HTTP proxy to be used by Orthanc. If set to the// empty string, no HTTP proxy is used. For instance://   "HttpProxy" : "192.168.0.1:3128"//   "HttpProxy" : "proxyUser:proxyPassword@192.168.0.1:3128""HttpProxy" : "",// If set to "true", debug messages from libcurl will be issued// whenever Orthanc makes an outgoing HTTP request. This is notably// useful to debug HTTPS-related problems."HttpVerbose" : false,// Set the timeout for HTTP requests issued by Orthanc (in seconds)."HttpTimeout" : 60,// Enable the verification of the peers during HTTPS requests. This// option must be set to "false" if using self-signed certificates.// Pay attention that setting this option to "false" results in// security risks!// Reference: http://curl.haxx.se/docs/sslcerts.html"HttpsVerifyPeers" : true,// Path to the CA (certification authority) certificates to validate// peers in HTTPS requests. From curl documentation ("--cacert"// option): "Tells curl to use the specified certificate file to// verify the peers. The file may contain multiple CA// certificates. The certificate(s) must be in PEM format." On// Debian-based systems, this option can be set to// "/etc/ssl/certs/ca-certificates.crt""HttpsCACertificates" : "C:\\Program Files\\Orthanc Server\\Configuration\\ca-certificates.crt",/*** Advanced options**/// Dictionary of symbolic names for the user-defined metadata. Each// entry must map an unique string to an unique number between 1024// and 65535. Reserved values://  - The Orthanc whole-slide imaging plugin uses metadata 4200"UserMetadata" : {// "Sample" : 1024},// Dictionary of symbolic names for the user-defined types of// attached files. Each entry must map an unique string to an unique// number between 1024 and 65535. Optionally, a second argument can// provided to specify a MIME content type for the attachment."UserContentType" : {// "sample" : 1024// "sample2" : [ 1025, "application/pdf" ]},// Number of seconds without receiving any instance before a// patient, a study or a series is considered as stable."StableAge" : 60,// 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,// If this option is set to "true" (default behavior until Orthanc// 1.3.2), Orthanc will log the resources that are exported to other// DICOM modalities or Orthanc peers, inside the URI// "/exports". Setting this option to "false" is useful to prevent// the index to grow indefinitely in auto-routing tasks (this is the// default behavior since Orthanc 1.4.0)."LogExportedResources" : false,// Enable or disable HTTP Keep-Alive (persistent HTTP// connections). Setting this option to "true" prevents Orthanc// issue #32 ("HttpServer does not support multiple HTTP requests in// the same TCP stream"), but can possibly slow down HTTP clients// that do not support persistent connections. The default behavior// used to be "false" in Orthanc <= 1.5.1. Setting this option to// "false" is also recommended if Orthanc is compiled against// Mongoose."KeepAlive" : true,// Enable or disable Nagle's algorithm. Only taken into// consideration if Orthanc is compiled to use CivetWeb. Experiments// show that best performance can be obtained by setting both// "KeepAlive" and "TcpNoDelay" to "true". Beware however of// caveats: https://eklitzke.org/the-caveats-of-tcp-nodelay"TcpNoDelay" : true,// Number of threads that are used by the embedded HTTP server."HttpThreadsCount" : 50,// If this option is set to "false", Orthanc will run in index-only// mode. The DICOM files will not be stored on the drive. Note that// this option might prevent the upgrade to newer versions of Orthanc."StoreDicom" : true,// DICOM associations initiated by Lua scripts are kept open as long// as new DICOM commands are issued. This option sets the number of// seconds of inactivity to wait before automatically closing a// DICOM association used by Lua. If set to 0, the connection is// closed immediately. This option is only used in Lua scripts."DicomAssociationCloseDelay" : 5,// Maximum number of query/retrieve DICOM requests that are// maintained by Orthanc. The least recently used requests get// deleted as new requests are issued."QueryRetrieveSize" : 100,// When handling a C-FIND SCP request, setting this flag to "true"// will enable case-sensitive match for PN value representation// (such as PatientName). By default, the search is// case-insensitive, which does not follow the DICOM standard."CaseSensitivePN" : false,// Configure PKCS#11 to use hardware security modules (HSM) and// smart cards when carrying on HTTPS client authentication./**"Pkcs11" : {"Module" : "/usr/local/lib/libbeidpkcs11.so","Module" : "C:/Windows/System32/beidpkcs11.dll","Pin" : "1234","Verbose" : true}**/// If set to "false", Orthanc will not load its default dictionary// of private tags. This might be necessary if you cannot import a// DICOM file encoded using the Implicit VR Endian transfer syntax,// and containing private tags: Such an import error might stem from// a bad dictionary. You can still list your private tags of// interest in the "Dictionary" configuration option below."LoadPrivateDictionary" : true,// Locale to be used by Orthanc. Currently, only used if comparing// strings in a case-insensitive way. It should be safe to keep this// value undefined, which lets Orthanc autodetect the suitable locale.// "Locale" : "en_US.UTF-8",// Register a new tag in the dictionary of DICOM tags that are known// to Orthanc. Each line must contain the tag (formatted as 2// hexadecimal numbers), the value representation (2 upcase// characters), a nickname for the tag, possibly the minimum// multiplicity (> 0 with defaults to 1), possibly the maximum// multiplicity (0 means arbitrary multiplicity, defaults to 1), and// possibly the Private Creator (for private tags)."Dictionary" : {// "0014,1020" : [ "DA", "ValidationExpiryDate", 1, 1 ]// "00e1,10c2" : [ "UI", "PET-CT Multi Modality Name", 1, 1, "ELSCINT1" ]// "7053,1003" : [ "ST", "Original Image Filename", 1, 1, "Philips PET Private Group" ]// "2001,5f" : [ "SQ", "StackSequence", 1, 1, "Philips Imaging DD 001" ]},// Whether to run DICOM C-MOVE operations synchronously. If set to// "false" (asynchronous mode), each incoming C-MOVE request results// in the creation of a new background job. Up to Orthanc 1.3.2, the// implicit behavior was to use synchronous C-MOVE ("true"). Between// Orthanc 1.4.0 and 1.4.2, the default behavior was set to// asynchronous C-MOVE ("false"). Since Orthanc 1.5.0, the default// behavior is back to synchronous C-MOVE ("true", which ensures// backward compatibility with Orthanc <= 1.3.2)."SynchronousCMove" : true,// Maximum number of completed jobs that are kept in memory. A// processing job is considered as complete once it is tagged as// "Success" or "Failure". Since Orthanc 1.5.0, a value of "0"// indicates to keep no job in memory (i.e. jobs are removed from// the history as soon as they are completed), which prevents the// use of some features of Orthanc (typically, synchronous mode in// REST API) and should be avoided for non-developers."JobsHistorySize" : 10,// Whether to save the jobs into the Orthanc database. If this// option is set to "true", the pending/running/completed jobs are// automatically reloaded from the database if Orthanc is stopped// then restarted (except if the "--no-jobs" command-line argument// is specified). This option should be set to "false" if multiple// Orthanc servers are using the same database (e.g. if PostgreSQL// or MariaDB/MySQL is used)."SaveJobs" : true,// Specifies how Orthanc reacts when it receives a DICOM instance// whose SOPInstanceUID is already stored. If set to "true", the new// instance replaces the old one. If set to "false", the new// instance is discarded and the old one is kept. Up to Orthanc// 1.4.1, the implicit behavior corresponded to "false"."OverwriteInstances" : false,// Maximum number of ZIP/media archives that are maintained by// Orthanc, as a response to the asynchronous creation of archives.// The least recently used archives get deleted as new archives are// generated. This option was introduced in Orthanc 1.5.0, and has// no effect on the synchronous generation of archives."MediaArchiveSize" : 1,// Performance setting to specify how Orthanc accesses the storage// area during C-FIND. Three modes are available: (1) "Always"// allows Orthanc to read the storage area as soon as it needs an// information that is not present in its database (slowest mode),// (2) "Never" prevents Orthanc from accessing the storage area, and// makes it uses exclusively its database (fastest mode), and (3)// "Answers" allows Orthanc to read the storage area to generate its// answers, but not to filter the DICOM resources (balance between// the two modes). By default, the mode is "Always", which// corresponds to the behavior of Orthanc <= 1.5.0."StorageAccessOnFind" : "Always",// Whether Orthanc monitors its metrics (new in Orthanc 1.5.4). If// set to "true", the metrics can be retrieved at// "/tools/metrics-prometheus" formetted using the Prometheus// text-based exposition format."MetricsEnabled" : true,// Whether calls to URI "/tools/execute-script" is enabled. Starting// with Orthanc 1.5.8, this URI is disabled by default for security."ExecuteLuaEnabled" : false,// Set the timeout while serving HTTP requests by the embedded Web// server, in seconds. This corresponds to option// "request_timeout_ms" of Mongoose/Civetweb. It will set the socket// options "SO_RCVTIMEO" and "SO_SNDTIMEO" to the specified value."HttpRequestTimeout" : 30,// Set the default private creator that is used by Orthanc when it// looks for a private tag in its dictionary (cf. "Dictionary"// option), or when it creates/modifies a DICOM file (new in Orthanc 1.6.0)."DefaultPrivateCreator" : "",// Maximum number of storage commitment reports (i.e. received from// remote modalities) to be kept in memory (new in Orthanc 1.6.0)."StorageCommitmentReportsSize" : 100,// Whether Orthanc transcodes DICOM files to an uncompressed// transfer syntax over the DICOM protocol, if the remote modality// does not support compressed transfer syntaxes (new in Orthanc 1.7.0)."TranscodeDicomProtocol" : true,// If some plugin to decode/transcode DICOM instances is installed,// this option specifies whether the built-in decoder/transcoder of// Orthanc (that uses DCMTK) is applied before or after the plugins,// or is not applied at all (new in Orthanc 1.7.0). The allowed// values for this option are "After" (default value, corresponding// to the behavior of Orthanc <= 1.6.1), "Before", or "Disabled"."BuiltinDecoderTranscoderOrder" : "After",// If this option is set, Orthanc will transparently transcode any// incoming DICOM instance to the given transfer syntax before// storing it into its database. Beware that this might result in// high CPU usage (if transcoding to some compressed transfer// syntax), or in higher disk consumption (if transcoding to an// uncompressed syntax). Also, beware that transcoding to a transfer// syntax with lossy compression (notably JPEG) will change the// "SOPInstanceUID" DICOM tag, and thus the Orthanc identifier at// the instance level, which might break external workflow./**"IngestTranscoding" : "1.2.840.10008.1.2",**/// Whether ingest transcoding is applied to incoming DICOM instances// that have an uncompressed transfer syntax, i.e. Little Endian// Implicit, Little Endian Explicit or Big Endian Explicit (new in// Orthanc 1.8.2)."IngestTranscodingOfUncompressed" : true,// Whether ingest transcoding is applied to incoming DICOM instances// that have a compressed transfer syntax (new in Orthanc 1.8.2)."IngestTranscodingOfCompressed" : true,// The compression level that is used when transcoding to one of the// lossy/JPEG transfer syntaxes (integer between 1 and 100)."DicomLossyTranscodingQuality" : 90,// Whether "fsync()" is called after each write to the storage area// (new in Orthanc 1.7.4). If this option is set to "true", Orthanc// will run more slowly, but the DICOM are guaranteed to be// immediately written to the disk. This option only makes sense if// the builtin filesystem storage area is used. It defaults to// "false" in Orthanc <= 1.7.3, and to "true" in Orthanc >= 1.7.4."SyncStorageArea" : true,// If specified, on compatible systems, call "mallopt(M_ARENA_MAX,// ...)" while starting Orthanc. This has the same effect at setting// the environment variable "MALLOC_ARENA_MAX". This avoids large// growth in RES memory if the threads of the embedded HTTP server// have to allocate large chunks of memory (typically the case with// large DICOM files). By setting "MallocArenaMax" to "N", these// threads share "N" memory pools (known as "arenas"). Setting this// option to "0" doesn't call mallopt()", which was the behavior of// Orthanc <= 1.8.1."MallocArenaMax" : 5,// Deidentify/anonymize the contents of the logs (notably C-FIND,// C-GET, and C-MOVE queries submitted to Orthanc) according to// Table E.1-1 of the DICOM standard (new in Orthanc 1.8.2)"DeidentifyLogs" : true,// If "DeidentifyLogs" is true, this sets the DICOM standard to// follow for the deidentification/anonymization of the query// contents. Possible values are "2008" and "2017c" (new in Orthanc// 1.8.2)"DeidentifyLogsDicomVersion" : "2017c",// Maximum length of the PDU (Protocol Data Unit) in the DICOM// network protocol, expressed in bytes. This value affects both// Orthanc SCU and Orthanc SCP. It defaults to 16KB. The allowed// range is [4096,131072]. (new in Orthanc 1.9.0)"MaximumPduLength" : 16384
}

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

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

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

搭建Orthanc服务器-DICOM服务器相关推荐

  1. 分享:Orthanc 0.4.0 发布,DICOM 服务器

    Orthanc 0.4.0 发布,DICOM 服务器 http://www.oschina.net/news/35781/orthanc-0-4-0

  2. linux搭建mcpe服务器_技术|如何搭建“我的世界”服务器

    我们将通过一个一步步的.新手友好的教程来向你展示如何搭建一个"我的世界(Minecraft)"服务器.这将会是一个长期的多人游戏服务器,你可以与来自世界各地的朋友们一起玩,而不用在 ...

  3. 搭建git for windows服务器(100%可以成功)【转】

    转自:http://blog.csdn.net/code_style/article/details/38764203 既然Git在linux下面非常好用,为什么还要搭建git windows的服务器 ...

  4. nginx搭建rtmp协议流媒体服务器总结

    最近在 ubuntu12.04+wdlinux(centos)上搭建了一个rtmp服务器,感觉还挺麻烦的,所以记录下. 大部分都是参考网络上的资料. 前提: 在linux下某个目录中新建一个nginx ...

  5. 空服务器安装linux,debian服务器linux服务器web建站搭建linux服务器之Debian安装

    debian服务器linux服务器web建站搭建linux服务器之Debian安装 原文来自i火吧 大家都知道linux的发行版本很多,有centos啊,debian啊,ubuntu等,下面我就用de ...

  6. 搭建阿里云ecs服务器(一:购买)

    搭建阿里云ecs服务器 第一步:购买阿里云ecs服务器 地域需要选择离自己比较近的,网速可能更快 实例.服务器系统镜像.云盘存储根据自己的需求购买 在网络和安全组中把80端口打开,其他可以默认 在系统 ...

  7. Nodejs中搭建一个静态Web服务器,通过读取文件获取响应类型

    场景 Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件让全世界浏览,还可以放置数据文件,让全世界下载.目前最主流的Web服务 ...

  8. 阿里云CentOS7.3搭建多用户私有git服务器(从安装git开始)

    起因 自己会有练手的不敢公开的项目,就自己搭建个服务器放自己的渣代码了. 在经历了连不上服务器.没有访问权限.没法提交以后,我打通了任督二脉. 我这个git服务器适合条件:1.就那么几个人小项目,不是 ...

  9. 如何使用 Go 语言搭建企业级高并发服务器?

    每到节假日和过年,需要外出通行的人几乎都会遇到一个问题:抢火车票!当全国上亿人都在固定的时间段抢票,服务器动辄就要承受上百万级并发的情况时,你就会明白,一个支持高并发的服务器架构有多重要! 在后端程序 ...

最新文章

  1. FPGA之道(69)提高设计的综合性能(一)提高设计的鲁棒性
  2. 第十六 django进一步了解
  3. 关于unity的一个不错的插件平台
  4. python【力扣LeetCode算法题库】55-跳跃游戏
  5. php批量下载网络图片,php批量下载网页图片并替换路径为本地
  6. 计算机二级等级考试模拟试题,2016年计算机二级考试office模拟试题
  7. 计算机图形学资源收集04
  8. Python模块——matplotlib模块详解
  9. Exchange 2007 474 问题解决方法
  10. 新手必备pr 2021快速入门教程「三」素材的导入与管理
  11. html src=true,embed属性变true
  12. Netty学习开发之路
  13. 基于最大熵Maxent-ArcGis地理分布预测教程
  14. 轻量级网络模型MobileNet发展脉络(V1-V2-V3)
  15. 浏览器主页推荐大全 | Speedceo、青柠起始页、万花筒
  16. 关于CSS选择器优先级的规则说明
  17. 【前端知识之CSS】CSS3新增特性
  18. Contra-cnv
  19. 渗透测试php靶场,渗透测试靶场初体验
  20. 我来告诉你代码重构有什么好处

热门文章

  1. Arthas 3.1.2版本发布: 增加logger/heapdump/vmoption命令,支持tunnel server
  2. [C#]SignalR实现扫码登录(B/S,C/S)
  3. Windows下的SSL 应用
  4. 医院门诊透视的生活万花筒
  5. 基于Spring Boot 2.5.1 微服务框架发布(Eurynome Cloud )
  6. Ubuntu18.04安装realsense d435i SDK和ROS Wrapper以及相机标定全过程
  7. 创建新Docker容器时出现“The container name /xxx is already in use by container xxxxxxxxxxx...”问题的解决办法
  8. 计算机优质书籍搜集(持续更新)
  9. 【吴刚】电商活动站设计初级入门标准视频教程-吴刚-专题视频课程
  10. 20230429作业