- change all Option<Vec<_>> into Vec<_>
- add multi-channel.ome test
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "ome-metadata"
|
name = "ome-metadata"
|
||||||
version = "0.3.3"
|
version = "0.4.0"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
rust-version = "1.85.1"
|
rust-version = "1.85.1"
|
||||||
authors = ["Wim Pomp <w.pomp@nki.nl>"]
|
authors = ["Wim Pomp <w.pomp@nki.nl>"]
|
||||||
|
|||||||
@@ -48,5 +48,6 @@ mod tests {
|
|||||||
i: "beads_2023_05_04__19_00_22"
|
i: "beads_2023_05_04__19_00_22"
|
||||||
j: "20230511-p53-4x-CMV-1min-4h-01-Airyscan Processing-01"
|
j: "20230511-p53-4x-CMV-1min-4h-01-Airyscan Processing-01"
|
||||||
k: "YTL1849A131_2023_05_04__13_36_36"
|
k: "YTL1849A131_2023_05_04__13_36_36"
|
||||||
|
l: "multi-channel.ome"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
60
src/ome.rs
60
src/ome.rs
@@ -1584,30 +1584,30 @@ pub struct Ome {
|
|||||||
pub creator: Option<String>,
|
pub creator: Option<String>,
|
||||||
#[serde(rename = "Rights")]
|
#[serde(rename = "Rights")]
|
||||||
pub rights: Option<Rights>,
|
pub rights: Option<Rights>,
|
||||||
#[serde(rename = "Project")]
|
#[serde(default, rename = "Project")]
|
||||||
pub project: Option<Vec<Project>>,
|
pub project: Vec<Project>,
|
||||||
#[serde(rename = "Dataset")]
|
#[serde(default, rename = "Dataset")]
|
||||||
pub dataset: Option<Vec<Dataset>>,
|
pub dataset: Vec<Dataset>,
|
||||||
#[serde(rename = "Folder")]
|
#[serde(default, rename = "Folder")]
|
||||||
pub folder: Option<Vec<Folder>>,
|
pub folder: Vec<Folder>,
|
||||||
#[serde(rename = "Experiment")]
|
#[serde(default, rename = "Experiment")]
|
||||||
pub experiment: Option<Vec<Experiment>>,
|
pub experiment: Vec<Experiment>,
|
||||||
#[serde(rename = "Plate")]
|
#[serde(default, rename = "Plate")]
|
||||||
pub plate: Option<Vec<Plate>>,
|
pub plate: Vec<Plate>,
|
||||||
#[serde(rename = "Screen")]
|
#[serde(default, rename = "Screen")]
|
||||||
pub screen: Option<Vec<Screen>>,
|
pub screen: Vec<Screen>,
|
||||||
#[serde(rename = "Experimenter")]
|
#[serde(default, rename = "Experimenter")]
|
||||||
pub experimenter: Option<Vec<Experimenter>>,
|
pub experimenter: Vec<Experimenter>,
|
||||||
#[serde(rename = "ExperimenterGroup")]
|
#[serde(default, rename = "ExperimenterGroup")]
|
||||||
pub experimenter_group: Option<Vec<ExperimenterGroup>>,
|
pub experimenter_group: Vec<ExperimenterGroup>,
|
||||||
#[serde(rename = "Instrument")]
|
#[serde(default, rename = "Instrument")]
|
||||||
pub instrument: Option<Vec<Instrument>>,
|
pub instrument: Vec<Instrument>,
|
||||||
#[serde(rename = "Image")]
|
#[serde(default, rename = "Image")]
|
||||||
pub image: Option<Vec<Image>>,
|
pub image: Vec<Image>,
|
||||||
#[serde(rename = "StructuredAnnotations")]
|
#[serde(rename = "StructuredAnnotations")]
|
||||||
pub structured_annotations: Option<StructuredAnnotations>,
|
pub structured_annotations: Option<StructuredAnnotations>,
|
||||||
#[serde(rename = "ROI")]
|
#[serde(default, rename = "ROI")]
|
||||||
pub roi: Option<Vec<Roi>>,
|
pub roi: Vec<Roi>,
|
||||||
#[serde(rename = "BinaryOnly")]
|
#[serde(rename = "BinaryOnly")]
|
||||||
pub binary_only: Option<OmeBinaryOnly>,
|
pub binary_only: Option<OmeBinaryOnly>,
|
||||||
}
|
}
|
||||||
@@ -1812,16 +1812,16 @@ pub struct Pixels {
|
|||||||
rename = "@TimeIncrementUnit"
|
rename = "@TimeIncrementUnit"
|
||||||
)]
|
)]
|
||||||
pub time_increment_unit: UnitsTime,
|
pub time_increment_unit: UnitsTime,
|
||||||
#[serde(rename = "Channel")]
|
#[serde(default, rename = "Channel")]
|
||||||
pub channel: Option<Vec<Channel>>,
|
pub channel: Vec<Channel>,
|
||||||
#[serde(rename = "BinData")]
|
#[serde(default, rename = "BinData")]
|
||||||
pub bin_data: Option<Vec<BinData>>,
|
pub bin_data: Vec<BinData>,
|
||||||
#[serde(rename = "TiffData")]
|
#[serde(default, rename = "TiffData")]
|
||||||
pub tiff_data: Option<Vec<TiffData>>,
|
pub tiff_data: Vec<TiffData>,
|
||||||
#[serde(rename = "MetadataOnly")]
|
#[serde(rename = "MetadataOnly")]
|
||||||
pub metadata_only: Option<MetadataOnly>,
|
pub metadata_only: Option<MetadataOnly>,
|
||||||
#[serde(rename = "Plane")]
|
#[serde(default, rename = "Plane")]
|
||||||
pub plane: Option<Vec<Plane>>,
|
pub plane: Vec<Plane>,
|
||||||
}
|
}
|
||||||
impl Pixels {
|
impl Pixels {
|
||||||
pub fn default_physical_size_x_unit() -> UnitsLength {
|
pub fn default_physical_size_x_unit() -> UnitsLength {
|
||||||
|
|||||||
1
tests/multi-channel.ome.xml
Normal file
1
tests/multi-channel.ome.xml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?><OME xmlns="http://www.openmicroscopy.org/Schemas/OME/2016-06" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Creator="OME Bio-Formats 5.2.2" UUID="urn:uuid:bebd2be7-8253-4b90-be93-4df567ffe1be" xsi:schemaLocation="http://www.openmicroscopy.org/Schemas/OME/2016-06 http://www.openmicroscopy.org/Schemas/OME/2016-06/ome.xsd"><Image ID="Image:0" Name="multi-channel.ome.tif"><Pixels BigEndian="true" DimensionOrder="XYZCT" ID="Pixels:0" Interleaved="false" SignificantBits="8" SizeC="3" SizeT="1" SizeX="439" SizeY="167" SizeZ="1" Type="int8"><Channel ID="Channel:0:0" SamplesPerPixel="1"><LightPath/></Channel><Channel ID="Channel:0:1" SamplesPerPixel="1"><LightPath/></Channel><Channel ID="Channel:0:2" SamplesPerPixel="1"><LightPath/></Channel><TiffData FirstC="0" FirstT="0" FirstZ="0" IFD="0" PlaneCount="1"><UUID FileName="multi-channel.ome.tif">urn:uuid:bebd2be7-8253-4b90-be93-4df567ffe1be</UUID></TiffData><TiffData FirstC="1" FirstT="0" FirstZ="0" IFD="1" PlaneCount="1"><UUID FileName="multi-channel.ome.tif">urn:uuid:bebd2be7-8253-4b90-be93-4df567ffe1be</UUID></TiffData><TiffData FirstC="2" FirstT="0" FirstZ="0" IFD="2" PlaneCount="1"><UUID FileName="multi-channel.ome.tif">urn:uuid:bebd2be7-8253-4b90-be93-4df567ffe1be</UUID></TiffData></Pixels></Image></OME>
|
||||||
Reference in New Issue
Block a user