11个版本 (7个破坏性更新)

0.8.0 2021年3月9日
0.6.1 2020年12月20日
0.5.1 2020年11月16日

#2 in #client-instance


orthanc-cli中使用

无许可

97KB
2K SLoC

crate doc test codecov license

orthanc-rs

orthanc-rs 是一个开源的轻量级DICOM服务器 Orthanc 的 REST API 客户端。

兼容性

支持Orthanc版本1.6.x, 1.7.x, 1.8.x, 1.9.x。

安装

要使用此库,请在您的 Cargo.toml 中添加依赖项。

[dependencies]
orthanc = "0.8.0"

用法

创建API客户端实例

use orthanc::Client;
let client = Client::new("https://127.0.0.1:8042");

如果Orthanc实例启用了身份验证

client.auth("username", "password");

列出患者

client.patients();

或者以扩展格式

client.patients_expanded();

获取实例的所有DICOM标签

let instance_id = "0b62ebce-8ab7b938-e5ca1b05-04802ab3-42ee4307";
let tags = client.instance_tags(instance_id);
println!("{}", tags["PatientID"]);

下载研究

let study_id = "9357491d-427a6c94-4080b6c8-1997f4aa-af658240";
let mut file = fs::File::create("/tmp/study.zip").unwrap();
client.study_dicom(study_id, &mut file).unwrap();

尽管操作效率不高,但Orthanc允许通过REST API上传DICOM文件

let data = fs::read("/tmp/instance.dcm").unwrap();
client.upload(&data).unwrap();

请参阅 tests 目录以获取更多用法示例。

测试

orthanc-rs 由单元测试、集成测试和端到端测试覆盖。

要运行所有测试,请执行

$ make start_services && make test

以下将描述如何单独运行特定测试套件。

单元

要运行单元测试,请执行

$ make unit_test

集成

要运行单元测试,请执行

$ make integration_test

端到端

安装 docker-composejq 并执行

$ make start_services && make e2e_test

这将启动所有必要的集成测试服务,并运行测试。

测试运行期间和之后,Orthanc Web UI 可在 https://127.0.0.1:8028 上访问(用户名: orthanc,密码: orthanc)。

start_services 启动的容器在测试完成后继续运行。要停止它们,请执行

$ make stop_services

TODO

  • 实例图像(/instances/<id>/{preview,image-uint8,image-uint16}
  • 分割/合并研究(/studies/<id>/{split,merge}
  • 工具API(/tools
  • 日志API(/changes/exports
  • 异步请求(/jobs

依赖关系

~4–8.5MB
~189K SLoC