This commit is contained in:
Wim Pomp
2025-04-28 20:38:21 +02:00
parent b5e583f760
commit 2c5e1ffa9e
21 changed files with 28545 additions and 0 deletions

51
src/lib.rs Normal file
View File

@@ -0,0 +1,51 @@
#![allow(non_camel_case_types)]
pub mod ome;
#[cfg(feature = "python")]
mod py;
use anyhow::{Error, Result};
pub use ome::Ome;
use quick_xml::de::from_str;
use std::str::FromStr;
impl FromStr for Ome {
type Err = Error;
fn from_str(s: &str) -> Result<Self> {
Ok(from_str(s)?)
}
}
#[cfg(test)]
mod tests {
use super::*;
use std::fs::read_to_string;
macro_rules! test_read {
($($name:ident: $file:expr $(,)?)*) => {
$(
#[test]
fn $name() -> Result<()> {
let file = read_to_string(format!("tests/{}.xml", $file))?;
let _ome: Ome = file.parse()?;
Ok(())
}
)*
};
}
test_read!(
a: "YTL1849A111_2023_05_04__14_46_19_cellnr_1_track"
b: "Experiment-2029"
c: "test"
d: "4-Pos_001_002"
e: "YTL1841B2-2-1_1hr_DMSO_galinduction_1"
f: "1xp53-01-AP1"
g: "YTL378_JF552"
h: "MK022_cE9_1-01-Airyscan Processing-01-Scene-2-P1"
i: "beads_2023_05_04__19_00_22"
j: "20230511-p53-4x-CMV-1min-4h-01-Airyscan Processing-01"
k: "YTL1849A131_2023_05_04__13_36_36"
);
}