Readout
Readout operations consume container state and produce structured data results.
Readout families:
| Family | Purpose |
|---|---|
img(...) | Image/optical readout. |
ecp(...) | Electrochemical/chemical-property readout. |
phy(...) | Physical measurement readout. |
Physical Readout
Example from the public environment/readout file:
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:
let obs = family(sample = container_or_group, quantity = quantity_name);For complex or custom result shapes, use schema_ref with a declared data_schema(...).
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(...)
let obs = img(sample = diluted_mix, quantity = fluorescence);img quantities:
| Quantity | Meaning |
|---|---|
uv_absorbance | UV/absorbance readout. |
fluorescence | Fluorescence readout. |
colorimetric | Colorimetric readout. |
customized | Custom image/readout shape; requires schema_ref. |
ecp(...)
let obs = ecp(sample = tube, quantity = ph);ecp quantities:
| Quantity | Meaning |
|---|---|
ph | pH. |
conductivity | Conductivity. |
dissolved_oxygen | Dissolved oxygen. |
orp | Oxidation-reduction potential. |
customized | Custom electrochemical result; requires schema_ref. |
phy(...)
let obs = phy(sample = reactor, quantity = temperature);phy quantities:
| Quantity | Meaning |
|---|---|
temperature | Temperature. |
pressure | Pressure. |
flow_rate | Flow rate. |
mass | Mass. |
volume | Volume. |
humidity | Humidity. |
current | Electrical current response; may use schema_ref. |
customized | Custom 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.
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.
