config | ||
.env | ||
.gitignore | ||
docker-compose.yml | ||
README.md |
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 文件进行压缩的。如果这个属性设置为 true,Orthanc 会在存储 DICOM 文件之前,使用 gzip 算法对它们进行压缩,以节省磁盘空间。如果这个属性设置为 false,Orthanc 不会对 DICOM 文件进行压缩,而是保持它们的原始传输语法
MaximumStorageSize
存储大小限制,0
代表不限制
MaximumPatientCount
在给定时间可以存储的最大患者数量,0
代表不限制
LuaScripts []
可以嵌入到 Orthanc 中的脚本语言,它可以用来定制 Orthanc 的行为和逻辑,以适应特定的医疗工作流程。你可以使用 lua 脚本来实现以下功能:
- 响应 Orthanc 的各种事件,例如接收到 DICOM 实例、提交了一个任务、完成了一个任务等。
- 过滤或修改传入的 DICOM 实例或 REST 请求,例如删除敏感信息、添加元数据、转换传输语法等。
- 调用 Orthanc 的 REST API 或其他外部服务,例如发送邮件、通知、日志等。
- 实现自定义的插件或扩展,例如增加新的 REST 端点、提供新的功能或界面等。
Plugins []
插件的目录
"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
需要输入的账号密码,如果为 {}
,直接访问
"RegisteredUsers": {
// 用户1
"demo": "demo",
// 用户2
"hm": "27516120"
},
DicomModalities
用来配置已知的 DICOM 设备的列表的,每个设备需要指定:
- 一个符号名称,AET(应用实体标题)
- IP 地址
- 端口号
这样就可以通过DICOM commands (C-ECHO,C-STORE, C-FIND, C-MOVE...)
与这些设备进行 DICOM 通信。
"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 协议与这些服务器进行资源的发送和接收。
"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 客户端身份验证时的智能卡
"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(值表示)和名称。
"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
"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(又名WADO)API
"Ssl": false, // ssl 开启
"QidoCaseSensitive": true, // 对于QIDO-RS服务器,搜索是否区分大小写(自版本0.5起)
"Host": "localhost", // WADO-RS请求的 host
"StudiesMetadata": "Full", // 如何检索 研病例级元数据
"SeriesMetadata": "Full" // 如何检 索序列级元数据
}
PostgreSQL
"PostgreSQL": {
"EnableIndex": true,
"EnableStorage": true, // 启用或禁用PostgreSQL存储插件。如果设置为true,Orthanc将把它接收到的DICOM文件存储为PostgreSQL数据库中的大对象。如果设置为false,Orthanc将继续使用默认的文件系统存储区域。对应的是 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容器数据库密码
}