docker-orthanc/README.md
2023-04-26 10:58:17 +08:00

478 lines
14 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# orthanc.json 配置说明
## Name
显示在 Orthanc web 服务的 header 文字
## StorageDirectory
> EnableStorage 为 true 的话,默认是用数据库插件的路径存储。
用来指定 Orthanc 存储 DICOM 文件的目录的,它不仅针对 sqlite也针对其他数据库插件例如 PostgreSQL 或 MySQL。但是如果使用了数据库插件你也可以配置它们把 DICOM 文件存储在数据库中,而不是在 StorageDirectory 指定的目录中
## IndexDirectory
用来指定 Orthanc 存储 SQLite 索引的目录,如果没设置,默认使用 `StorageDirectory` 的值,可以优化性能
## TemporaryDirectory
临时文件夹,可以被安全的删除,
- UNIX-like: "/tmp/Orthanc/
- windows: "C:/Temp"
## StorageCompression
用来指定 Orthanc 是否对 DICOM 文件进行压缩的。如果这个属性设置为 trueOrthanc 会在存储 DICOM 文件之前,使用 gzip 算法对它们进行压缩,以节省磁盘空间。如果这个属性设置为 falseOrthanc 不会对 DICOM 文件进行压缩,而是保持它们的原始传输语法
## MaximumStorageSize
存储大小限制,`0`代表不限制
## MaximumPatientCount
在给定时间可以存储的最大患者数量,`0`代表不限制
## LuaScripts []
可以嵌入到 Orthanc 中的脚本语言,它可以用来定制 Orthanc 的行为和逻辑,以适应特定的医疗工作流程。你可以使用 lua 脚本来实现以下功能:
- 响应 Orthanc 的各种事件,例如接收到 DICOM 实例、提交了一个任务、完成了一个任务等。
- 过滤或修改传入的 DICOM 实例或 REST 请求,例如删除敏感信息、添加元数据、转换传输语法等。
- 调用 Orthanc 的 REST API 或其他外部服务,例如发送邮件、通知、日志等。
- 实现自定义的插件或扩展,例如增加新的 REST 端点、提供新的功能或界面等。
## Plugins []
插件的目录
```json
"Plugins": ["/usr/share/orthanc/plugins"]
```
## ConcurrentJobs
> Orthanc <= 1.3.2 ,请设为 1
用来指定 Orthanc 可以同时运行的任务jobs的最大数量的。任务是一种可以在 Orthanc 中执行的长时间操作,例如转码、导出、修改、删除等。你可以通过 REST API 来创建、查询、取消或删除任务。ConcurrentJobs 属性可以控制 Orthanc 的并发性能和资源消耗,你可以根据你的硬件配置和工作负载来调整这个属性
- 设置为 `0`,使用全部的 CPU 核心
## HttpServerEnabled
如果此参数设置为“false”禁用 REST API。默认 Orthanc 充当纯粹的 DICOM 服务器。
## HttpPort
REST API 服务 web 界面端口
## HttpDescribeErrors
当以下选项为`true`时,如果遇到错误在调用 REST API 时,一条描述错误的 JSON 消息放在 HTTP 响应中
## HttpCompressionEnabled
启用 HTTP 压缩以提高网络带宽利用率
支持`gzip`和`deflate` 编码。
## DicomServerEnabled
启用 DICOM 服务器。如果此参数设置为“false”Orthanc 充当纯粹的 REST 服务器。不能接收文件或通过 DICOM 协议进行查询/检索。
## DicomAet
> Aet:Application Entity Title
用来标识 DICOM 网络节点的字符串,它在 DICOM 通信中起到了类似于 IP 地址或域名的作用。
## DicomCheckCalledAet
用来指定 Orthanc 是否检查传入的 DICOM 连接的应用实体标题Application Entity Title的。
如果这个属性设置为:
- true接受与 `DicomAet` 属性相同的连接
- false接受全部连接
## DicomPort
DICOM 服务器的端口
## DefaultEncoding
> 推荐设置 Utf8 || Chinese
假设的 DICOM 文件的默认编码没有 `SpecificCharacterSet`DICOM 标签,指定 Orthanc 的默认字符编码
- Ascii
- Utf8
- Latin1
- Latin2
- Latin3
- Latin4
- Latin5
- Cyrillic: 西里尔字母
- Windows1251
- Arabic: 阿拉伯语
- Greek: 希腊语
- Hebrew: 希伯来语
- Thai
- Japanese
- Chinese
- JapaneseKanji
- Korean
- SimplifiedChinese: 简体中文
## DeflatedTransferSyntaxAccepted
> Deflated 压缩是一种基于 Zlib 的无损压缩算法,可以减少 DICOM 文件的大小
用来控制是否接受 `Deflated` 压缩的 DICOM 文件
## JpegTransferSyntaxAccepted
用来控制是否接受 JPEG 压缩的 DICOM 文件
## JpegLosslessTransferSyntaxAccepted
用来控制是否接受 JPEG 无损压缩的 DICOM 文件
## JpipTransferSyntaxAccepted
> JPIP 是一种基于网络的交互式图像传输协议,可以实现图像的渐进式加载和区域访问
控制是否接受 JPIP 压缩的 DICOM 文件
## Mpeg2TransferSyntaxAccepted
> MPEG-2 是一种用于视频和音频的压缩标准,可以实现高质量的多媒体传输
用来控制是否接受 `MPEG-2` 压缩的 DICOM 文件
## RleTransferSyntaxAccepted
> RLE 是一种无损压缩算法,可以减少 DICOM 文件的大小
是否接受 RLE 压缩的 DICOM 文件
## UnknownSopClassAccepted
> SOP 类是一种定义了 DICOM 服务类型和信息对象类型的标识符
用来控制是否接受未知的存储 SOP 类的 DICOM 文件
## DicomScpTimeout
作为 C-Store SCP 传输超时设计
## RemoteAccessAllowed
用来控制是否允许远程主机连接到 HTTP 服务器
## SslEnabled
是否启用 SSL 加密
## SslCertificate
指定 SSL 证书的路径
## AuthenticationEnabled
> 设为 false 无需密码登录
是否启用`用户名密码`登录。从 Orthanc 1.5.8 开始,默认启用,需要开启`RemoteAccessAllowed`
## RegisteredUsers
访问 `8042 web`需要输入的账号密码,如果为 `{}`,直接访问
```json
"RegisteredUsers": {
// 用户1
"demo": "demo",
// 用户2
"hm": "27516120"
},
```
## DicomModalities
用来配置已知的 DICOM 设备的列表的,每个设备需要指定:
1. 一个符号名称AET应用实体标题
2. IP 地址
3. 端口号
这样就可以通过`DICOM commands (C-ECHO,C-STORE, C-FIND, C-MOVE...)`与这些设备进行 DICOM 通信。
```json
"demo": [
"HM-ORTHANC",
"192.168.1.126",
4242
],
"ohif" : [ "OHIFDCM", "viewer", 3000 ]
```
## DicomModalitiesInDatabase
是否将 DICOM 模式存储在 Orthanc 数据库中而不是在此配置文件中Orthanc 1.5.0 中的新增)
## DicomAlwaysAllowEcho
Orthanc SCP 是否允许传入的 `C-Echo` 请求,只有`Orthanc 1.3.0`默认为 false
## DicomAlwaysAllowStore
Orthanc SCP 是否允许传入的 `C-Store` 请求
## DicomCheckModalityHost
Orthanc 是否检查远程的 IP/主机名地址,启动 DICOM 连接的模式
## DicomScuTimeout
远程 DICOM SCP服务器没有回答的超时就关闭单位 `seconds`
# OrthancPeers
用来配置已知的 Orthanc 服务器的列表的,每个服务器需要指定一个符号名称,以及其基本 URL可能还需要用户名和密码如果该服务器启用了密码保护的话。可以通过 HTTP/HTTPS 协议与这些服务器进行资源的发送和接收。
```json
"OrthancPeers": {
"peer" : [ "http://127.0.0.1:8043/", "alice", "alicePassword" ]
"peer2" : [ "http://127.0.0.1:8044/" ]
"peer3" : {
"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
}
},
```
## OrthancPeersInDatabase
是否将`peers`存在数据库中
## HttpProxy
网络访问受限的情况下,可以使用 配置 http 代理
## HttpVerbose
是否在日志中显示 Orthanc 发出的 HTTP 请求的详细信息的
## HttpTimeout
http 服务请求超时时间,单位 `seconds`
## HttpsVerifyPeers
`peers`在 http 通信过程中 是否校验`ssl证书`
## HttpsCACertificates
`peers` 通信证书的路径,证书必须采用 PEM 格式,基于 Debian 的系统,此选项可以设置为`/etc/ssl/certs/ca-certificates.crt`
## UserMetadata
用来定义用户自定义元数据的字典,将一个介于 1024 和 65535 之间的数字映射到一个唯一的字符串。这个选项可以用于为 DICOM 资源添加一些额外的信息,例如患者的电话号码或者检查的费用
## UserContentType
`MIME`限制
## StableAge
定义一个 DICOM 资源被认为是稳定的所需的最小生命周期(以`秒`为单位)
## StrictAetComparison
避免在资源还在接收过程中就被处理或者导出。`Aet`名称严格要求`大小写`相同
## StoreMD5ForAttachments
> 默认为 true
是否为每个附件计算并存储 MD5 校验,检测附件是否被篡改或者损坏,但是会增加一些存储空间和计算时间的开销
## LimitFindResults
> 默认为 0不限制
响应 `C-Find` 请求时返回的最大结果数
## LimitFindInstances
> 默认为 0不限制
响应 `C-Find` 请求时返回的最大实例数
## LimitJobs
> 可以用于控制 Orthanc 的并发性能,但是也会增加内存和 CPU 的消耗
给定时间同时运行的最大处理任务数的,如果设置为 0则表示使用所有可用的 CPU 逻辑核心。
## LogExportedResources
LogExportedResources 参数是用来控制是否在日志中记录导出到其他 DICOM 设备或者 Orthanc 节点的资源的
## KeepAlive
用来控制是否启用 HTTP 长连接的,这个选项可以用于提高 HTTP 通信的效率,但是也会占用更多的网络资源
## TcpNoDelay
是否禁用 TCP 延迟算法,如果设置为 true则表示禁用
## HttpThreadsCount
> 这个选项可以用于控制 Orthanc 的并发性能,但是也会增加内存和 CPU 的消耗
用来控制处理 HTTP 请求的线程数的,如果设置为 0则表示使用所有可用的 CPU 逻辑核心。
## StoreDicom
如果此选项设置为`false`Orthanc 将仅在索引中运行模式。DICOM 文件不会存储在驱动器上。
> 此选项可能会阻止升级到较新版本的 Orthanc
## DicomAssociationCloseDelay
> 避免过早地关闭 DICOM 关联,导致一些设备无法发送后续的 DICOM 文件
在没有收到进一步的 `DIMSE` 命令后Orthanc 作为 C-Store SCP 关闭 DICOM 关联的延迟时间(以秒为单位)
## QueryRetrieveSize
查询/检索 DICOM 请求的最大数量
## CaseSensitivePN
> 默认情况下,搜索是不区分大小写
处理 C-Find SCP 请求时,将此标志设置为`true`,将为 PN 值表示启用区分大小写的匹配(如患者姓名)。
## Pkcs11
硬件安全模块HSM进行 HTTPS 客户端身份验证时的智能卡
```json
"Pkcs11": {
"Module" : "/usr/local/lib/libbeidpkcs11.so",
"Module" : "C:/Windows/System32/beidpkcs11.dll",
"Pin" : "1234",
"Verbose" : true
}
```
## LoadPrivateDictionary
> 以用于避免与用户自定义的私有 DICOM 标签冲突,但是也会导致一些私有 DICOM 标签无法识别
是否加载 Orthanc 自带的私有 DICOM 标签字典的
## Locale
> 可以用于支持不同语言和字符集的人名,但是也会影响排序和检索的结果
指定 Orthanc 使用的区域设置的目前只用于比较人名PN类型的 DICOM 标签。
## Dictionary
> 可以用于扩展 Orthanc 支持的 DICOM 标签,但是也要注意避免与现有的 DICOM 标准或者私有字典冲突
定义用户自定义的 DICOM 标签字典的,每个条目必须将一个十六进制的标签编号映射到一个字符串,表示该标签的 VR值表示和名称。
```json
"Dictionary": {
"0008,0005": ["SpecificCharacterSet", "GB18030", 1, 1]
"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" ]
}
```
## SynchronousCMove
是否同步运行 DICOM C-Move 操作
## JobsHistorySize
保存在内存中的已完成作业的最大数量
## SaveJobs
> 默认 true
是否将作业保存到 Orthanc 数据库中。挂起/正在运行/完成的作业是如果 Orthanc 停止,则自动从数据库重新加载然后`重新启动`
## OverwriteInstances
> 默认 false不覆盖
指定 Orthanc 在接收 DICOM 实例,是否覆盖
## MediaArchiveSize
ZIP/媒体档案的最大数量
## StorageAccessOnFind
> 默认 Always允许 Orthanc 在需要时立即读取存储区域
C-FIND 期间,指定 Orthanc 如何访问存储的性能设置
## MetricsEnabled
是否启用 `Prometheus` 兼容的指标接口的,如果设置为 true则表示启用。用于监控 Orthanc 的运行状态和性能,但是也会增加一些内存和 CPU 的消耗
## ExecuteLuaEnabled
> 默认情况下禁用
是否启用了对 URI`/tools/execute-script`的调用。Orthanc 1.5.8,出于安全考虑
## HttpRequestTimeout
以秒为单位设置 HTTP 请求的超时,这个参数对应于 `Mongoose/Civetweb``request_timeout_ms` 也有影响
## DicomWeb
```json
"DicomWeb":{
"Enable": true, // 是否开启 Enable
"Root": "/dicom-web/", // DICOMweb API的根URI适用于QIDO-RS、STOW-RS和WADO-RS
"EnableWado": true, // 是否启用WADO-URI以前称为WADO支持
"WadoRoot": "/wado", // WADO-URI的根URI又名WADOAPI
"Ssl": false, // ssl 开启
"QidoCaseSensitive": true, // 对于QIDO-RS服务器搜索是否区分大小写自版本0.5起)
"Host": "localhost", // WADO-RS请求的 host
"StudiesMetadata": "Full", // 如何检索 研病例级元数据
"SeriesMetadata": "Full" // 如何检 索序列级元数据
}
```
## PostgreSQL
```json
"PostgreSQL": {
"EnableIndex": true,
"EnableStorage": true, // 启用或禁用PostgreSQL存储插件。如果设置为trueOrthanc将把它接收到的DICOM文件存储为PostgreSQL数据库中的大对象。如果设置为falseOrthanc将继续使用默认的文件系统存储区域。对应的是 StorageDirectory属性的路径也就是DICOM文件存储在/var/lib/orthanc/db/ 里
"Host": "postgres", // PostgreSQL容器的host对应 docker 的 container_name
"Port": 5432, // PostgreSQL容器服务的端口
"Database": "orthanc", // PostgreSQL容器数据库名称
"Username": "orthanc", // PostgreSQL容器数据库用户名
"Password": "orthanc" // PostgreSQL容器数据库密码
}
```