17个版本

0.7.1 2024年8月13日
0.7.0 2024年4月25日
0.6.3 2023年11月21日
0.6.0 2023年7月23日
0.1.0 2019年8月31日

#82 in 图像

Download history 322/week @ 2024-05-04 726/week @ 2024-05-11 609/week @ 2024-05-18 581/week @ 2024-05-25 433/week @ 2024-06-01 359/week @ 2024-06-08 274/week @ 2024-06-15 342/week @ 2024-06-22 479/week @ 2024-06-29 283/week @ 2024-07-06 128/week @ 2024-07-13 258/week @ 2024-07-20 435/week @ 2024-07-27 275/week @ 2024-08-03 781/week @ 2024-08-10 557/week @ 2024-08-17

2,094 每月下载量
7 个crate中(6个直接) 使用

MIT/Apache

3MB
45K SLoC

DICOM-rs

CratesIO Documentation

dicom 是一个用于 DICOM 标准的库。它是 DICOM-rs 项目的组成部分,该项目是一个为符合DICOM系统的模块和工具的生态系统。

这个集合提供了一个纯Rust实现的DICOM标准,使用户能够通过文件和其他来源读取和写入DICOM数据,同时保持本质上的高效、快速、直观和安全。

作为库使用

此crate通过 object 模块直接公开 dicom-object crate,该模块具有读取、写入和操作DICOM对象的高级API。完整库的其他关键组件也包含在这个crate中,尽管它们代表不同的抽象级别。

以下是一个使用示例。有关更多详细信息,请访问 dicom-object 文档完整库文档

use dicom::core::Tag;
use dicom::object::{open_file, Result};

let obj = open_file("0001.dcm")?;
let patient_name = obj.element_by_name("PatientName")?.to_str()?;
let modality = obj.element_by_name("Modality")?.to_str()?;
let pixel_data_bytes = obj.element(Tag(0x7FE0, 0x0010))?.to_bytes()?;

Cargo功能

此crate默认启用基于清单的传输语法注册,允许无缝集成额外的传输语法,而无需更改应用程序。在不支持此功能的环境中,可以禁用该功能。有关更多信息,请参阅 dicom-transfer-syntax-registry 的文档。

以下根模块由默认启用的Cargo功能支持

  • ul:DICOM上层协议库
  • pixeldata:像素数据抽象库。Cargo功能 imagendarraydicom-pixeldata 中重新导出,并且可以通过父crate随时启用。

如果您不打算使用这些模块,您可以相应地禁用这些功能。

依赖关系

~8–20MB
~264K SLoC