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

14 KiB
Raw Permalink Blame History

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 []

插件的目录

"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 压缩以提高网络带宽利用率

支持gzipdeflate 编码。

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 文件的默认编码没有 SpecificCharacterSetDICOM 标签,指定 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 设备的列表的,每个设备需要指定:

  1. 一个符号名称AET应用实体标题
  2. IP 地址
  3. 端口号

这样就可以通过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

如果此选项设置为falseOrthanc 将仅在索引中运行模式。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/Civetwebrequest_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又名WADOAPI
    "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存储插件。如果设置为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容器数据库密码
}