2个不稳定版本
使用旧的Rust 2015
0.2.0 | 2018年10月31日 |
---|---|
0.1.0 | 2018年10月24日 |
#30 在 #dicom
1MB
296 代码行
dicom_dictionary_parser
DICOM标准第6部分中定义的各种元素解析的Rust库。
完整文档可在此处找到。
用法
将此添加到您的 'Cargo.toml'
[dependencies]
dicom_dictionary_parser = "0.1.0"
并将此添加到您的crate根目录
extern crate dicom_dictionary_parser;
lib.rs
:
提供对DICOM第6部分中定义的各种表格的元素访问的库。目前提供以下表格的访问
- "DICOM数据元素注册表"
- "DICOM文件元数据注册表"
- "DICOM目录结构元素注册表"
- "DICOM唯一标识符(UIDs)注册表"
示例 - 将数据元素写入文件
extern crate dicom_dictionary_parser as dict_parser;
use std::fs::File;
use std::io::BufWriter;
use std::io::Write;
fn main() -> Result<(), Box<::std::error::Error>> {
let parser = dict_parser::Parser::new()?;
let data_elements = parser.parse_data_element_registry()?;
let file = File::create("dictionary.rs")?;
let mut buf_writer = BufWriter::new(file);
for data_element in data_elements {
let upper_case_keyword = data_element
.keyword
.replace("\u{200b}", "")
.replace("__", "_")
.to_uppercase();
buf_writer.write_all(
format!(
"const {}: Tag = Tag(0x{}, 0x{});\n",
upper_case_keyword,
&data_element.tag[1..5],
&data_element.tag[6..10])
.as_bytes())?;
}
Ok(())
}
依赖项
~20MB
~435K SLoC