first commit
This commit is contained in:
commit
33c139cc30
21
.env
Normal file
21
.env
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
#
|
||||||
|
# Orthanc 相关
|
||||||
|
#
|
||||||
|
|
||||||
|
# 挂载 orthanc.json 配置文件
|
||||||
|
ORTHANC_CONFIG=./config/orthanc.json
|
||||||
|
# 挂载 到本地的 dicom 文件存储,需要关闭数据库插件存储,在 orthanc.json 配置 PostgreSQL->EnableStorage 设为 false
|
||||||
|
ORTHANC_DB_MNT=./orthanc_db
|
||||||
|
|
||||||
|
#
|
||||||
|
# PostgreSQL 配置
|
||||||
|
#
|
||||||
|
|
||||||
|
# 数据库文件 挂在到本地位置
|
||||||
|
POSTGRES_DATA_MNT=./pg_data/data
|
||||||
|
# 数据库文件 在容器里的路径
|
||||||
|
PGDATA=/var/lib/postgresql/data
|
||||||
|
POSTGRES_DB=orthanc
|
||||||
|
POSTGRES_PORT=5432
|
||||||
|
POSTGRES_USER=orthanc
|
||||||
|
POSTGRES_PASSWORD=orthanc
|
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
orthanc_db/*
|
||||||
|
pg_data/*
|
477
README.md
Normal file
477
README.md
Normal file
|
@ -0,0 +1,477 @@
|
||||||
|
# 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 []
|
||||||
|
|
||||||
|
插件的目录
|
||||||
|
|
||||||
|
```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(又名WADO)API
|
||||||
|
"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存储插件。如果设置为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容器数据库密码
|
||||||
|
}
|
||||||
|
```
|
97
config/orthanc.json
Normal file
97
config/orthanc.json
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
{
|
||||||
|
"Name": "DICOM PACS",
|
||||||
|
"StorageDirectory": "/var/lib/orthanc/db",
|
||||||
|
// "IndexDirectory": "",
|
||||||
|
"StorageCompression": true,
|
||||||
|
"MaximumStorageSize": 0,
|
||||||
|
"MaximumPatientCount": 0,
|
||||||
|
"LuaScripts": [],
|
||||||
|
"Plugins": [
|
||||||
|
"/usr/share/orthanc/plugins"
|
||||||
|
],
|
||||||
|
"ConcurrentJobs": 0,
|
||||||
|
"HttpServerEnabled": true,
|
||||||
|
"HttpPort": 8042,
|
||||||
|
"HttpDescribeErrors": true,
|
||||||
|
"HttpCompressionEnabled": true,
|
||||||
|
"DicomServerEnabled": true,
|
||||||
|
"DicomAet": "DICOM-ORTHANC",
|
||||||
|
"DicomCheckCalledAet": false,
|
||||||
|
"DicomPort": 4242,
|
||||||
|
"DefaultEncoding": "Utf8",
|
||||||
|
"DeflatedTransferSyntaxAccepted": true,
|
||||||
|
"JpegTransferSyntaxAccepted": true,
|
||||||
|
"Jpeg2000TransferSyntaxAccepted": true,
|
||||||
|
"JpegLosslessTransferSyntaxAccepted": true,
|
||||||
|
"JpipTransferSyntaxAccepted": true,
|
||||||
|
"Mpeg2TransferSyntaxAccepted": true,
|
||||||
|
"RleTransferSyntaxAccepted": true,
|
||||||
|
"UnknownSopClassAccepted": false,
|
||||||
|
"DicomScpTimeout": 30,
|
||||||
|
"RemoteAccessAllowed": true,
|
||||||
|
"SslEnabled": false,
|
||||||
|
"SslCertificate": "certificate.pem",
|
||||||
|
"AuthenticationEnabled": false,
|
||||||
|
"RegisteredUsers": {},
|
||||||
|
"DicomModalities": {},
|
||||||
|
"DicomModalitiesInDatabase": false,
|
||||||
|
"DicomAlwaysAllowEcho": true,
|
||||||
|
"DicomAlwaysAllowStore": true,
|
||||||
|
"DicomCheckModalityHost": false,
|
||||||
|
"DicomScuTimeout": 10,
|
||||||
|
"OrthancPeers": {},
|
||||||
|
"OrthancPeersInDatabase": false,
|
||||||
|
"HttpProxy": "",
|
||||||
|
"HttpVerbose": false,
|
||||||
|
"HttpTimeout": 60,
|
||||||
|
"HttpsVerifyPeers": true,
|
||||||
|
"HttpsCACertificates": "",
|
||||||
|
"UserMetadata": {},
|
||||||
|
"UserContentType": {},
|
||||||
|
"StableAge": 60,
|
||||||
|
"StrictAetComparison": false,
|
||||||
|
"StoreMD5ForAttachments": true,
|
||||||
|
"LimitFindResults": 0,
|
||||||
|
"LimitFindInstances": 0,
|
||||||
|
"LimitJobs": 20,
|
||||||
|
"LogExportedResources": false,
|
||||||
|
"KeepAlive": true,
|
||||||
|
"TcpNoDelay": true,
|
||||||
|
"HttpThreadsCount": 50,
|
||||||
|
"StoreDicom": true,
|
||||||
|
"DicomAssociationCloseDelay": 5,
|
||||||
|
"QueryRetrieveSize": 100,
|
||||||
|
"CaseSensitivePN": false,
|
||||||
|
"LoadPrivateDictionary": true,
|
||||||
|
"Locale": "en_US.UTF-8",
|
||||||
|
"Dictionary": {},
|
||||||
|
"SynchronousCMove": true,
|
||||||
|
"JobsHistorySize": 10,
|
||||||
|
"SaveJobs": true,
|
||||||
|
"OverwriteInstances": false,
|
||||||
|
"MediaArchiveSize": 1,
|
||||||
|
"StorageAccessOnFind": "Always",
|
||||||
|
"MetricsEnabled": true,
|
||||||
|
"ExecuteLuaEnabled": false,
|
||||||
|
"HttpRequestTimeout": 30,
|
||||||
|
"DicomWeb": {
|
||||||
|
"Enable": true,
|
||||||
|
"Root": "/dicom-web/",
|
||||||
|
"EnableWado": true,
|
||||||
|
"WadoRoot": "/wado",
|
||||||
|
"Ssl": false,
|
||||||
|
"QidoCaseSensitive": true,
|
||||||
|
"Host": "localhost",
|
||||||
|
"StudiesMetadata": "Full",
|
||||||
|
"SeriesMetadata": "Full"
|
||||||
|
},
|
||||||
|
"PostgreSQL": {
|
||||||
|
"EnableIndex": true,
|
||||||
|
"EnableStorage": false,
|
||||||
|
"Host": "postgres",
|
||||||
|
"Port": 5432,
|
||||||
|
"Database": "orthanc",
|
||||||
|
"Username": "orthanc",
|
||||||
|
"Password": "orthanc"
|
||||||
|
}
|
||||||
|
}
|
48
docker-compose.yml
Normal file
48
docker-compose.yml
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
version: '3.6'
|
||||||
|
|
||||||
|
services:
|
||||||
|
orthanc:
|
||||||
|
image: osimis/orthanc:20.11.2
|
||||||
|
container_name: orthanc
|
||||||
|
depends_on:
|
||||||
|
- postgres
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- '8042:8042'
|
||||||
|
- '4242:4242'
|
||||||
|
volumes:
|
||||||
|
# 挂载orthanc.json配置
|
||||||
|
- ${ORTHANC_CONFIG}:/etc/orthanc/orthanc.json:ro
|
||||||
|
# 不使用 postgre 存储 dicom,挂载出来到 ${ORTHANC_DB_MNT},更健康
|
||||||
|
- ${ORTHANC_DB_MNT}:/var/lib/orthanc/db
|
||||||
|
environment:
|
||||||
|
- DICOM_WEB_PLUGIN_ENABLED=true
|
||||||
|
- POSTGRESQL_PLUGIN_ENABLED=true
|
||||||
|
- TZ=Asia/Shanghai
|
||||||
|
command: /etc/orthanc/orthanc.json
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "800m"
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
image: postgres:13.1
|
||||||
|
container_name: postgres
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- '5432:5432'
|
||||||
|
volumes:
|
||||||
|
# postgrel->data 挂载出来
|
||||||
|
- ${POSTGRES_DATA_MNT}:${PGDATA}
|
||||||
|
environment:
|
||||||
|
- PGDATA=${PGDATA}
|
||||||
|
- POSTGRES_DB=${POSTGRES_DB}
|
||||||
|
- POSTGRES_USER=${POSTGRES_USER}
|
||||||
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||||||
|
- TZ=Asia/Shanghai
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "800m"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user