Skip to content

Readout

Readout operations consume container state and produce structured data results.

Readout families:

FamilyPurpose
img(...)Image/optical readout.
ecp(...)Electrochemical/chemical-property readout.
phy(...)Physical measurement readout.

Physical Readout

Example from the public environment/readout file:

text
let obs = phy(sample = reactor, quantity = temperature);

Readout operations are data-producing steps. They should not be understood as material mutations.

Shared Shape

The three readout families share this pattern:

text
let obs = family(sample = container_or_group, quantity = quantity_name);

For complex or custom result shapes, use schema_ref with a declared data_schema(...).

text
let schema = data_schema(label = "GelImage", fields = [band_count, signal]);
let obs = img(sample = lane, quantity = customized, schema_ref = schema);

schema_ref is required when quantity = customized.

img(...)

text
let obs = img(sample = diluted_mix, quantity = fluorescence);

img quantities:

QuantityMeaning
uv_absorbanceUV/absorbance readout.
fluorescenceFluorescence readout.
colorimetricColorimetric readout.
customizedCustom image/readout shape; requires schema_ref.

ecp(...)

text
let obs = ecp(sample = tube, quantity = ph);

ecp quantities:

QuantityMeaning
phpH.
conductivityConductivity.
dissolved_oxygenDissolved oxygen.
orpOxidation-reduction potential.
customizedCustom electrochemical result; requires schema_ref.

phy(...)

text
let obs = phy(sample = reactor, quantity = temperature);

phy quantities:

QuantityMeaning
temperatureTemperature.
pressurePressure.
flow_rateFlow rate.
massMass.
volumeVolume.
humidityHumidity.
currentElectrical current response; may use schema_ref.
customizedCustom physical result; requires schema_ref.

Return Shape

Single-container input returns a data_ref.

Group input returns a data_group_ref aligned with the input group order.

Readout results are structured information references. They are not containers, and indexing a single data_ref as if it were a group is a semantic error.

Raw Artifacts

Readout calls may use save_raw = true.

text
let obs = img(sample = lane, quantity = customized, schema_ref = schema, save_raw = true);

Raw artifacts are associated with the result. They do not replace the structured result fields.

Released under the Apache-2.0 license.