Skip to content

feat(czi): extract instrument-metadata block (objective + acquisition + channels) into audit + OME-XML — replaces #54 #63

Description

@ferrinm

What to build

Broader-scope replacement for #54. Populate the full instrument-metadata surface on the CZI reader path so CZI conversions carry the same audit / OME-XML richness as LIF does after #52 + #62.

Scope

Extract all of the following per scene (or per file where the ADR places them) from a CZI file — src/zarrmony/readers/czi.py and the bioio-czi surface it wraps:

  1. Objective (originally feat(czi): extract objective lens metadata into audit + OME-XML #54): nominal_magnification, numerical_aperture, immersion, model, working_distance_um. Source: ImageDocument/Metadata/Information/Instrument/Objectives. Populate per_scene[i].objective and the OME-XML <Instrument>/<Objective> + per-image <ObjectiveSettings>.
  2. Acquisition + instrument (new from feat(lif): extract per-scene acquisition/instrument block (date, microscope, imaging_method) into audit + inspect #62): acquisition_date, microscope_model, microscope_serial, imaging_method. Source: ImageDocument/Metadata/Information/Image/AcquisitionDateAndTime and .../Instrument/Microscopes. Populate per_scene[i].acquisition (or the ADR-chosen block name).
  3. Channels (from feat(audit): store per-scene channel identity (dye/fluor/excitation/emission) across all reader paths #61): project reader.ome_metadata.images[0].pixels.channels into per_scene[i].channels with the ADR-locked shape.

Implementation notes

Acceptance criteria

Blocked by

Replaces

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestready-for-agentTriaged and ready for an agent to implement

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions