5 个版本 (3 个重大更新)
0.4.0 | 2021 年 3 月 30 日 |
---|---|
0.3.0 | 2021 年 1 月 13 日 |
0.2.0 | 2021 年 1 月 9 日 |
0.1.1 | 2020 年 12 月 20 日 |
0.1.0 | 2020 年 12 月 20 日 |
#2717 在 命令行工具
190KB
4.5K SLoC
orthanc-cli
orthanc-cli 是 Orthanc 的命令行界面,Orthanc 是一个开源、轻量级的 DICOM 服务器。
兼容性
orthanc-cli 通常支持与其底层 orthanc-rs crate 相同的 Orthanc 版本。有关详细信息,请参阅 兼容性。
安装
安装 orthanc-cli 有多种不同的方法。
自动完成
orthanc-cli 包含为 Bash、fish 和 Zsh 预建的自动完成文件。有关如何使用这些文件的信息,请参阅 此处。
配置
orthanc-cli 需要配置一些设置才能与 Orthanc 服务器通信:Orthanc 服务器地址、用户名和密码(如果服务器需要身份验证)。
Orthanc 服务器地址
可以使用 -s/--server
命令行选项设置 Orthanc 服务器地址。该选项的值是一个 HTTP(S) URL,例如 http://127.0.0.1:8042
。或者,如果您不喜欢每次调用命令时都输入该选项,您可以将环境变量 ORC_ORTHANC_SERVER
设置。
$ export ORC_ORTHANC_SERVER=http://127.0.0.1:8042
Orthanc 服务器身份验证
如果您正在使用的Orthanc服务器需要身份验证,您可以通过命令行选项提供用户名和密码:-u/--username
和 -p/--password
。类似于服务器地址,这些也可以设置为环境变量 ORC_ORTHANC_USERNAME
和 ORC_ORTHANC_PASSWORD
$ export ORC_ORTHANC_USERNAME=orthanc
$ export ORC_ORTHANC_PASSWORD=orthanc
用法
帮助
要获取使用的一般信息,运行 orthanc --help
。这将列出选项、标志和子命令
$ orthanc --help
orthanc-cli 0.4.0
Andrii Yurchuk <[email protected]>
Command-line interface for Orthanc, an open-source, lightweight DICOM server
USAGE:
orthanc [OPTIONS] <SUBCOMMAND>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-s, --server <SERVER> Orthanc server address
-u, --username <USERNAME> Orthanc username
-p, --password <PASSWORD> Orthanc password
SUBCOMMANDS:
patient Patient-level commands
study Study-level commands
series Series-level commands
instance Instance-level commands
modality Modality-level commands
help Prints this message or the help of the given subcommand(s)
每个子命令都有其自己的帮助信息
$ orthanc study --help
orthanc-study
Study-level commands
USAGE:
orthanc study <SUBCOMMAND>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
SUBCOMMANDS:
list List all studies
show Show study details
search Search for studies
anonymize Anonymize study
modify Modify study
download Download study
delete Delete study
help Prints this message or the help of the given subcommand(s)
子命令可能有嵌套的子命令,这些子命令也响应于 --help
。如果不确定,可以将 --help
添加到命令中,以查看如何使用它。
实体及其 ID
orthanc-cli 将患者、研究、系列和实例称为 实体(不要与 应用程序实体 混淆)。您可能会在文档或命令行选项或标志的名称中遇到这种命名。
与Orthanc网络界面类似,orthanc-cli 主要使用唯一标识符(ID)来引用 实体(患者、研究、系列等)。Orthanc服务器为每个实体分配一个唯一的标识符(ID),其外观类似于以下内容
22c54cb6-28302a69-3ff454a3-676b98f4-b84cd80a
例如,在研究列表中,标识符位于第一列(ID)
$ orthanc study list
ID PatientID AccessionNumber StudyInstanceUID StudyDescription StudyDate StudyTime Number of Series
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ab7a6e26-18072a37-5f2a2210-8a7f0823-f2fa9119 patient_2 REMOVED 1.3.46.670589.11.1.5.0.6560 Study 1 20110101 140606 2
cbec5098-53cd29f5-86d01e4b-c6e76386-709f00a6 patient_1 REMOVED 1.3.46.670589.11.1.5.0.7116 Study 1 20120101 130431 2
8c69229f-eba0eccb-2aa35808-e26bf10a-69375f79 patient_1 REMOVED 1.3.46.670589.11.3540642177 Study 2 20110101 084707 2
当您需要在 orthanc-cli 命令中的任何地方引用一个实体时,请使用其Orthanc ID
$ orthanc study show cbec5098-53cd29f5-86d01e4b-c6e76386-709f00a6
ID cbec5098-53cd29f5-86d01e4b-c6e76386-709f00a6
Patient ID 8be8a583-193f48d2-d9b8dd53-adc11459-e46c7c27
PatientID patient_1
StudyID 402411870
AccessionNumber REMOVED
StudyInstanceUID 1.3.46.670589.11.1.5.0.7116.2012100313043060185
StudyDescription Study 1
StudyDate 20120101
StudyTime 130431
Number of Series 2
搜索
orthanc-cli 允许在Orthanc服务器中搜索实体。您可以使用 orthanc <ENTITY> search --query <QUERY>
搜索患者、研究、系列和实例。每个命令将返回您搜索的实体列表,例如,orthanc patient search
将返回患者列表,orthanc study search
- 研究列表等。
--query
命令行选项的值是空格分隔的DICOM标签对:TagName=TagValue
。例如
$ orthanc series search --query BodyPartExamined=PINKY
ID SeriesInstanceUID SeriesDescription Modality BodyPartExamined Number of Instances
-------------------------------------------------------------------------------------------------------------------------------------------------------
33209de2-5b2e7753-9537bc4d-4bd166f6-fb48d303 1.2.276.0.7230010.3.1.3.816750 Series 1 MR PINKY 1
dab1ca97-70f554a9-c8e83dec-17216f2c-88148c44 1.2.276.0.7230010.3.1.3.816746 Series 1 MR PINKY 1
某些DICOM标签的值允许使用通配符。更多关于这个的信息 在这里。
在 StudyDescription
中的通配符使用示例
$ orthanc study search --query AccessionNumber=REMOVED StudyDescription=*1
ID PatientID AccessionNumber StudyInstanceUID StudyDescription StudyDate StudyTime Number of Series
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
342f1834-e4658a76-2f7f8dd6-5f4034dd-eee91323 patient_1 REMOVED 1.2.276.0.7230010.3.1.2.816848 Study 1 20110101 140606 2
92be942a-744ab613-d5ea8167-5b11a0c9-670f0b10 patient_1 REMOVED 1.2.276.0.7230010.3.1.2.816853 Study 1 20110101 140606 2
ab7a6e26-18072a37-5f2a2210-8a7f0823-f2fa9119 patient_2 REMOVED 1.3.46.670589.11.1.5.0.6560.20 Study 1 20110101 140606 4
匿名化和修改实体
orthanc-cli 允许修改和匿名化实体。修改需要您指定实体应如何修改,而匿名化则不需要。对于匿名化和修改,您可以使用命令行选项或配置文件来配置过程。
请注意,匿名化和修改都会创建一个被匿名化/修改的实体的副本,而不是就地更改实体。
匿名化
实体的匿名化可以带配置或不带配置地进行。如果不带配置进行,匿名化将根据 应用级保密性配置文件属性 处理DICOM标签
$ orthanc study anonymize cbec5098-53cd29f5-86d01e4b-c6e76386-709f00a6
New study ID bb8802bf-fa9621bd-e43406cf-707a3cfb-7786ec34
Patient ID 6cf95a77-4112b9d3-905c17f0-d48ee8e1-b9e6d482
要更改在匿名化期间处理特定DICOM标签的方式,您可以使用命令行选项
--replace
:指定的DICOM标签的值将被替换为指定的值--keep
:指定的DICOM标签的值将保持不变(即使它们在上表中指定为要删除)--keep-private-tags
:是否保留私有DICOM标签的值(如果省略,则删除私有DICOM标签)
上述命令行选项的使用方法如下
$ orthanc study anonymize cbec5098-53cd29f5-86d01e4b-c6e76386-709f00a6 --replace PatientName="Rick Sanchez" PatientBirthDate=19700101 --keep StudyDate StudyTime --keep-private-tags
New study ID 72b2983e-0196e005-7102f94f-4bf2161c-18d33b59
Patient ID 1209a543-256b97d2-639bebf1-c3c076e7-0b4b8a3f
如果您打算对超过一对的DICOM标签进行特殊处理,将它们全部写入命令行可能会变得不方便。为此,您可以使用匿名化配置文件。配置文件必须使用YAML格式,并可能包含以下字段(具体含义请见上方)
替换
保留
保留私有标签
示例
replace:
PatientName: Rick Sanchez
PatientBirthDate: 19700101
keep:
- StudyDate
- StudyTime
keep_private_tags: true
此类配置文件的使用方法如下
$ orthanc study anonymize cbec5098-53cd29f5-86d01e4b-c6e76386-709f00a6 --config /tmp/anonymization_conf.yml
New study ID 22fc5ba2-650a6ef5-76f78251-af82a47f-87ce33f4
Patient ID 8d8454ca-3c70d505-3d4ddced-792feac4-7c992741
修改
为了修改一个实体,您需要指定它应该如何修改。这可以通过以下命令行选项来完成
--replace
:指定的DICOM标签的值将被替换为指定的值--remove
:将移除指定的DICOM标签
上述命令行选项的使用方法如下
$ orthanc study modify cbec5098-53cd29f5-86d01e4b-c6e76386-709f00a6 --replace PatientName="Rick Sanchez" PatientBirthDate=19700101 --remove StudyDate StudyTime
New study ID 24510c21-3b10e0ac-268f7570-b8c01c22-77e19a41
Patient ID b64615f0-5cac7527-68e751f7-c22d822c-e4ff1e1d
与匿名化过程类似,如果您需要修改大量的DICOM标签,可以使用配置文件进行修改。配置文件必须使用YAML格式,并可能包含以下字段
替换
移除
示例
replace:
PatientName: Rick Sanchez
PatientBirthDate: 19700101
remove:
- StudyDate
- StudyTime
此类配置文件的使用方法如下
$ orthanc study modify cbec5098-53cd29f5-86d01e4b-c6e76386-709f00a6 --config /tmp/modification_conf.yml
New study ID db0a9bc8-7b0362ca-f361c32b-ba62bfd2-44ff849b
Patient ID 8be8a583-193f48d2-d9b8dd53-adc11459-e46c7c27
依赖
~8–13MB
~268K SLoC