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
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-compose 和 jq 并执行
$ 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