How to read this page
With --json, every command prints one envelope: ok, schema_version and either data or
error (envelope). The sections below describe data for each command and view. They are generated
from the JSON Schemas in docs/schema/, which
cargo xtask schema gen writes from the Rust types, so they cannot drift from the program. Keys are stable: fields are added freely, and
renaming or removing one needs a schema_version bump. Reading the JSON output explains
provenance, units and how to decide how far to trust a value.
envelopeinfoinfo-formatinfo-fullinfo-explaininfo-structurecheckcheck-planescheck-againstcheck-reportexportexport-attachmentpreviewstatsstats-wellstracetablespectraspectrumchromatogrampeaksassayqpcrnmr-peaksephys-featuresspikesgatebatch-tablebatch-summarylinksidecarsidecar fileindexsearchsearch-healthsearch-exportwatchformatsdoctor
envelope
Success or failure wrapper.
| Field | Type | Meaning |
|---|
ok | boolean | True on success (data present), false on failure (error present). |
schema_version | string | [SCHEMA_VERSION] at the time of writing. |
tool | ToolId | The producing tool. |
path optional | string | null | The input this envelope answers for, in batch mode (--jsonl, JSON arrays, MCP
openreadout_batch); absent for single-file commands. |
data optional | any | The command's output, on success. |
error optional | ErrorBody | null | What went wrong, on failure. |
Types used (2)
ErrorBody Structured error body. hint is meant to be actionable by an agent.
| Field | Type | Meaning |
|---|
code | string | Stable code: unknown_format, unsupported_feature, corrupt_file, usage, io, error,
internal_panic (a bug: the tool panicked; please report it). |
message | string | Human-readable description of the failure. |
hint optional | string | null | What to try next, when the tool knows. |
exit_code | integer (int32) | The process exit code for this error (see the crate docs). |
ToolId Identifies the producing tool so consumers can reason about compatibility.
| Field | Type | Meaning |
|---|
name | string | Always openreadout. |
version | string | The tool's version (CARGO_PKG_VERSION). |
envelope.schema.json · Envelope
info
What info prints: the normalized [FileInfo] plus the derived [Experiment] under the
additive experiment key. Dereferences to the FileInfo.
| Field | Type | Meaning |
|---|
path | string | The path as given by the caller. |
size_bytes | integer (uint64) | Size in bytes (for directory formats such as Bruker .d, the files that were read). |
format | FormatDescriptor | The format that read the file. |
format_version optional | string | null | Version of the container format as written in the file, if any. |
images | array of ImageInfo | Images in the file (empty for tables, spectra and traces). |
tables optional | array of TableInfo | Tabular datasets (flow cytometry events, ...). Empty for image formats. |
spectra optional | array of SpectraInfo | Mass-spectrometry runs. Empty for other formats. |
traces optional | array of TraceInfo | Sampled-signal blocks (electrophysiology, chromatography, NMR). Empty for other formats. |
plane_count | integer (uint64) | Total planes across all images. |
notes optional | array of string | Notes the reader wants the caller to see (e.g. "pyramid levels skipped"). |
experiment optional | Experiment | null | Sample, instrument, method, acquisition and measurements, each value with its origin
(book/src/guides/metadata.md). Absent when nothing is known. |
acquisition optional | Acquisition2 | null | Present when the file is not finished: still being written (in_progress, with the
number of complete planes) or stopped before the end (interrupted). See book/src/guides/lab-shares.md. |
plate optional | PlateSummary | null | Multi-well plates (high-content screening): the plate id and type, rows and columns,
the imaged wells with the images (fields) of each, and how many planes the copy on disk
is missing (docs/formats/hcs.md). Absent for other files. |
images_total optional | integer (uint64) | null | Set when images lists only the first few images ([InfoOutput::cap_images]: screening
plates by default, whose field images are all alike, or --max-images N): how many
images the file holds. plate.wells[].images still indexes every field, the image
commands take any index, and --max-images 0 (MCP max_images: 0) lists them all. |
assurance optional | Assurance | null | Whether this file lies inside what its reader has been validated on: the variant
fingerprint with the corpus evidence for each feature, structures not decoded, values
assumed, vendor calibrations, and the outputs --strict refuses (docs/assurance.md). |
Types used (43)
Acquisition When and by whom.
| Field | Type | Meaning |
|---|
started_at optional | string | null | ISO-8601 start (same zone rules as the rest of the model). |
ended_at optional | string | null | ISO-8601 end, when recorded. |
operator optional | string | null | Operator or user name as recorded. |
duration_s optional | number (double) | null | Length of the acquisition (run length, recording length, time-lapse span) in seconds. |
comment optional | string | null | Free-text comment saved with the acquisition (ABF file comment, FCS $COM, Thermo
sequence comment, ANDI sample comments), as recorded. |
saved_at optional | string | null | ISO-8601 time the file was last saved or exported, when that is the only time it
records (a SoftMax Pro text export's Date Last Saved). It follows the measurement and
is not its start: started_at stays empty. |
Acquisition2 acquisition in info, info --view structure, check and check --planes: present only for
acquisition in info, info --view structure, check and check --planes: present only for
files that are not finished. See book/src/guides/lab-shares.md.
| Field | Type | Meaning |
|---|
state | AcquisitionState | in_progress or interrupted. |
complete_planes | integer (uint64) | Planes whose data is entirely on disk. |
expected_planes optional | integer (uint64) | null | Planes the finished file will hold, when the metadata written so far says so. |
modified_ago_s | number (double) | Seconds since the file (or the newest member of a directory store) was modified. |
window_s | number (double) | The live window used for the decision, in seconds. |
missing | array of string | Structures written at the end of an acquisition that are absent. |
tail_bytes | integer (uint64) | Bytes after the last complete unit (a unit still being written). |
evidence | array of string | The observations behind the decision. |
AcquisitionState Whether an incomplete file is still being written.
One of: "in_progress" | "interrupted"
Assumed A value the reader assumed (a default, a guess from context) instead of reading it.
| Field | Type | Meaning |
|---|
field | string | JSON path of the value in info (e.g. traces[0].channels[1].unit). |
detail | string | Why it was assumed and from what. |
Assurance The per-file assurance block of info (every view) and check.
| Field | Type | Meaning |
|---|
level | AssuranceLevel | validated, partially_validated or unvalidated. |
summary | string | One line for people and agents. |
fingerprint | string | The variant fingerprint: format_id then kind=value for each feature, sorted. |
variant | array of VariantFeature | Each feature with its corpus evidence. |
reasons optional | array of string | Why the level is not validated, one reason per line. |
undecoded optional | array of Undecoded | Structures met but not decoded. |
assumed optional | array of Assumed | Values assumed instead of read. |
calibrations optional | array of Calibration | Vendor calibrations and corrections the file carries, and whether they were applied. |
inferred_fields optional | InferredFields | Normalized fields whose meaning is inferred rather than specified. |
inferred optional | array of InferredValue | Values derived by a rule instead of read, with the evidence for each rule. |
strict_refuses optional | array of Scope | Outputs --strict (MCP strict: true) refuses to return for this file. |
strict_withholds optional | array of Withheld | Fields --strict withholds (returned as null; asking for one with --only exits 6)
while the rest of the output is returned. |
reader_confidence | Confidence | The reader's overall confidence (evidence rubric), for context. |
AssuranceLevel How far a file lies inside what its reader has been validated on.
One of: "validated" | "partially_validated" | "unvalidated"
Calibration A vendor calibration or correction the file carries.
| Field | Type | Meaning |
|---|
name | string | What it calibrates (m/z (MzCalibration), ADC to µV, spillover compensation). |
status | CalibrationStatus | Applied, not applied, or available on request. |
scope optional | array of Scope | Outputs it applies to. |
detail | string | How it is (or is not) applied and how to get calibrated values. |
CalibrationStatus Whether a vendor calibration or correction stored in the file was applied.
One of: "applied" | "not_applied" | "available"
ChannelInfo One acquisition channel.
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based channel index (the c of a plane). |
name optional | string | null | Channel name as the acquisition software shows it. |
fluorophore optional | string | null | Fluorescent dye or protein imaged in this channel (e.g. DAPI, GFP), if recorded. |
excitation_nm optional | number (double) | null | Excitation wavelength in nanometres: the light used to make the sample fluoresce. |
emission_nm optional | number (double) | null | Emission wavelength in nanometres: the light collected from the sample. What the file
records varies by format (a dye's emission peak, a filter's centre, the start of a
spectral detection window for Leica λ scans); docs/formats/<fmt>.md says which. When
a detection band is known, emission_band_*_nm give it explicitly. |
emission_range_nm optional | array of number (double) | null | Detection band [start_nm, end_nm] when the instrument records a range instead of a single emission wavelength. |
emission_band_start_nm optional | number (double) | null | Short-wavelength edge of the detection band in nanometres (spectral detector window or
emission filter), when the file records the band. |
emission_band_end_nm optional | number (double) | null | Long-wavelength edge of the detection band in nanometres. |
emission_band_center_nm optional | number (double) | null | Centre of the detection band in nanometres: (start + end) / 2. |
color optional | string | null | Display colour as #RRGGBB if the file records one. |
acquisition_mode optional | string | null | Acquisition mode as a readable label, <technique>[ <contrast>] (e.g. Laser Scanning
Confocal, Widefield Fluorescence, Brightfield, Phase Contrast); OME enumeration
tokens (WideField) are turned into these labels, other vendor wording is kept. |
exposure_ms optional | number (double) | null | Exposure (integration) time of the detector in milliseconds. |
ColumnInfo A column of a tabular dataset (e.g. an FCS parameter).
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based column index. |
name | string | Short name (FCS $PnN). |
label optional | string | null | Descriptive label (FCS $PnS), if any. |
dtype | string | NumPy-style dtype of the values as returned by read_table (float32, float64, uint32, ...). |
unit optional | string | null | Physical unit of the values, if the format records one. |
range optional | array of number (double) | null | Nominal [min, max] range when the format declares one. |
extra optional | object | Format-specific column metadata in the reader's documented vocabulary. |
Confidence Per-format confidence summary shown by info and self formats.
One of: "high" | "medium" | "low"
Experiment The experiment a file records: sample, instrument, method, acquisition and measurements.
| Field | Type | Meaning |
|---|
sample optional | Sample | null | What was measured on. |
instrument optional | ExperimentInstrument | null | What it was measured with. |
method optional | Method | null | How. |
acquisition optional | Acquisition | null | When and by whom. |
measurements optional | array of Measurement | What was measured, one entry per kind of data block. |
notes optional | array of string | Things to know when reading the fields above (several samples in one file, ...). |
provenance optional | map of Origin | Origin of every value, keyed by its path in this object (sample.id,
method.parameters.nucleus, measurements[0]). |
ExperimentInstrument The instrument that made the measurement.
| Field | Type | Meaning |
|---|
vendor optional | string | null | Manufacturer. |
model optional | string | null | Model (microscope stand, mass spectrometer, cytometer, plate reader, detector module). |
serial optional | string | null | Serial number. |
software optional | string | null | Acquisition software. |
software_version optional | string | null | Version of the acquisition software. |
kind optional | Term | null | Kind of instrument (OBI term: microscope, mass spectrometer, flow cytometer, ...). |
FeatureKind What a variant feature describes.
One of: "format_version" | "writer" | "writer_version" | "instrument" | "codec" | "sample_layout" | "layout" | "acquisition" | "dialect" | "record" | "field" | "derivation"
FeatureStatus How the corpus covers one feature value.
One of: "validated" | "seen" | "unseen"
FormatDescriptor Static description of a format as the tool understands it.
| Field | Type | Meaning |
|---|
id | string | Short id used on the command line, e.g. czi. |
name | string | Human name, e.g. Zeiss CZI. |
vendor | string | Vendor (nominative use only). |
extensions | array of string | File extensions, lowercase, without the dot. |
family | string | Family: microscopy, mass-spectrometry, flow-cytometry, ... |
can_read | boolean | True when the tool can read this format. |
can_write | boolean | True when export can also write this format (e.g. mzML, OME-Zarr). |
confidence | Confidence | Overall confidence in this reader. |
known_gaps | array of string | Things this reader knowingly does not handle yet. |
ImageInfo One image (a scene, series, or position) inside the file.
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based index used by --image. |
name optional | string | null | Image (scene, series or position) name, if recorded. |
size_x | integer (uint32) | Width in pixels. |
size_y | integer (uint32) | Height in pixels. |
size_z | integer (uint32) | Number of Z planes (focal slices). |
size_c | integer (uint32) | Number of channels. |
size_t | integer (uint32) | Number of time points. |
dimension_order | string | Storage order of planes, e.g. XYCZT (X and Y always first). |
pixel_type | PixelType | Sample type of every plane. |
samples_per_pixel | integer (uint32) | 1 for grayscale channels, 3 for interleaved RGB. |
physical_size | PhysicalSize | Physical size of one pixel (and the Z step). |
time_increment_s optional | number (double) | null | Interval between time points in seconds. |
channels | array of ChannelInfo | One entry per channel, in channel order. |
objective optional | ObjectiveInfo | null | The objective lens, if recorded. |
instrument optional | InstrumentInfo | null | Instrument and software, if recorded. |
acquired_at optional | string | null | ISO-8601 acquisition start, if recorded. |
mosaic optional | MosaicInfo | null | Tile layout when the image was acquired as a mosaic. |
pyramid_levels | integer (uint32) | Number of resolution levels stored (1 = no pyramid). |
resolution_levels optional | array of ResolutionLevel | Size, downsampling and stored tile size of every resolution level, level 0 first. Filled
by readers of pyramidal or tiled images (read a level with --level N, a rectangle
with --region X,Y,W,H); empty otherwise. |
plane_count | integer (uint64) | size_z * size_c * size_t. |
extra optional | object | Format-specific extras that have no OME equivalent, in our own vocabulary. |
InferredFields Fields whose meaning was inferred (reverse-engineered from corpus files), not read from a
Fields whose meaning was inferred (reverse-engineered from corpus files), not read from a
specification: the inferred entries of the reader's provenance map.
| Field | Type | Meaning |
|---|
count | integer (uint32) | How many normalized fields have inferred meaning. |
of | integer (uint32) | How many normalized fields carry provenance at all. |
examples optional | array of string | Up to 12 of their JSON paths (info --view full → provenance has all). |
InferredValue A value derived by a rule, with the corpus evidence for the rule.
| Field | Type | Meaning |
|---|
field | string | JSON path of the value in info. |
rule | string | The rule that derived it. |
status | FeatureStatus | validated when development files' oracles confirmed values derived by this rule. |
detail | string | What was derived from what. |
InstrumentInfo The instrument and software that produced the file.
| Field | Type | Meaning |
|---|
manufacturer optional | string | null | Instrument manufacturer. |
model optional | string | null | Instrument model (e.g. microscope stand or mass spectrometer). |
software optional | string | null | Acquisition software. |
software_version optional | string | null | Version of the acquisition software. |
detector optional | string | null | Detector (camera or photomultiplier) name. |
Measurement One thing that was measured, in scientific words.
| Field | Type | Meaning |
|---|
kind | MeasurementKind | Which array of the file it describes. |
indices | array of integer (uint32) | Indices into that array (images, tables, traces or runs) this entry covers. |
what | string | What was measured, e.g. fluorescence, 3 channels (DAPI, GFP, mCherry), 21 z-slices or
LC-MS, negative mode, 2,031 scans, MS1. |
technique optional | Term | null | The technique (CHMO, FBbi, OBI or PSI-MS term). |
terms optional | array of Term | Further terms: polarity, spectrum types, detectors, acquisition modes. |
parameters optional | map of Quantity | Counts and settings with units (scans, wells, wavelength, z_slices). |
MeasurementKind Which part of the file a measurement describes.
One of: "image" | "table" | "trace" | "spectra"
Method How the measurement was made.
| Field | Type | Meaning |
|---|
name optional | string | null | Name of the acquisition method, protocol or experiment as the software saved it. |
technique optional | Term | null | The technique (CHMO, FBbi or OBI term: liquid chromatography-mass spectrometry, ...). |
assay optional | Term | null | The kind of assay (OBI term). |
parameters optional | map of Quantity | Method settings, keyed by our own snake_case names (nucleus, polarity, z_step). |
MosaicInfo Mosaic (tiled/stitched) acquisition summary.
| Field | Type | Meaning |
|---|
tile_count | integer (uint32) | Number of tiles (fields of view) in the mosaic. |
tile_width optional | integer (uint32) | null | Width of one tile in pixels, when all tiles share it. |
tile_height optional | integer (uint32) | null | Height of one tile in pixels, when all tiles share it. |
stitched_on_read | boolean | Whether the reader stitches tiles into a single plane on read. |
ObjectiveInfo The objective lens.
| Field | Type | Meaning |
|---|
model optional | string | null | Objective model name as the vendor records it. |
nominal_magnification optional | number (double) | null | Nominal magnification (e.g. 63 for a 63× lens). |
lens_na optional | number (double) | null | Numerical aperture. |
immersion optional | string | null | Immersion medium between lens and sample (Oil, Water, Air, ...). |
Origin Where one experiment value came from.
| Field | Type | Meaning |
|---|
source | Source | How the meaning of the source field is known (the reader's provenance for that field;
inferred for our own mapping and derived text). |
from | string | The field it was taken from: a path into the info JSON (spectra[0].extra.vial), or a
vendor file inside the dataset (pdata/1/title). |
PhysicalSize Physical pixel size in micrometres (the OME default unit). Every present value is > 0.
| Field | Type | Meaning |
|---|
x optional | number (double) | null | Pixel width in µm (the distance between neighbouring columns). |
y optional | number (double) | null | Pixel height in µm (the distance between neighbouring rows). |
z optional | number (double) | null | Spacing between Z planes (focal slices) in µm. |
unit | string | Always µm in this schema version. |
PixelType Sample type of one channel value. Names follow OME-XML PixelType values.
One of: "int8" | "int16" | "int32" | "uint8" | "uint16" | "uint32" | "float" | "double" | "int64" | "uint64" | "complex" | "double-complex"
PlateSummary Layout of a multi-well plate (high-content screening): info → plate.
| Field | Type | Meaning |
|---|
id optional | string | null | Plate identifier or barcode as the acquisition software recorded it. |
name optional | string | null | Plate name, when recorded besides the id. |
plate_type optional | string | null | Plate type (product) as recorded, e.g. 384 PerkinElmer CellCarrier Ultra. |
rows | integer (uint32) | Number of rows of the plate (8 for a 96-well plate). |
columns | integer (uint32) | Number of columns of the plate (12 for a 96-well plate). |
wells | array of PlateWell | The imaged wells, row by row. |
field_count | integer (uint32) | Most fields of view in one well. |
planes_expected | integer (uint64) | Planes the plate's index lists (every image's plane_count). |
planes_absent optional | integer (uint64) | Planes the instrument never acquired or recorded (they read as blank and are left out
of statistics; images[].extra.absent_planes). |
planes_missing optional | integer (uint64) | Planes whose files the index names but that are not on disk (check lists them). |
complete | boolean | True when every plane the index names is on disk. |
extra optional | object | Format-specific plate facts in the reader's documented vocabulary. |
PlateWell One imaged well of a plate.
| Field | Type | Meaning |
|---|
well | string | Well name, e.g. C05 (row letters, column zero-padded to two digits). |
row | string | Row letters (C). |
column | integer (uint32) | Column number, 1-based (5). |
row_index | integer (uint32) | Zero-based row index (C = 2). |
column_index | integer (uint32) | Zero-based column index. |
images | array of integer (uint32) | Indices of the images (fields of view) of this well, in field order. |
planes_missing optional | integer (uint64) | Planes of this well whose files are not on disk (0 when the well is complete). |
Quantity A value with an optional unit: {"value": 19, "unit": "min", "ucum": "min"}.
| Field | Type | Meaning |
|---|
value | any | A number, a string, or a list of them. |
unit optional | string | null | Unit as written for people (µm, °C), when the value has one. |
ucum optional | string | null | UCUM code of unit (um, Cel). |
ResolutionLevel Geometry of one resolution level of an image.
| Field | Type | Meaning |
|---|
level | integer (uint32) | Level index: 0 is full resolution, larger is more downsampled (--level). |
size_x | integer (uint32) | Width in pixels. |
size_y | integer (uint32) | Height in pixels. |
downsample_x | number (double) | Level-0 width over this level's width (1 for level 0; 2, 4, ... for a halving pyramid). |
downsample_y | number (double) | Level-0 height over this level's height. |
tile_width optional | integer (uint32) | null | Width of the tiles (subblocks, chunks) the level is stored in, when it is tiled: region
reads aligned to this grid decode each tile once. |
tile_height optional | integer (uint32) | null | Height of the stored tiles. |
size_z optional | integer (uint32) | null | Number of z planes at this level, when it differs from the image's size_z (Imaris
downsamples z as well). |
Sample What was measured: the sample's identity as the file records it.
| Field | Type | Meaning |
|---|
id optional | string | null | The sample's identifier, from the field named in source_field. |
name optional | string | null | A descriptive sample name when the file records one besides the id. |
well optional | string | null | Plate well (B2, A01). |
barcode optional | string | null | Plate or tube barcode. |
sequence_position optional | string | null | Position in the autosampler sequence or tray (vial D:35, 2:A,8). |
source_field optional | string | null | Path of the field id came from (spectra[0].extra.sample_name, tables[0].extra.specimen,
pdata/1/title). |
Scope Which outputs of a file a feature, a structure or a calibration affects.
One of: "metadata" | "pixels" | "spectra" | "traces" | "tables"
SignalChannelInfo One channel of a sampled-signal dataset.
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based channel index. |
name | string | Channel name as recorded. |
unit optional | string | null | Physical unit of the scaled values (pA, mV, AU, ...). |
dtype | string | NumPy-style dtype of the raw stored samples. |
scale | number (double) | value = raw * scale + offset when the file stores integers. |
offset | number (double) | Added after scaling; see scale. |
extra optional | object | Format-specific channel metadata in the reader's documented vocabulary. |
Source How we learned what a field means. Ordered from most to least authoritative.
One of: "spec" | "vendor-impl" | "prior-art" | "inferred"
SpectraInfo A collection of mass spectra (one acquisition run).
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based run index. |
name optional | string | null | Run name, if the file records one. |
scan_count | integer (uint64) | Number of spectra (scans) in the run. |
ms_levels | array of integer (uint32) | MS levels present (1 = full scans, 2 = MS/MS, ...). |
rt_range_s optional | array of number (double) | null | Retention-time range in seconds. |
instrument optional | InstrumentInfo | null | Instrument and software, if recorded. |
extra optional | object | Format-specific run metadata in the reader's documented vocabulary. |
TableInfo A tabular dataset inside the file (rows × columns), e.g. FCS events.
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based table index. |
name optional | string | null | Table name, if the format has one. |
row_count | integer (uint64) | Number of rows (e.g. recorded events). |
columns | array of ColumnInfo | One entry per column. |
extra optional | object | Format-specific table metadata in the reader's documented vocabulary. |
Term An ontology term: its id (CURIE, e.g. CHMO:0000524) and label.
| Field | Type | Meaning |
|---|
id | string | Compact id, PREFIX:local (MS:1000130, CHMO:0000591, FBbi:00000246, OBI:0000916). |
label | string | The term's label in its ontology (positive scan). |
TraceInfo A block of uniformly sampled signals (a sweep, a chromatogram run, an FID).
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based trace index. |
name optional | string | null | Trace name, if the format has one. |
sample_rate_hz | number (double) | Samples per second. |
sample_count | integer (uint64) | Samples per sweep (the longest sweep when sweeps differ; see extra.sweep_sample_counts). |
sweep_count | integer (uint32) | Number of sweeps/episodes stored back to back (1 for continuous recordings). |
channels | array of SignalChannelInfo | One entry per channel. |
start_s optional | number (double) | null | Time of the first sample relative to the recording start, seconds. |
extra optional | object | Format-specific trace metadata in the reader's documented vocabulary. |
Undecoded A structure the reader met in the file but did not decode.
| Field | Type | Meaning |
|---|
structure | string | What the structure is, in the format notes' vocabulary. |
scope optional | array of Scope | Outputs that may be incomplete or wrong because of it. Empty: it is left out and the
values returned do not depend on it. |
detail | string | What is known about it and what the reader does instead. |
VariantFeature One feature of the file's fingerprint, with the corpus evidence for it.
| Field | Type | Meaning |
|---|
kind | FeatureKind | What the feature describes. |
value | string | Its value. |
scope optional | array of Scope | Outputs whose decoding depends on it (empty: descriptive only). |
status | FeatureStatus | validated, seen or unseen. |
corpus_files | integer (uint32) | Development-corpus files with this value confirmed by an independent reader. |
sources | integer (uint32) | Distinct depositors among them. |
Withheld A field --strict withholds: it is present, but its value was assumed, derived by a rule no
A field --strict withholds: it is present, but its value was assumed, derived by a rule no
independent reader confirmed, or never compared with an independent reader.
| Field | Type | Meaning |
|---|
field | string | JSON path pattern in info ([] matches any index). |
reason | string | Why it is not validated. |
info.schema.json · InfoOutput
Output of info --view format.
| Field | Type | Meaning |
|---|
path | string | The input file. |
format | string | Format id, e.g. czi. |
name | string | Human name of the format, e.g. Zeiss CZI. |
confidence | DetectConfidence | How the format was recognised. |
note optional | string | null | Why detection is less than definite, if it is. |
Types used (1)
DetectConfidence How sure detection is.
One of: "definite" | "likely" | "extension-only"
info-format.schema.json · DetectOutput
info-full
Output of info --view full.
| Field | Type | Meaning |
|---|
file | InfoOutput | What info reports, including the derived experiment. |
vendor optional | any | The vendor's own metadata tree, converted to JSON without renaming anything. |
provenance | map of Source | Where each normalized field came from. Keys are JSON paths into file. |
Types used (44)
Acquisition When and by whom.
| Field | Type | Meaning |
|---|
started_at optional | string | null | ISO-8601 start (same zone rules as the rest of the model). |
ended_at optional | string | null | ISO-8601 end, when recorded. |
operator optional | string | null | Operator or user name as recorded. |
duration_s optional | number (double) | null | Length of the acquisition (run length, recording length, time-lapse span) in seconds. |
comment optional | string | null | Free-text comment saved with the acquisition (ABF file comment, FCS $COM, Thermo
sequence comment, ANDI sample comments), as recorded. |
saved_at optional | string | null | ISO-8601 time the file was last saved or exported, when that is the only time it
records (a SoftMax Pro text export's Date Last Saved). It follows the measurement and
is not its start: started_at stays empty. |
Acquisition2 acquisition in info, info --view structure, check and check --planes: present only for
acquisition in info, info --view structure, check and check --planes: present only for
files that are not finished. See book/src/guides/lab-shares.md.
| Field | Type | Meaning |
|---|
state | AcquisitionState | in_progress or interrupted. |
complete_planes | integer (uint64) | Planes whose data is entirely on disk. |
expected_planes optional | integer (uint64) | null | Planes the finished file will hold, when the metadata written so far says so. |
modified_ago_s | number (double) | Seconds since the file (or the newest member of a directory store) was modified. |
window_s | number (double) | The live window used for the decision, in seconds. |
missing | array of string | Structures written at the end of an acquisition that are absent. |
tail_bytes | integer (uint64) | Bytes after the last complete unit (a unit still being written). |
evidence | array of string | The observations behind the decision. |
AcquisitionState Whether an incomplete file is still being written.
One of: "in_progress" | "interrupted"
Assumed A value the reader assumed (a default, a guess from context) instead of reading it.
| Field | Type | Meaning |
|---|
field | string | JSON path of the value in info (e.g. traces[0].channels[1].unit). |
detail | string | Why it was assumed and from what. |
Assurance The per-file assurance block of info (every view) and check.
| Field | Type | Meaning |
|---|
level | AssuranceLevel | validated, partially_validated or unvalidated. |
summary | string | One line for people and agents. |
fingerprint | string | The variant fingerprint: format_id then kind=value for each feature, sorted. |
variant | array of VariantFeature | Each feature with its corpus evidence. |
reasons optional | array of string | Why the level is not validated, one reason per line. |
undecoded optional | array of Undecoded | Structures met but not decoded. |
assumed optional | array of Assumed | Values assumed instead of read. |
calibrations optional | array of Calibration | Vendor calibrations and corrections the file carries, and whether they were applied. |
inferred_fields optional | InferredFields | Normalized fields whose meaning is inferred rather than specified. |
inferred optional | array of InferredValue | Values derived by a rule instead of read, with the evidence for each rule. |
strict_refuses optional | array of Scope | Outputs --strict (MCP strict: true) refuses to return for this file. |
strict_withholds optional | array of Withheld | Fields --strict withholds (returned as null; asking for one with --only exits 6)
while the rest of the output is returned. |
reader_confidence | Confidence | The reader's overall confidence (evidence rubric), for context. |
AssuranceLevel How far a file lies inside what its reader has been validated on.
One of: "validated" | "partially_validated" | "unvalidated"
Calibration A vendor calibration or correction the file carries.
| Field | Type | Meaning |
|---|
name | string | What it calibrates (m/z (MzCalibration), ADC to µV, spillover compensation). |
status | CalibrationStatus | Applied, not applied, or available on request. |
scope optional | array of Scope | Outputs it applies to. |
detail | string | How it is (or is not) applied and how to get calibrated values. |
CalibrationStatus Whether a vendor calibration or correction stored in the file was applied.
One of: "applied" | "not_applied" | "available"
ChannelInfo One acquisition channel.
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based channel index (the c of a plane). |
name optional | string | null | Channel name as the acquisition software shows it. |
fluorophore optional | string | null | Fluorescent dye or protein imaged in this channel (e.g. DAPI, GFP), if recorded. |
excitation_nm optional | number (double) | null | Excitation wavelength in nanometres: the light used to make the sample fluoresce. |
emission_nm optional | number (double) | null | Emission wavelength in nanometres: the light collected from the sample. What the file
records varies by format (a dye's emission peak, a filter's centre, the start of a
spectral detection window for Leica λ scans); docs/formats/<fmt>.md says which. When
a detection band is known, emission_band_*_nm give it explicitly. |
emission_range_nm optional | array of number (double) | null | Detection band [start_nm, end_nm] when the instrument records a range instead of a single emission wavelength. |
emission_band_start_nm optional | number (double) | null | Short-wavelength edge of the detection band in nanometres (spectral detector window or
emission filter), when the file records the band. |
emission_band_end_nm optional | number (double) | null | Long-wavelength edge of the detection band in nanometres. |
emission_band_center_nm optional | number (double) | null | Centre of the detection band in nanometres: (start + end) / 2. |
color optional | string | null | Display colour as #RRGGBB if the file records one. |
acquisition_mode optional | string | null | Acquisition mode as a readable label, <technique>[ <contrast>] (e.g. Laser Scanning
Confocal, Widefield Fluorescence, Brightfield, Phase Contrast); OME enumeration
tokens (WideField) are turned into these labels, other vendor wording is kept. |
exposure_ms optional | number (double) | null | Exposure (integration) time of the detector in milliseconds. |
ColumnInfo A column of a tabular dataset (e.g. an FCS parameter).
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based column index. |
name | string | Short name (FCS $PnN). |
label optional | string | null | Descriptive label (FCS $PnS), if any. |
dtype | string | NumPy-style dtype of the values as returned by read_table (float32, float64, uint32, ...). |
unit optional | string | null | Physical unit of the values, if the format records one. |
range optional | array of number (double) | null | Nominal [min, max] range when the format declares one. |
extra optional | object | Format-specific column metadata in the reader's documented vocabulary. |
Confidence Per-format confidence summary shown by info and self formats.
One of: "high" | "medium" | "low"
Experiment The experiment a file records: sample, instrument, method, acquisition and measurements.
| Field | Type | Meaning |
|---|
sample optional | Sample | null | What was measured on. |
instrument optional | ExperimentInstrument | null | What it was measured with. |
method optional | Method | null | How. |
acquisition optional | Acquisition | null | When and by whom. |
measurements optional | array of Measurement | What was measured, one entry per kind of data block. |
notes optional | array of string | Things to know when reading the fields above (several samples in one file, ...). |
provenance optional | map of Origin | Origin of every value, keyed by its path in this object (sample.id,
method.parameters.nucleus, measurements[0]). |
ExperimentInstrument The instrument that made the measurement.
| Field | Type | Meaning |
|---|
vendor optional | string | null | Manufacturer. |
model optional | string | null | Model (microscope stand, mass spectrometer, cytometer, plate reader, detector module). |
serial optional | string | null | Serial number. |
software optional | string | null | Acquisition software. |
software_version optional | string | null | Version of the acquisition software. |
kind optional | Term | null | Kind of instrument (OBI term: microscope, mass spectrometer, flow cytometer, ...). |
FeatureKind What a variant feature describes.
One of: "format_version" | "writer" | "writer_version" | "instrument" | "codec" | "sample_layout" | "layout" | "acquisition" | "dialect" | "record" | "field" | "derivation"
FeatureStatus How the corpus covers one feature value.
One of: "validated" | "seen" | "unseen"
FormatDescriptor Static description of a format as the tool understands it.
| Field | Type | Meaning |
|---|
id | string | Short id used on the command line, e.g. czi. |
name | string | Human name, e.g. Zeiss CZI. |
vendor | string | Vendor (nominative use only). |
extensions | array of string | File extensions, lowercase, without the dot. |
family | string | Family: microscopy, mass-spectrometry, flow-cytometry, ... |
can_read | boolean | True when the tool can read this format. |
can_write | boolean | True when export can also write this format (e.g. mzML, OME-Zarr). |
confidence | Confidence | Overall confidence in this reader. |
known_gaps | array of string | Things this reader knowingly does not handle yet. |
ImageInfo One image (a scene, series, or position) inside the file.
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based index used by --image. |
name optional | string | null | Image (scene, series or position) name, if recorded. |
size_x | integer (uint32) | Width in pixels. |
size_y | integer (uint32) | Height in pixels. |
size_z | integer (uint32) | Number of Z planes (focal slices). |
size_c | integer (uint32) | Number of channels. |
size_t | integer (uint32) | Number of time points. |
dimension_order | string | Storage order of planes, e.g. XYCZT (X and Y always first). |
pixel_type | PixelType | Sample type of every plane. |
samples_per_pixel | integer (uint32) | 1 for grayscale channels, 3 for interleaved RGB. |
physical_size | PhysicalSize | Physical size of one pixel (and the Z step). |
time_increment_s optional | number (double) | null | Interval between time points in seconds. |
channels | array of ChannelInfo | One entry per channel, in channel order. |
objective optional | ObjectiveInfo | null | The objective lens, if recorded. |
instrument optional | InstrumentInfo | null | Instrument and software, if recorded. |
acquired_at optional | string | null | ISO-8601 acquisition start, if recorded. |
mosaic optional | MosaicInfo | null | Tile layout when the image was acquired as a mosaic. |
pyramid_levels | integer (uint32) | Number of resolution levels stored (1 = no pyramid). |
resolution_levels optional | array of ResolutionLevel | Size, downsampling and stored tile size of every resolution level, level 0 first. Filled
by readers of pyramidal or tiled images (read a level with --level N, a rectangle
with --region X,Y,W,H); empty otherwise. |
plane_count | integer (uint64) | size_z * size_c * size_t. |
extra optional | object | Format-specific extras that have no OME equivalent, in our own vocabulary. |
InferredFields Fields whose meaning was inferred (reverse-engineered from corpus files), not read from a
Fields whose meaning was inferred (reverse-engineered from corpus files), not read from a
specification: the inferred entries of the reader's provenance map.
| Field | Type | Meaning |
|---|
count | integer (uint32) | How many normalized fields have inferred meaning. |
of | integer (uint32) | How many normalized fields carry provenance at all. |
examples optional | array of string | Up to 12 of their JSON paths (info --view full → provenance has all). |
InferredValue A value derived by a rule, with the corpus evidence for the rule.
| Field | Type | Meaning |
|---|
field | string | JSON path of the value in info. |
rule | string | The rule that derived it. |
status | FeatureStatus | validated when development files' oracles confirmed values derived by this rule. |
detail | string | What was derived from what. |
InfoOutput What info prints: the normalized [FileInfo] plus the derived [Experiment] under the
What info prints: the normalized [FileInfo] plus the derived [Experiment] under the
additive experiment key. Dereferences to the FileInfo.
| Field | Type | Meaning |
|---|
path | string | The path as given by the caller. |
size_bytes | integer (uint64) | Size in bytes (for directory formats such as Bruker .d, the files that were read). |
format | FormatDescriptor | The format that read the file. |
format_version optional | string | null | Version of the container format as written in the file, if any. |
images | array of ImageInfo | Images in the file (empty for tables, spectra and traces). |
tables optional | array of TableInfo | Tabular datasets (flow cytometry events, ...). Empty for image formats. |
spectra optional | array of SpectraInfo | Mass-spectrometry runs. Empty for other formats. |
traces optional | array of TraceInfo | Sampled-signal blocks (electrophysiology, chromatography, NMR). Empty for other formats. |
plane_count | integer (uint64) | Total planes across all images. |
notes optional | array of string | Notes the reader wants the caller to see (e.g. "pyramid levels skipped"). |
experiment optional | Experiment | null | Sample, instrument, method, acquisition and measurements, each value with its origin
(book/src/guides/metadata.md). Absent when nothing is known. |
acquisition optional | Acquisition2 | null | Present when the file is not finished: still being written (in_progress, with the
number of complete planes) or stopped before the end (interrupted). See book/src/guides/lab-shares.md. |
plate optional | PlateSummary | null | Multi-well plates (high-content screening): the plate id and type, rows and columns,
the imaged wells with the images (fields) of each, and how many planes the copy on disk
is missing (docs/formats/hcs.md). Absent for other files. |
images_total optional | integer (uint64) | null | Set when images lists only the first few images ([InfoOutput::cap_images]: screening
plates by default, whose field images are all alike, or --max-images N): how many
images the file holds. plate.wells[].images still indexes every field, the image
commands take any index, and --max-images 0 (MCP max_images: 0) lists them all. |
assurance optional | Assurance | null | Whether this file lies inside what its reader has been validated on: the variant
fingerprint with the corpus evidence for each feature, structures not decoded, values
assumed, vendor calibrations, and the outputs --strict refuses (docs/assurance.md). |
InstrumentInfo The instrument and software that produced the file.
| Field | Type | Meaning |
|---|
manufacturer optional | string | null | Instrument manufacturer. |
model optional | string | null | Instrument model (e.g. microscope stand or mass spectrometer). |
software optional | string | null | Acquisition software. |
software_version optional | string | null | Version of the acquisition software. |
detector optional | string | null | Detector (camera or photomultiplier) name. |
Measurement One thing that was measured, in scientific words.
| Field | Type | Meaning |
|---|
kind | MeasurementKind | Which array of the file it describes. |
indices | array of integer (uint32) | Indices into that array (images, tables, traces or runs) this entry covers. |
what | string | What was measured, e.g. fluorescence, 3 channels (DAPI, GFP, mCherry), 21 z-slices or
LC-MS, negative mode, 2,031 scans, MS1. |
technique optional | Term | null | The technique (CHMO, FBbi, OBI or PSI-MS term). |
terms optional | array of Term | Further terms: polarity, spectrum types, detectors, acquisition modes. |
parameters optional | map of Quantity | Counts and settings with units (scans, wells, wavelength, z_slices). |
MeasurementKind Which part of the file a measurement describes.
One of: "image" | "table" | "trace" | "spectra"
Method How the measurement was made.
| Field | Type | Meaning |
|---|
name optional | string | null | Name of the acquisition method, protocol or experiment as the software saved it. |
technique optional | Term | null | The technique (CHMO, FBbi or OBI term: liquid chromatography-mass spectrometry, ...). |
assay optional | Term | null | The kind of assay (OBI term). |
parameters optional | map of Quantity | Method settings, keyed by our own snake_case names (nucleus, polarity, z_step). |
MosaicInfo Mosaic (tiled/stitched) acquisition summary.
| Field | Type | Meaning |
|---|
tile_count | integer (uint32) | Number of tiles (fields of view) in the mosaic. |
tile_width optional | integer (uint32) | null | Width of one tile in pixels, when all tiles share it. |
tile_height optional | integer (uint32) | null | Height of one tile in pixels, when all tiles share it. |
stitched_on_read | boolean | Whether the reader stitches tiles into a single plane on read. |
ObjectiveInfo The objective lens.
| Field | Type | Meaning |
|---|
model optional | string | null | Objective model name as the vendor records it. |
nominal_magnification optional | number (double) | null | Nominal magnification (e.g. 63 for a 63× lens). |
lens_na optional | number (double) | null | Numerical aperture. |
immersion optional | string | null | Immersion medium between lens and sample (Oil, Water, Air, ...). |
Origin Where one experiment value came from.
| Field | Type | Meaning |
|---|
source | Source | How the meaning of the source field is known (the reader's provenance for that field;
inferred for our own mapping and derived text). |
from | string | The field it was taken from: a path into the info JSON (spectra[0].extra.vial), or a
vendor file inside the dataset (pdata/1/title). |
PhysicalSize Physical pixel size in micrometres (the OME default unit). Every present value is > 0.
| Field | Type | Meaning |
|---|
x optional | number (double) | null | Pixel width in µm (the distance between neighbouring columns). |
y optional | number (double) | null | Pixel height in µm (the distance between neighbouring rows). |
z optional | number (double) | null | Spacing between Z planes (focal slices) in µm. |
unit | string | Always µm in this schema version. |
PixelType Sample type of one channel value. Names follow OME-XML PixelType values.
One of: "int8" | "int16" | "int32" | "uint8" | "uint16" | "uint32" | "float" | "double" | "int64" | "uint64" | "complex" | "double-complex"
PlateSummary Layout of a multi-well plate (high-content screening): info → plate.
| Field | Type | Meaning |
|---|
id optional | string | null | Plate identifier or barcode as the acquisition software recorded it. |
name optional | string | null | Plate name, when recorded besides the id. |
plate_type optional | string | null | Plate type (product) as recorded, e.g. 384 PerkinElmer CellCarrier Ultra. |
rows | integer (uint32) | Number of rows of the plate (8 for a 96-well plate). |
columns | integer (uint32) | Number of columns of the plate (12 for a 96-well plate). |
wells | array of PlateWell | The imaged wells, row by row. |
field_count | integer (uint32) | Most fields of view in one well. |
planes_expected | integer (uint64) | Planes the plate's index lists (every image's plane_count). |
planes_absent optional | integer (uint64) | Planes the instrument never acquired or recorded (they read as blank and are left out
of statistics; images[].extra.absent_planes). |
planes_missing optional | integer (uint64) | Planes whose files the index names but that are not on disk (check lists them). |
complete | boolean | True when every plane the index names is on disk. |
extra optional | object | Format-specific plate facts in the reader's documented vocabulary. |
PlateWell One imaged well of a plate.
| Field | Type | Meaning |
|---|
well | string | Well name, e.g. C05 (row letters, column zero-padded to two digits). |
row | string | Row letters (C). |
column | integer (uint32) | Column number, 1-based (5). |
row_index | integer (uint32) | Zero-based row index (C = 2). |
column_index | integer (uint32) | Zero-based column index. |
images | array of integer (uint32) | Indices of the images (fields of view) of this well, in field order. |
planes_missing optional | integer (uint64) | Planes of this well whose files are not on disk (0 when the well is complete). |
Quantity A value with an optional unit: {"value": 19, "unit": "min", "ucum": "min"}.
| Field | Type | Meaning |
|---|
value | any | A number, a string, or a list of them. |
unit optional | string | null | Unit as written for people (µm, °C), when the value has one. |
ucum optional | string | null | UCUM code of unit (um, Cel). |
ResolutionLevel Geometry of one resolution level of an image.
| Field | Type | Meaning |
|---|
level | integer (uint32) | Level index: 0 is full resolution, larger is more downsampled (--level). |
size_x | integer (uint32) | Width in pixels. |
size_y | integer (uint32) | Height in pixels. |
downsample_x | number (double) | Level-0 width over this level's width (1 for level 0; 2, 4, ... for a halving pyramid). |
downsample_y | number (double) | Level-0 height over this level's height. |
tile_width optional | integer (uint32) | null | Width of the tiles (subblocks, chunks) the level is stored in, when it is tiled: region
reads aligned to this grid decode each tile once. |
tile_height optional | integer (uint32) | null | Height of the stored tiles. |
size_z optional | integer (uint32) | null | Number of z planes at this level, when it differs from the image's size_z (Imaris
downsamples z as well). |
Sample What was measured: the sample's identity as the file records it.
| Field | Type | Meaning |
|---|
id optional | string | null | The sample's identifier, from the field named in source_field. |
name optional | string | null | A descriptive sample name when the file records one besides the id. |
well optional | string | null | Plate well (B2, A01). |
barcode optional | string | null | Plate or tube barcode. |
sequence_position optional | string | null | Position in the autosampler sequence or tray (vial D:35, 2:A,8). |
source_field optional | string | null | Path of the field id came from (spectra[0].extra.sample_name, tables[0].extra.specimen,
pdata/1/title). |
Scope Which outputs of a file a feature, a structure or a calibration affects.
One of: "metadata" | "pixels" | "spectra" | "traces" | "tables"
SignalChannelInfo One channel of a sampled-signal dataset.
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based channel index. |
name | string | Channel name as recorded. |
unit optional | string | null | Physical unit of the scaled values (pA, mV, AU, ...). |
dtype | string | NumPy-style dtype of the raw stored samples. |
scale | number (double) | value = raw * scale + offset when the file stores integers. |
offset | number (double) | Added after scaling; see scale. |
extra optional | object | Format-specific channel metadata in the reader's documented vocabulary. |
Source How we learned what a field means. Ordered from most to least authoritative.
One of: "spec" | "vendor-impl" | "prior-art" | "inferred"
SpectraInfo A collection of mass spectra (one acquisition run).
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based run index. |
name optional | string | null | Run name, if the file records one. |
scan_count | integer (uint64) | Number of spectra (scans) in the run. |
ms_levels | array of integer (uint32) | MS levels present (1 = full scans, 2 = MS/MS, ...). |
rt_range_s optional | array of number (double) | null | Retention-time range in seconds. |
instrument optional | InstrumentInfo | null | Instrument and software, if recorded. |
extra optional | object | Format-specific run metadata in the reader's documented vocabulary. |
TableInfo A tabular dataset inside the file (rows × columns), e.g. FCS events.
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based table index. |
name optional | string | null | Table name, if the format has one. |
row_count | integer (uint64) | Number of rows (e.g. recorded events). |
columns | array of ColumnInfo | One entry per column. |
extra optional | object | Format-specific table metadata in the reader's documented vocabulary. |
Term An ontology term: its id (CURIE, e.g. CHMO:0000524) and label.
| Field | Type | Meaning |
|---|
id | string | Compact id, PREFIX:local (MS:1000130, CHMO:0000591, FBbi:00000246, OBI:0000916). |
label | string | The term's label in its ontology (positive scan). |
TraceInfo A block of uniformly sampled signals (a sweep, a chromatogram run, an FID).
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based trace index. |
name optional | string | null | Trace name, if the format has one. |
sample_rate_hz | number (double) | Samples per second. |
sample_count | integer (uint64) | Samples per sweep (the longest sweep when sweeps differ; see extra.sweep_sample_counts). |
sweep_count | integer (uint32) | Number of sweeps/episodes stored back to back (1 for continuous recordings). |
channels | array of SignalChannelInfo | One entry per channel. |
start_s optional | number (double) | null | Time of the first sample relative to the recording start, seconds. |
extra optional | object | Format-specific trace metadata in the reader's documented vocabulary. |
Undecoded A structure the reader met in the file but did not decode.
| Field | Type | Meaning |
|---|
structure | string | What the structure is, in the format notes' vocabulary. |
scope optional | array of Scope | Outputs that may be incomplete or wrong because of it. Empty: it is left out and the
values returned do not depend on it. |
detail | string | What is known about it and what the reader does instead. |
VariantFeature One feature of the file's fingerprint, with the corpus evidence for it.
| Field | Type | Meaning |
|---|
kind | FeatureKind | What the feature describes. |
value | string | Its value. |
scope optional | array of Scope | Outputs whose decoding depends on it (empty: descriptive only). |
status | FeatureStatus | validated, seen or unseen. |
corpus_files | integer (uint32) | Development-corpus files with this value confirmed by an independent reader. |
sources | integer (uint32) | Distinct depositors among them. |
Withheld A field --strict withholds: it is present, but its value was assumed, derived by a rule no
A field --strict withholds: it is present, but its value was assumed, derived by a rule no
independent reader confirmed, or never compared with an independent reader.
| Field | Type | Meaning |
|---|
field | string | JSON path pattern in info ([] matches any index). |
reason | string | Why it is not validated. |
info-full.schema.json · Dump
info-explain
Output of info --view explain.
| Field | Type | Meaning |
|---|
summary | string | One or two sentences: what the file is and what it holds. |
paragraphs | array of string | The narrative, one topic per paragraph (contents, channels, optics, timing, what is unusual). |
suggested_commands | array of string | Shell commands tailored to this file, most useful first. |
caveats | array of string | Things the reader should not take for granted (reader notes, missing calibration, ...). |
answers optional | array of Answer | Answers to the question asked with --ask, one per topic it touches; empty without one. |
assurance optional | Assurance | null | Whether the file lies inside what its reader has been validated on (as info →
assurance); its summary is also the first caveat when the file is not validated. |
Types used (15)
Answer One answer to an --ask question, from the experiment model.
| Field | Type | Meaning |
|---|
topic | string | The topic the question matched: sample, channels, method, run_length,
polarity, ms_levels, instrument, operator, acquired, technique. |
answer | string | The answer in one or two sentences; says so when the file does not record it. |
fields optional | array of string | Paths of the fields the answer came from (into the info JSON, or experiment.*). |
Assumed A value the reader assumed (a default, a guess from context) instead of reading it.
| Field | Type | Meaning |
|---|
field | string | JSON path of the value in info (e.g. traces[0].channels[1].unit). |
detail | string | Why it was assumed and from what. |
Assurance The per-file assurance block of info (every view) and check.
| Field | Type | Meaning |
|---|
level | AssuranceLevel | validated, partially_validated or unvalidated. |
summary | string | One line for people and agents. |
fingerprint | string | The variant fingerprint: format_id then kind=value for each feature, sorted. |
variant | array of VariantFeature | Each feature with its corpus evidence. |
reasons optional | array of string | Why the level is not validated, one reason per line. |
undecoded optional | array of Undecoded | Structures met but not decoded. |
assumed optional | array of Assumed | Values assumed instead of read. |
calibrations optional | array of Calibration | Vendor calibrations and corrections the file carries, and whether they were applied. |
inferred_fields optional | InferredFields | Normalized fields whose meaning is inferred rather than specified. |
inferred optional | array of InferredValue | Values derived by a rule instead of read, with the evidence for each rule. |
strict_refuses optional | array of Scope | Outputs --strict (MCP strict: true) refuses to return for this file. |
strict_withholds optional | array of Withheld | Fields --strict withholds (returned as null; asking for one with --only exits 6)
while the rest of the output is returned. |
reader_confidence | Confidence | The reader's overall confidence (evidence rubric), for context. |
AssuranceLevel How far a file lies inside what its reader has been validated on.
One of: "validated" | "partially_validated" | "unvalidated"
Calibration A vendor calibration or correction the file carries.
| Field | Type | Meaning |
|---|
name | string | What it calibrates (m/z (MzCalibration), ADC to µV, spillover compensation). |
status | CalibrationStatus | Applied, not applied, or available on request. |
scope optional | array of Scope | Outputs it applies to. |
detail | string | How it is (or is not) applied and how to get calibrated values. |
CalibrationStatus Whether a vendor calibration or correction stored in the file was applied.
One of: "applied" | "not_applied" | "available"
Confidence Per-format confidence summary shown by info and self formats.
One of: "high" | "medium" | "low"
FeatureKind What a variant feature describes.
One of: "format_version" | "writer" | "writer_version" | "instrument" | "codec" | "sample_layout" | "layout" | "acquisition" | "dialect" | "record" | "field" | "derivation"
FeatureStatus How the corpus covers one feature value.
One of: "validated" | "seen" | "unseen"
InferredFields Fields whose meaning was inferred (reverse-engineered from corpus files), not read from a
Fields whose meaning was inferred (reverse-engineered from corpus files), not read from a
specification: the inferred entries of the reader's provenance map.
| Field | Type | Meaning |
|---|
count | integer (uint32) | How many normalized fields have inferred meaning. |
of | integer (uint32) | How many normalized fields carry provenance at all. |
examples optional | array of string | Up to 12 of their JSON paths (info --view full → provenance has all). |
InferredValue A value derived by a rule, with the corpus evidence for the rule.
| Field | Type | Meaning |
|---|
field | string | JSON path of the value in info. |
rule | string | The rule that derived it. |
status | FeatureStatus | validated when development files' oracles confirmed values derived by this rule. |
detail | string | What was derived from what. |
Scope Which outputs of a file a feature, a structure or a calibration affects.
One of: "metadata" | "pixels" | "spectra" | "traces" | "tables"
Undecoded A structure the reader met in the file but did not decode.
| Field | Type | Meaning |
|---|
structure | string | What the structure is, in the format notes' vocabulary. |
scope optional | array of Scope | Outputs that may be incomplete or wrong because of it. Empty: it is left out and the
values returned do not depend on it. |
detail | string | What is known about it and what the reader does instead. |
VariantFeature One feature of the file's fingerprint, with the corpus evidence for it.
| Field | Type | Meaning |
|---|
kind | FeatureKind | What the feature describes. |
value | string | Its value. |
scope optional | array of Scope | Outputs whose decoding depends on it (empty: descriptive only). |
status | FeatureStatus | validated, seen or unseen. |
corpus_files | integer (uint32) | Development-corpus files with this value confirmed by an independent reader. |
sources | integer (uint32) | Distinct depositors among them. |
Withheld A field --strict withholds: it is present, but its value was assumed, derived by a rule no
A field --strict withholds: it is present, but its value was assumed, derived by a rule no
independent reader confirmed, or never compared with an independent reader.
| Field | Type | Meaning |
|---|
field | string | JSON path pattern in info ([] matches any index). |
reason | string | Why it is not validated. |
info-explain.schema.json · Explanation
info-structure
Output of info --view structure.
| Field | Type | Meaning |
|---|
path | string | The input file. |
format | string | Format id of the input file. |
entries | array of LsEntry | Container elements in file order. |
acquisition optional | Acquisition | null | Present when the file is not finished: still being written (in_progress) or
stopped before the end (interrupted). See book/src/guides/lab-shares.md. |
Types used (3)
Acquisition acquisition in info, info --view structure, check and check --planes: present only for
acquisition in info, info --view structure, check and check --planes: present only for
files that are not finished. See book/src/guides/lab-shares.md.
| Field | Type | Meaning |
|---|
state | AcquisitionState | in_progress or interrupted. |
complete_planes | integer (uint64) | Planes whose data is entirely on disk. |
expected_planes optional | integer (uint64) | null | Planes the finished file will hold, when the metadata written so far says so. |
modified_ago_s | number (double) | Seconds since the file (or the newest member of a directory store) was modified. |
window_s | number (double) | The live window used for the decision, in seconds. |
missing | array of string | Structures written at the end of an acquisition that are absent. |
tail_bytes | integer (uint64) | Bytes after the last complete unit (a unit still being written). |
evidence | array of string | The observations behind the decision. |
AcquisitionState Whether an incomplete file is still being written.
One of: "in_progress" | "interrupted"
LsEntry One row of info --view structure: a structural element of the container.
| Field | Type | Meaning |
|---|
kind | string | image, plane, segment, chunk, block, attachment, metadata, pyramid-level, ... |
name | string | Element name (an id, a chunk name or a path inside the container). |
offset optional | integer (uint64) | null | Byte offset of the element in the file, when it has one. |
size optional | integer (uint64) | null | Size of the element in bytes, when known. |
image optional | integer (uint32) | null | Which image this element belongs to, if any. |
details optional | any | Format-specific details (JSON), omitted when empty. |
info-structure.schema.json · Listing
check
Output of check.
| Field | Type | Meaning |
|---|
path | string | The input file. |
format | string | Format id of the input file. |
ok | boolean | True when no finding has severity error. |
checks_performed | array of string | What was verified, in plain words, so the caller knows what "ok" covers. |
findings | array of Finding | Everything found, in the order checked. |
acquisition optional | Acquisition | null | Present when the file is not finished: still being written (in_progress: findings
about the unfinished tail are warnings and ok covers the complete part) or stopped
before the end (interrupted). See book/src/guides/lab-shares.md. |
assurance optional | Assurance | null | Whether the file lies inside what its reader has been validated on (the same block as
info → assurance). ok says the file is intact; assurance says whether its values
can be trusted. Filled by the check command when the header can be read. |
Types used (18)
Acquisition acquisition in info, info --view structure, check and check --planes: present only for
acquisition in info, info --view structure, check and check --planes: present only for
files that are not finished. See book/src/guides/lab-shares.md.
| Field | Type | Meaning |
|---|
state | AcquisitionState | in_progress or interrupted. |
complete_planes | integer (uint64) | Planes whose data is entirely on disk. |
expected_planes optional | integer (uint64) | null | Planes the finished file will hold, when the metadata written so far says so. |
modified_ago_s | number (double) | Seconds since the file (or the newest member of a directory store) was modified. |
window_s | number (double) | The live window used for the decision, in seconds. |
missing | array of string | Structures written at the end of an acquisition that are absent. |
tail_bytes | integer (uint64) | Bytes after the last complete unit (a unit still being written). |
evidence | array of string | The observations behind the decision. |
AcquisitionState Whether an incomplete file is still being written.
One of: "in_progress" | "interrupted"
Assumed A value the reader assumed (a default, a guess from context) instead of reading it.
| Field | Type | Meaning |
|---|
field | string | JSON path of the value in info (e.g. traces[0].channels[1].unit). |
detail | string | Why it was assumed and from what. |
Assurance The per-file assurance block of info (every view) and check.
| Field | Type | Meaning |
|---|
level | AssuranceLevel | validated, partially_validated or unvalidated. |
summary | string | One line for people and agents. |
fingerprint | string | The variant fingerprint: format_id then kind=value for each feature, sorted. |
variant | array of VariantFeature | Each feature with its corpus evidence. |
reasons optional | array of string | Why the level is not validated, one reason per line. |
undecoded optional | array of Undecoded | Structures met but not decoded. |
assumed optional | array of Assumed | Values assumed instead of read. |
calibrations optional | array of Calibration | Vendor calibrations and corrections the file carries, and whether they were applied. |
inferred_fields optional | InferredFields | Normalized fields whose meaning is inferred rather than specified. |
inferred optional | array of InferredValue | Values derived by a rule instead of read, with the evidence for each rule. |
strict_refuses optional | array of Scope | Outputs --strict (MCP strict: true) refuses to return for this file. |
strict_withholds optional | array of Withheld | Fields --strict withholds (returned as null; asking for one with --only exits 6)
while the rest of the output is returned. |
reader_confidence | Confidence | The reader's overall confidence (evidence rubric), for context. |
AssuranceLevel How far a file lies inside what its reader has been validated on.
One of: "validated" | "partially_validated" | "unvalidated"
Calibration A vendor calibration or correction the file carries.
| Field | Type | Meaning |
|---|
name | string | What it calibrates (m/z (MzCalibration), ADC to µV, spillover compensation). |
status | CalibrationStatus | Applied, not applied, or available on request. |
scope optional | array of Scope | Outputs it applies to. |
detail | string | How it is (or is not) applied and how to get calibrated values. |
CalibrationStatus Whether a vendor calibration or correction stored in the file was applied.
One of: "applied" | "not_applied" | "available"
Confidence Per-format confidence summary shown by info and self formats.
One of: "high" | "medium" | "low"
FeatureKind What a variant feature describes.
One of: "format_version" | "writer" | "writer_version" | "instrument" | "codec" | "sample_layout" | "layout" | "acquisition" | "dialect" | "record" | "field" | "derivation"
FeatureStatus How the corpus covers one feature value.
One of: "validated" | "seen" | "unseen"
Finding One check finding.
| Field | Type | Meaning |
|---|
severity | Severity | How serious the finding is. |
code | string | Stable code, e.g. truncated, bad_offset, missing_planes, directory_mismatch. |
message | string | Plain-English description. |
offset optional | integer (uint64) | null | Byte offset the finding refers to, if any. |
InferredFields Fields whose meaning was inferred (reverse-engineered from corpus files), not read from a
Fields whose meaning was inferred (reverse-engineered from corpus files), not read from a
specification: the inferred entries of the reader's provenance map.
| Field | Type | Meaning |
|---|
count | integer (uint32) | How many normalized fields have inferred meaning. |
of | integer (uint32) | How many normalized fields carry provenance at all. |
examples optional | array of string | Up to 12 of their JSON paths (info --view full → provenance has all). |
InferredValue A value derived by a rule, with the corpus evidence for the rule.
| Field | Type | Meaning |
|---|
field | string | JSON path of the value in info. |
rule | string | The rule that derived it. |
status | FeatureStatus | validated when development files' oracles confirmed values derived by this rule. |
detail | string | What was derived from what. |
Scope Which outputs of a file a feature, a structure or a calibration affects.
One of: "metadata" | "pixels" | "spectra" | "traces" | "tables"
Severity Severity of a check finding.
One of: "info" | "warning" | "error"
Undecoded A structure the reader met in the file but did not decode.
| Field | Type | Meaning |
|---|
structure | string | What the structure is, in the format notes' vocabulary. |
scope optional | array of Scope | Outputs that may be incomplete or wrong because of it. Empty: it is left out and the
values returned do not depend on it. |
detail | string | What is known about it and what the reader does instead. |
VariantFeature One feature of the file's fingerprint, with the corpus evidence for it.
| Field | Type | Meaning |
|---|
kind | FeatureKind | What the feature describes. |
value | string | Its value. |
scope optional | array of Scope | Outputs whose decoding depends on it (empty: descriptive only). |
status | FeatureStatus | validated, seen or unseen. |
corpus_files | integer (uint32) | Development-corpus files with this value confirmed by an independent reader. |
sources | integer (uint32) | Distinct depositors among them. |
Withheld A field --strict withholds: it is present, but its value was assumed, derived by a rule no
A field --strict withholds: it is present, but its value was assumed, derived by a rule no
independent reader confirmed, or never compared with an independent reader.
| Field | Type | Meaning |
|---|
field | string | JSON path pattern in info ([] matches any index). |
reason | string | Why it is not validated. |
check.schema.json · CheckReport
check-planes
Output of check --planes.
| Field | Type | Meaning |
|---|
path | string | The input file. |
format | string | Format id of the input file. |
planes | array of PlaneHash | One row per plane, in the order read. |
acquisition optional | Acquisition | null | Present when the file is not finished; while it is in_progress only complete planes
are read. See book/src/guides/lab-shares.md. |
Types used (5)
Acquisition acquisition in info, info --view structure, check and check --planes: present only for
acquisition in info, info --view structure, check and check --planes: present only for
files that are not finished. See book/src/guides/lab-shares.md.
| Field | Type | Meaning |
|---|
state | AcquisitionState | in_progress or interrupted. |
complete_planes | integer (uint64) | Planes whose data is entirely on disk. |
expected_planes optional | integer (uint64) | null | Planes the finished file will hold, when the metadata written so far says so. |
modified_ago_s | number (double) | Seconds since the file (or the newest member of a directory store) was modified. |
window_s | number (double) | The live window used for the decision, in seconds. |
missing | array of string | Structures written at the end of an acquisition that are absent. |
tail_bytes | integer (uint64) | Bytes after the last complete unit (a unit still being written). |
evidence | array of string | The observations behind the decision. |
AcquisitionState Whether an incomplete file is still being written.
One of: "in_progress" | "interrupted"
PixelType Sample type of one channel value. Names follow OME-XML PixelType values.
One of: "int8" | "int16" | "int32" | "uint8" | "uint16" | "uint32" | "float" | "double" | "int64" | "uint64" | "complex" | "double-complex"
PlaneHash One row of check --planes.
| Field | Type | Meaning |
|---|
image | integer (uint32) | Image index. |
level optional | integer (uint32) | Pyramid level (0 = full resolution); omitted when 0. |
region optional | Region | null | The rectangle read (level pixel coordinates) when --region was given; the hash and
width/height are then those of the region. Absent = the whole plane. |
c | integer (uint32) | Channel index. |
z | integer (uint32) | Z index (focal plane). |
t | integer (uint32) | Time index. |
width | integer (uint32) | Plane width in pixels. |
height | integer (uint32) | Plane height in pixels. |
pixel_type | PixelType | Sample type. |
samples_per_pixel | integer (uint32) | 1 for grayscale, 3 for interleaved RGB. |
xxh3 | string | xxh3-128 of the raw little-endian sample bytes, 32 hex chars. |
Region A rectangle of a plane, in the pixel coordinates of the resolution level it is read at.
| Field | Type | Meaning |
|---|
x | integer (uint32) | Left edge (column of the first pixel). |
y | integer (uint32) | Top edge (row of the first pixel). |
width | integer (uint32) | Width in pixels (at least 1). |
height | integer (uint32) | Height in pixels (at least 1). |
check-planes.schema.json · PlanesOutput
check-against
Output of check --against.
| Field | Type | Meaning |
|---|
identical | boolean | Nothing compared differs: metadata (unless skipped), geometry, channel names,
physical sizes and planes (within the tolerance). The exit code is 0 when true, 1
when false. |
ours | CompareSide | The first file. |
theirs | CompareSide | The second file. |
metadata | MetadataComparison | The normalized-metadata diff. |
images | array of ImageComparison | Geometry, channel-name and physical-size comparison per image index. |
planes | PlaneComparison | The plane-by-plane comparison. |
notes | array of string | Caveats (e.g. formats that store different metadata for the same acquisition). |
Types used (9)
CompareSide One file of the pair.
| Field | Type | Meaning |
|---|
path | string | The file as given. |
format | string | Its format id. |
images | integer (uint32) | Number of images. |
tables | integer (uint32) | Number of tables. |
traces | integer (uint32) | Number of traces. |
Difference A value that differs, at an RFC 6901 JSON pointer into info --json data.
| Field | Type | Meaning |
|---|
pointer | string | RFC 6901 JSON pointer to the value, e.g. /images/0/physical_size/x. |
ours optional | any | Value in the first file; absent when the first file lacks the field. |
theirs optional | any | Value in the second file; absent when the second file lacks the field. |
Geometry Geometry of one image.
| Field | Type | Meaning |
|---|
size_x | integer (uint32) | Width in pixels. |
size_y | integer (uint32) | Height in pixels. |
size_z | integer (uint32) | Number of Z planes. |
size_c | integer (uint32) | Number of channels. |
size_t | integer (uint32) | Number of time points. |
pixel_type | PixelType | Sample type. |
samples_per_pixel | integer (uint32) | 1 for grayscale, 3 for interleaved RGB. |
ImageComparison One image index present in either file.
| Field | Type | Meaning |
|---|
image | integer (uint32) | Image index. |
ours optional | Geometry | null | Absent when the first file has no image with this index. |
theirs optional | Geometry | null | Absent when the second file has no image with this index. |
geometry_equal | boolean | Both files have the image and their geometries agree (with selected, after the
selection). |
selected optional | boolean | The second file holds only the selected planes of this image (an export made with the
same selection): planes, channels and the metadata diff were matched in selection
order, and ours is the geometry after the selection. |
channel_names_equal | boolean | Channel names agree. |
ours_channels | array of string | null | Channel names of the first file (listed only when they differ). |
theirs_channels | array of string | null | Channel names of the second file (listed only when they differ). |
physical_size_equal | boolean | Physical sizes agree to a relative 1e-6 (both absent counts as equal). |
ours_physical_size optional | PhysicalSize | null | Physical pixel size in the first file (listed only when the sizes differ). |
theirs_physical_size optional | PhysicalSize | null | Physical pixel size in the second file (listed only when the sizes differ). |
MetadataComparison The normalized-metadata diff.
| Field | Type | Meaning |
|---|
compared | boolean | False with --no-metadata. |
equal | boolean | True when no difference was found. |
ignored | array of string | Pointers left out (defaults plus --ignore); extra objects are also left out unless
include_extra. |
include_extra | boolean | Whether extra objects were compared. |
difference_count | integer (uint64) | Total number of differences (the list holds at most 1000). |
differences | array of Difference | The differences, at most 1000. |
PhysicalSize Physical pixel size in micrometres (the OME default unit). Every present value is > 0.
| Field | Type | Meaning |
|---|
x optional | number (double) | null | Pixel width in µm (the distance between neighbouring columns). |
y optional | number (double) | null | Pixel height in µm (the distance between neighbouring rows). |
z optional | number (double) | null | Spacing between Z planes (focal slices) in µm. |
unit | string | Always µm in this schema version. |
PixelType Sample type of one channel value. Names follow OME-XML PixelType values.
One of: "int8" | "int16" | "int32" | "uint8" | "uint16" | "uint32" | "float" | "double" | "int64" | "uint64" | "complex" | "double-complex"
PlaneComparison Plane-by-plane comparison.
| Field | Type | Meaning |
|---|
compared | boolean | False with --no-pixels. |
tolerance optional | number (double) | null | The --tolerance used, if any. |
planes | integer (uint64) | Planes read from both files. |
identical | integer (uint64) | Planes with identical xxh3-128. |
within_tolerance | integer (uint64) | Planes that differ but within the tolerance. |
mismatched | integer (uint64) | Planes that differ beyond the tolerance (or at all, without one). |
skipped_images | array of integer (uint32) | Image indices not compared plane by plane (missing on one side or geometry differs). |
mismatches | array of PlaneMismatch | At most 1000 entries, in plane order. |
PlaneMismatch A plane that differs.
| Field | Type | Meaning |
|---|
image | integer (uint32) | Image index. |
c | integer (uint32) | Channel index. |
z | integer (uint32) | Z index. |
t | integer (uint32) | Time index. |
ours_xxh3 | string | xxh3-128 of the plane in the first file. |
theirs_xxh3 | string | xxh3-128 of the plane in the second file. |
differing_samples optional | integer (uint64) | null | Samples that differ (absent when the planes' shapes differ). |
max_abs_diff optional | number (double) | null | Largest absolute difference between corresponding samples. |
within_tolerance | boolean | With a tolerance: whether max_abs_diff is within it (then the plane counts as equal). |
note optional | string | null | Why the samples could not be compared (e.g. the plane shapes differ). |
check-against.schema.json · CompareOutput
check-report
What openreadout check FILE --report prints under --json.
| Field | Type | Meaning |
|---|
output optional | string | null | Where the bundle was written; None with --dry-run (or from MCP without output). |
bytes optional | integer (uint64) | null | Size of the written bundle. |
issue_url | string | Where to file it (never contacted by the program). |
report | Report | The bundle, exactly as written. |
Types used (28)
Assumed A value the reader assumed (a default, a guess from context) instead of reading it.
| Field | Type | Meaning |
|---|
field | string | JSON path of the value in info (e.g. traces[0].channels[1].unit). |
detail | string | Why it was assumed and from what. |
Assurance The per-file assurance block of info (every view) and check.
| Field | Type | Meaning |
|---|
level | AssuranceLevel | validated, partially_validated or unvalidated. |
summary | string | One line for people and agents. |
fingerprint | string | The variant fingerprint: format_id then kind=value for each feature, sorted. |
variant | array of VariantFeature | Each feature with its corpus evidence. |
reasons optional | array of string | Why the level is not validated, one reason per line. |
undecoded optional | array of Undecoded | Structures met but not decoded. |
assumed optional | array of Assumed | Values assumed instead of read. |
calibrations optional | array of Calibration | Vendor calibrations and corrections the file carries, and whether they were applied. |
inferred_fields optional | InferredFields | Normalized fields whose meaning is inferred rather than specified. |
inferred optional | array of InferredValue | Values derived by a rule instead of read, with the evidence for each rule. |
strict_refuses optional | array of Scope | Outputs --strict (MCP strict: true) refuses to return for this file. |
strict_withholds optional | array of Withheld | Fields --strict withholds (returned as null; asking for one with --only exits 6)
while the rest of the output is returned. |
reader_confidence | Confidence | The reader's overall confidence (evidence rubric), for context. |
AssuranceLevel How far a file lies inside what its reader has been validated on.
One of: "validated" | "partially_validated" | "unvalidated"
Calibration A vendor calibration or correction the file carries.
| Field | Type | Meaning |
|---|
name | string | What it calibrates (m/z (MzCalibration), ADC to µV, spillover compensation). |
status | CalibrationStatus | Applied, not applied, or available on request. |
scope optional | array of Scope | Outputs it applies to. |
detail | string | How it is (or is not) applied and how to get calibrated values. |
CalibrationStatus Whether a vendor calibration or correction stored in the file was applied.
One of: "applied" | "not_applied" | "available"
Confidence Per-format confidence summary shown by info and self formats.
One of: "high" | "medium" | "low"
DetectionSummary The reader that claimed the input.
| Field | Type | Meaning |
|---|
format | string | Format id. |
confidence | string | definite, likely or extension_only. |
note optional | string | null | Why the match is less than definite. |
reader_confidence | string | The reader's confidence level (high, medium, low). |
FeatureKind What a variant feature describes.
One of: "format_version" | "writer" | "writer_version" | "instrument" | "codec" | "sample_layout" | "layout" | "acquisition" | "dialect" | "record" | "field" | "derivation"
FeatureStatus How the corpus covers one feature value.
One of: "validated" | "seen" | "unseen"
Generator Program name and version.
| Field | Type | Meaning |
|---|
name | string | openreadout. |
version | string | Its version. |
HexSample A hex excerpt.
| Field | Type | Meaning |
|---|
at | string | head or the structure entry (kind name). |
offset | integer (uint64) | Byte offset. |
hex | string | Space-separated bytes; masked text bytes are __. |
InferredFields Fields whose meaning was inferred (reverse-engineered from corpus files), not read from a
Fields whose meaning was inferred (reverse-engineered from corpus files), not read from a
specification: the inferred entries of the reader's provenance map.
| Field | Type | Meaning |
|---|
count | integer (uint32) | How many normalized fields have inferred meaning. |
of | integer (uint32) | How many normalized fields carry provenance at all. |
examples optional | array of string | Up to 12 of their JSON paths (info --view full → provenance has all). |
InferredValue A value derived by a rule, with the corpus evidence for the rule.
| Field | Type | Meaning |
|---|
field | string | JSON path of the value in info. |
rule | string | The rule that derived it. |
status | FeatureStatus | validated when development files' oracles confirmed values derived by this rule. |
detail | string | What was derived from what. |
InputSummary The input without its name.
| Field | Type | Meaning |
|---|
kind | string | file or directory. |
size_bytes | integer (uint64) | Bytes (a directory: the sum over its members). |
extension optional | string | null | Lower-case extension without the dot (nd2, raw, d), when there is one. |
sha256 optional | string | null | SHA-256 of the whole file (files up to 1 GiB). |
sha256_first_64mib optional | string | null | SHA-256 of the first 64 MiB (larger files). |
signature_hex optional | string | null | The first 16 bytes in hex; printable runs that are not a plain token are masked (__). |
signature_text optional | string | null | The same bytes as text where they are a plain token (ZISRAWFILE, ABF2). |
text_like optional | boolean | The file looks like text (a delimited export, XML, JSON). |
members optional | array of Member | A directory's members: relative paths with names that are not plain tokens replaced. |
members_omitted optional | integer (uint64) | Members not listed (more than 2000). |
member_extensions optional | map of integer (uint64) | Member counts per extension. |
Integrity Integrity findings.
| Field | Type | Meaning |
|---|
mode | string | headers (check --headers-only) or full. |
ok | boolean | No finding of severity error. |
checks_performed | array of string | What was verified. |
findings | array of any | Findings: severity, code, message (scrubbed), offset. |
KindCount Count and bytes of one entry kind.
| Field | Type | Meaning |
|---|
kind | string | Entry kind. |
count | integer (uint64) | How many. |
bytes | integer (uint64) | Their total size, where sizes are known. |
Member One member of a directory data set.
| Field | Type | Meaning |
|---|
path | string | Path relative to the data set, /-separated. |
size | integer (uint64) | Bytes. |
Privacy The privacy statement of a bundle.
| Field | Type | Meaning |
|---|
mode | string | structure_only (default) or with_text (--include-text). |
included | array of string | What the bundle contains, in plain words. |
excluded | array of string | What it leaves out. |
redacted_strings | integer (uint32) | Distinct strings from the file replaced by <redacted-N> or <text:LEN> placeholders. |
personal_data optional | array of string | Personal-data flags (kind and rule, never the value) found in the metadata. |
Report The diagnostic bundle.
| Field | Type | Meaning |
|---|
report_version | string | Bundle layout version ([REPORT_VERSION]). |
generator | Generator | The program that wrote it. |
privacy | Privacy | What the bundle contains and leaves out; read before sharing. |
input | InputSummary | The input, without its name or path. |
detection optional | DetectionSummary | null | The reader that claimed the input, when one did. |
candidates optional | array of string | Readers registered for the input's extension (what the user probably expected). |
stages | array of Stage | The decode path: each stage in order with its result. |
assurance optional | Assurance | null | The assurance block (info → assurance), text scrubbed. |
metadata optional | any | The normalized metadata (info) with numbers kept and free text replaced. |
structure optional | StructureMap | null | The container's structure (info --view structure). |
integrity optional | Integrity | null | Integrity findings (check). |
vendor_keys optional | VendorKeys | null | Key skeleton of the vendor metadata tree (info --view full → vendor): paths and value
types. |
samples optional | array of HexSample | Hex excerpts (only with hex_bytes). |
Scope Which outputs of a file a feature, a structure or a calibration affects.
One of: "metadata" | "pixels" | "spectra" | "traces" | "tables"
Stage One stage of the decode path.
| Field | Type | Meaning |
|---|
stage | string | detect, open, info, assurance, ls, check, vendor, first_read. |
status | string | ok, error, skipped or panic (a bug: the reader crashed in this stage). |
detail optional | string | null | What the stage found, in a few words (12 entries, plane 512x512 uint16). |
error optional | StageError | null | The error, when the stage failed. |
elapsed_ms optional | integer (uint64) | null | Milliseconds the stage took. |
StageError An error as the CLI would report it, text scrubbed.
| Field | Type | Meaning |
|---|
code | string | Stable code (corrupt_file, unsupported_feature, ...). |
exit_code | integer (int32) | Process exit code the CLI would return. |
message | string | The message. |
hint optional | string | null | The hint. |
offset optional | integer (uint64) | null | Byte offset of the problem, when the reader knows it. |
StructureMap The container's structure.
| Field | Type | Meaning |
|---|
entries_total | integer (uint64) | Entries info --view structure lists. |
by_kind | array of KindCount | Count and bytes per entry kind. |
entries | array of any | The first 400 entries in file order. |
Undecoded A structure the reader met in the file but did not decode.
| Field | Type | Meaning |
|---|
structure | string | What the structure is, in the format notes' vocabulary. |
scope optional | array of Scope | Outputs that may be incomplete or wrong because of it. Empty: it is left out and the
values returned do not depend on it. |
detail | string | What is known about it and what the reader does instead. |
VariantFeature One feature of the file's fingerprint, with the corpus evidence for it.
| Field | Type | Meaning |
|---|
kind | FeatureKind | What the feature describes. |
value | string | Its value. |
scope optional | array of Scope | Outputs whose decoding depends on it (empty: descriptive only). |
status | FeatureStatus | validated, seen or unseen. |
corpus_files | integer (uint32) | Development-corpus files with this value confirmed by an independent reader. |
sources | integer (uint32) | Distinct depositors among them. |
VendorKeys Key skeleton of the vendor tree.
| Field | Type | Meaning |
|---|
total_paths | integer (uint64) | Distinct key paths (array indices folded to []). |
omitted optional | integer (uint64) | Paths not listed (beyond 3000). |
paths | array of VendorPath | path, value type (string, number, bool, null, object, array), count. |
VendorPath One vendor key path.
| Field | Type | Meaning |
|---|
path | string | Dotted key path, arrays as []. |
type | string | JSON type of the values (several joined by |). |
count | integer (uint64) | Occurrences. |
Withheld A field --strict withholds: it is present, but its value was assumed, derived by a rule no
A field --strict withholds: it is present, but its value was assumed, derived by a rule no
independent reader confirmed, or never compared with an independent reader.
| Field | Type | Meaning |
|---|
field | string | JSON path pattern in info ([] matches any index). |
reason | string | Why it is not validated. |
check-report.schema.json · ReportOutput
export
Output of export: an image export report (OME-TIFF, OME-Zarr), a CSV report for tables or
traces, or an mzML report for mass spectra.
One of: ExportReport | TableExportReport | TraceExportReport | MzmlExportReport | AsmExportReport | ColumnarExportReport | NwbExportReport | JcampExportReport | RdmlExportReport | PerImageExport
Types used (16)
AsmExportReport Output of export --to asm.
| Field | Type | Meaning |
|---|
input | string | The plate-reader export that was converted. |
output | string | Where the ASM JSON document was written. |
format | string | Always asm. |
manifest | string | The ASM manifest IRI the document declares. |
documents | integer (uint64) | plate reader document entries (one per plate and well). |
measurements | integer (uint64) | Measurement documents (one per well and measured read). |
values | integer (uint64) | Numeric values carried by the measurement documents (cube points counted singly). |
errors | integer (uint64) | Non-numeric cells written as error documents. |
calculated | integer (uint64) | Values of reads calculated by the vendor software, written as calculated-data documents. |
bytes_written | integer (uint64) | Size of the written document in bytes. |
verified | boolean | True when the written file was parsed back and its measured values matched the source. |
notes optional | array of string | Caveats of the conversion (e.g. a time zone assumed because the export records none). |
Codec Compression codec for the TIFF strips.
One of: "none" | "deflate" | "lzw"
ColumnarExportReport Output of a Parquet or Arrow IPC export.
| Field | Type | Meaning |
|---|
input | string | The input file. |
output | string | The file written. |
format | string | parquet or arrow. |
kind | string | What was exported: table, trace or spectra. |
index | integer (uint32) | Table, trace or spectra-run index. |
rows_written | integer (uint64) | Rows written (table rows, trace samples over all sweeps, or spectrum points). |
columns | array of string | Column names, in order. |
compression | string | none, snappy or lz4. |
bytes_written | integer (uint64) | Size of the written file in bytes. |
verified | boolean | True when the file was read back and its schema, metadata and every value matched. |
sweeps optional | array of integer (uint32) | null | Traces: the sweeps written. |
first_row optional | integer (uint64) | null | Tables and traces: the first row (sample of each sweep) written, zero-based. |
spectra_written optional | integer (uint64) | null | Spectra: spectra (scans) written. |
summary_output optional | string | null | Spectra: the per-scan summary file (<name>.scans.parquet). |
summary_bytes optional | integer (uint64) | null | Spectra: size of the summary file in bytes. |
ExportReport What export reports.
| Field | Type | Meaning |
|---|
input | string | The file that was read. |
output | string | The OME-TIFF (or OME-Zarr) written. |
format | string | ome-tiff or ome-zarr. |
images_written | integer (uint32) | Images written. |
planes_written | integer (uint64) | Planes written, over all images. |
bytes_written | integer (uint64) | Size of the output in bytes. |
verified | boolean | True when every written plane was read back and hashed equal to the source plane. |
codec | Codec | Compression used. |
ome_xml_bytes | integer (uint64) | Size of the embedded OME-XML in bytes. |
resolutions optional | array of WrittenLevels | Per image, the resolution levels written (tiled exports: pyramids, regions, levels);
absent for single-resolution exports of whole planes. |
layout optional | string | null | OME-Zarr: plate when the store is an OME-NGFF high-content screening plate (row,
column and field groups); absent for single images and collections. |
images_skipped optional | array of integer (uint32) | Images left out because plane files they need are missing (--skip-incomplete). |
JcampExportReport Output of export --to jcamp.
| Field | Type | Meaning |
|---|
input | string | The input file. |
output | string | The JCAMP-DX file written. |
format | string | Always jcamp-dx. |
jcamp_version | string | ##JCAMP-DX= version written (5.01). |
data_type | string | ##DATA TYPE= written (NMR FID, NMR SPECTRUM, or the source's data type). |
data_class | string | XYDATA or NTUPLES. |
trace | integer (uint32) | Trace index written. |
sweeps | array of integer (uint32) | Sweeps written. |
pages | integer (uint32) | Data tables (NTUPLES pages; 1 for XYDATA). |
first_sample | integer (uint64) | First sample of each sweep written (zero-based). |
samples_written | integer (uint64) | Points per sweep written. |
channels_written | integer (uint32) | Channels written (one table per channel and sweep). |
encoding | string | difdup or affn. |
factors | array of number (double) | The ordinate factor of each channel (value = integer × factor). |
exact | boolean | True when every value round-trips bit-exactly. |
max_abs_error | number (double) | Largest |written − source| over all values (0 when exact; at most half the factor). |
bytes_written | integer (uint64) | Size of the written file in bytes. |
verified | boolean | True when the file was re-read and every ordinate matched. |
MzmlExportReport Result of an mzML export.
| Field | Type | Meaning |
|---|
input | string | The file that was read. |
output | string | The mzML file written. |
format | string | Always mzml. |
spectra_written | integer (uint64) | Spectra written. |
points_written | integer (uint64) | Data points (m/z-intensity pairs) written, over all spectra. |
bytes_written | integer (uint64) | Size of the written file in bytes. |
verified | boolean | True when the file was read back and every array, the index and the checksum agreed. |
view | string | primary or centroid. |
sha1 | string | SHA-1 of the file up to the checksum element, as recorded in it. |
NwbExportReport Output of export --to nwb.
| Field | Type | Meaning |
|---|
input | string | The input file. |
output | string | The NWB file written. |
format | string | Always nwb. |
nwb_version | string | NWB schema version written (nwb_version). |
identifier | string | identifier written (a UUID derived from the source and the time of writing). |
session_start_time | string | session_start_time written. |
series | array of NwbSeriesReport | One entry per TimeSeries, in the order written. |
samples_written | integer (uint64) | Samples written over all series and channels. |
bytes_written | integer (uint64) | Size of the written file in bytes. |
verified | boolean | True when the file was re-opened and every series and sample matched. |
notes optional | array of string | What the export assumed (e.g. a session start taken from the file's modification time). |
NwbSeriesReport One TimeSeries written.
| Field | Type | Meaning |
|---|
name | string | Name under /acquisition/. |
trace | integer (uint32) | Source trace index. |
sweep | integer (uint32) | Source sweep index. |
samples | integer (uint64) | Samples (rows of data). |
channels | integer (uint32) | Channels (columns of data). |
channel_indices | array of integer (uint32) | Source channel indices, in column order. |
unit optional | string | null | data unit, when the channels record one. |
rate_hz | number (double) | starting_time rate in Hz. |
starting_time_s | number (double) | starting_time in seconds. |
PerImageExport Output of export --to ome-tiff --per-image.
| Field | Type | Meaning |
|---|
input | string | The file that was read. |
output | string | The directory the files were written into. |
format | string | Always ome-tiff. |
files | array of PerImageFile | One entry per image written. |
images_skipped optional | array of integer (uint32) | Images left out because plane files they need are missing (--skip-incomplete). |
verified | boolean | True when every file was verified. |
PerImageFile One file of a --per-image export.
| Field | Type | Meaning |
|---|
image | integer (uint32) | Image index in the input. |
well optional | string | null | Well of the image (plates only). |
field optional | integer (uint64) | null | Field number of the image (plates only). |
output | string | The OME-TIFF written. |
planes_written | integer (uint64) | Planes written. |
bytes_written | integer (uint64) | Size of the file in bytes. |
verified | boolean | True when every plane was read back and hashed equal to the source plane. |
PyramidMode Where the lower resolutions of an export come from.
One of: "auto" | "none" | "source" | "mean"
RdmlExportReport What export --to rdml wrote.
| Field | Type | Meaning |
|---|
input | string | The input file. |
output | string | The RDML file written. |
format | string | Always rdml. |
rdml_version | string | RDML schema version written (1.3). |
runs | integer (uint32) | Runs (plates) written. |
reactions | integer (uint64) | Reactions (react elements). |
data_elements | integer (uint64) | Data elements (one per reaction × target). |
cq_values | integer (uint64) | Cq values written. |
amplification_points | integer (uint64) | Amplification data points (adp). |
melt_points | integer (uint64) | Melt data points (mdp). |
samples | integer (uint32) | Samples, targets, dyes defined. |
targets | integer (uint32) | Targets defined. |
dyes | integer (uint32) | Dyes defined. |
bytes_written | integer (uint64) | Size of the file. |
verified | boolean | The file was read back and every reaction, Cq and data point matched. |
notes | array of string | What could not be carried over and why. |
Region A rectangle of a plane, in the pixel coordinates of the resolution level it is read at.
| Field | Type | Meaning |
|---|
x | integer (uint32) | Left edge (column of the first pixel). |
y | integer (uint32) | Top edge (row of the first pixel). |
width | integer (uint32) | Width in pixels (at least 1). |
height | integer (uint32) | Height in pixels (at least 1). |
TableExportReport Output of export --to csv.
| Field | Type | Meaning |
|---|
input | string | The input file. |
output | string | The CSV file written. |
format | string | Always csv in this schema version. |
table | integer (uint32) | Table index written. |
first_row | integer (uint64) | First row written (zero-based). |
rows_written | integer (uint64) | Data rows written. |
columns_written | integer (uint32) | Columns written. |
header_lines | integer (uint32) | Header lines before the data (1, or 2 with --labels). |
bytes_written | integer (uint64) | Size of the written file in bytes. |
verified | boolean | True when the written file was read back and every value parsed equal to the source. |
TraceExportReport Output of export --to csv for a trace (one sweep: a time column plus one column per channel).
| Field | Type | Meaning |
|---|
input | string | The input file. |
output | string | The CSV file written. |
format | string | Always csv in this schema version. |
trace | integer (uint32) | Trace index written. |
sweep | integer (uint32) | Sweep index written. |
first_sample | integer (uint64) | First sample of the sweep written (zero-based). |
samples_written | integer (uint64) | Samples (rows) written. |
channels_written | integer (uint32) | Signal channels written (the time column is not counted). |
bytes_written | integer (uint64) | Size of the written file in bytes. |
verified | boolean | True when the written file was read back and every value parsed equal to the source. |
WrittenLevels Resolution levels written for one image by a tiled export.
| Field | Type | Meaning |
|---|
image | integer (uint32) | Source image index. |
source_level | integer (uint32) | Source pyramid level the exported full resolution was read from. |
region optional | Region | null | Rectangle of that level that was exported (absent: all of it). |
pyramid | PyramidMode | Where the lower levels came from: source (copied), mean (2 x 2 means) or none. |
sizes | array of array of integer (uint32) | [width, height] of every level written, full resolution first. |
factors | array of number (double) | Downsampling factor of every level relative to the exported full resolution (x). |
export.schema.json · ExportOutput
export-attachment
Output of export --attachment.
| Field | Type | Meaning |
|---|
path | string | The input file. |
format | string | Format id of the input file. |
attachment | AttachmentInfo | The attachment that was extracted. |
output | string | Where the bytes were written. |
bytes_written | integer (uint64) | Number of bytes written. |
xxh3 | string | xxh3-128 of the written bytes, 32 hex chars. |
verified | boolean | True once the output was read back and matched. |
Types used (1)
AttachmentInfo A file embedded in the container (thumbnail, label image, time stamps, ...).
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based index, usable with export --attachment #<index>. |
name | string | Name as stored in the container (e.g. Thumbnail, Label). |
content_type | string | Content type as the file declares it (e.g. JPG, CZI, CZTIMS). |
extension | string | Suggested file extension for the extracted bytes, without the dot. |
offset optional | integer (uint64) | null | Byte offset of the attachment payload in its file. |
size | integer (uint64) | Payload size in bytes. |
extra optional | object | Format-specific details in the reader's documented vocabulary. |
export-attachment.schema.json · ExtractOutput
preview
Output of preview: what was rendered, and where it went.
| Field | Type | Meaning |
|---|
path | string | The input file. |
format | string | Format id of the input file. |
kind | string | image, trace, spectrum or plate. |
output optional | string | null | The written file (CLI); absent when the preview is returned inline (MCP image content). |
encoding | string | png or jpeg. |
width | integer (uint32) | Image width in pixels. |
height | integer (uint32) | Image height in pixels. |
bytes | integer (uint64) | Size of the encoded image. |
xxh3 | string | xxh3-128 of the encoded bytes, 32 hex chars (identical across runs for the same request). |
verified | boolean | True once a written file was read back and matched. |
image optional | ImagePreview | null | Present for image previews. |
trace optional | TracePreview | null | Present for trace previews. |
spectrum optional | SpectrumPreview | null | Present for spectrum previews. |
plate optional | PlatePreview | null | Present for plate previews. |
notes optional | array of string | Anything the caller should know (fallbacks, caps, implied options). |
hint optional | string | null | What to do next with the picture (look at it; zoom with a region read off the rulers). |
Types used (10)
ImagePreview Details of an image preview.
Details of an image preview.
PNG pixel (px, py) inside plot_area shows full-resolution source pixel
x = source_origin.x + (px - plot_area.x) * source_per_pixel,
y = source_origin.y + (py - plot_area.y) * source_per_pixel_y (left/top edges of the PNG
pixel), whatever pyramid level, downsample or region was drawn; the ruler labels use the same
numbers, so a region read off them can be passed straight back.
| Field | Type | Meaning |
|---|
image | integer (uint32) | Image index. |
level | integer (uint32) | Pyramid level read (0 = full resolution). |
source_width | integer (uint32) | Plane size at that level. |
source_height | integer (uint32) | Plane height at that level. |
region optional | Region | null | The rectangle drawn, in the pixel coordinates of level, when a region was asked for. |
downsample | integer (uint32) | Block size of the averaging downsample (1 = none). |
c | array of integer (uint32) | Channels, z-planes and time points used. |
z | array of integer (uint32) | Z indices used. |
t | array of integer (uint32) | Time indices used. |
projection optional | string | null | max-z or max-t for a maximum-intensity projection. |
composite | boolean | True when channels were blended into one colour image. |
rgb | boolean | True when the planes are RGB (samples_per_pixel 3). |
contrast | string | Contrast rule applied (auto resolved to what it did, e.g. percentile:0.1,99.9). |
lut | string | gray, channel-color or rgb. |
channels | array of PreviewChannel | One entry per channel drawn. |
axes optional | boolean | True when the picture is framed by coordinate rulers (labelled in full-resolution
pixels), with a scale bar when the pixel size is known. |
grid optional | boolean | True when grid lines were drawn over the data at the ruler ticks. |
plot_area optional | Region | The data's rectangle inside the PNG, in PNG pixels (the whole PNG without rulers). |
source_origin optional | SourcePoint | Full-resolution source coordinate of the plot area's top-left corner. |
source_per_pixel optional | number (double) | Full-resolution source pixels per PNG pixel, horizontally (pyramid level scale ×
downsample). |
source_per_pixel_y optional | number (double) | Full-resolution source pixels per PNG pixel, vertically (equal to source_per_pixel up
to the rounding of pyramid level sizes). |
full_res_region optional | Region | The full-resolution (level 0) rectangle the plot area shows: pass it, or a part of it,
back as region to zoom. |
scale_bar optional | ScaleBar | null | The scale bar drawn, when the physical pixel size is known. |
PlatePreview Details of a plate heat map.
| Field | Type | Meaning |
|---|
table | integer (uint32) | Table index. |
layout | string | wide (one column per well) or long (well or row + column columns). |
rows | integer (uint32) | Plate geometry, e.g. 8 × 12. |
columns | integer (uint32) | Plate columns (e.g. 12 for a 96-well plate). |
wells | integer (uint32) | Wells with a finite value. |
value | string | What each cell shows (a column name, or mean of N rows). |
min optional | number (double) | null | Colour-scale ends (dark = min, yellow = max). |
max optional | number (double) | null | Value shown at the yellow end of the scale. |
PreviewChannel One channel of an image preview.
| Field | Type | Meaning |
|---|
index | integer (uint32) | C index. |
name optional | string | null | Channel name, if recorded. |
color | string | Display colour #RRGGBB (#FFFFFF with the gray LUT). |
color_source | string | Where the colour came from: file (channels[].color), wavelength, palette or lut. |
display_min | number (double) | Sample value shown as black. |
display_max | number (double) | Sample value shown at full brightness. |
Region A rectangle of a plane, in the pixel coordinates of the resolution level it is read at.
| Field | Type | Meaning |
|---|
x | integer (uint32) | Left edge (column of the first pixel). |
y | integer (uint32) | Top edge (row of the first pixel). |
width | integer (uint32) | Width in pixels (at least 1). |
height | integer (uint32) | Height in pixels (at least 1). |
ScaleBar The scale bar drawn under an image preview.
| Field | Type | Meaning |
|---|
length | number (double) | Length as labelled (e.g. 50). |
unit | string | Unit of the label: nm, µm or mm. |
length_um | number (double) | Length in µm. |
pixels | integer (uint32) | Length in PNG pixels. |
SourcePoint A point in full-resolution (level 0) source pixel coordinates.
| Field | Type | Meaning |
|---|
x | number (double) | Column (may be fractional on a downsampled pyramid level). |
y | number (double) | Row. |
SpectrumPreview Details of a mass-spectrum preview.
| Field | Type | Meaning |
|---|
run | integer (uint32) | Run index. |
index | integer (uint64) | Zero-based spectrum index. |
scan_number | integer (uint64) | Scan number as the instrument counts it. |
ms_level | integer (uint32) | MS level (1 = full scan, 2 = fragment scan, ...). |
rt_s optional | number (double) | null | Retention time in seconds; null when the file states none. |
style | string | sticks (centroided) or profile (a line through the points). |
point_count | integer (uint64) | Points in the spectrum. |
x_axis | XAxis | m/z range of the x axis. |
max_intensity optional | number (double) | null | Largest intensity (the top of the plot). |
precursor_mz optional | number (double) | null | Precursor m/z of a fragment (MS2+) scan. |
TracePreview Details of a trace preview.
| Field | Type | Meaning |
|---|
trace | integer (uint32) | Trace index. |
sweep | integer (uint32) | Sweep index. |
sample_rate_hz | number (double) | Samples per second. |
sweep_sample_count | integer (uint64) | Samples in the sweep. |
sample_count | integer (uint64) | Samples drawn (from the start of the sweep). |
truncated | boolean | True when the sweep is longer than the samples drawn. |
x_axis optional | XAxis | null | Label of the horizontal axis, when known. |
channels | array of TracePreviewChannel | One panel per channel, top to bottom. |
TracePreviewChannel One channel of a trace preview.
| Field | Type | Meaning |
|---|
index | integer (uint32) | Channel index. |
name | string | Channel name. |
unit optional | string | null | Physical unit of the samples. |
color | string | Line colour #RRGGBB. |
min optional | number (double) | null | Bottom and top of the panel's y axis (the channel's finite range, padded by 5 %). |
max optional | number (double) | null | Top of the panel's y axis. |
XAxis The horizontal axis of a trace or spectrum preview (the labels at its two ends).
| Field | Type | Meaning |
|---|
quantity | string | time, chemical_shift, mz, sample, … (the reader's extra.axis.quantity when set). |
unit | string | s, min, ppm, m/z, … (empty for sample indices). |
first | number (double) | Value at the left edge. |
last | number (double) | Value at the right edge (smaller than first for NMR chemical shift, which runs right to left). |
preview.schema.json · PreviewOutput
stats
Output of stats.
| Field | Type | Meaning |
|---|
path | string | The input file. |
format | string | Format id of the input file. |
level optional | integer (uint32) | Pyramid level the planes were read at (0 = full resolution); omitted when 0. |
region optional | Region | null | The rectangle of each plane the statistics cover (level pixel coordinates), when a
region was asked for; absent = whole planes. |
select | array of string | The selection as given (c=0, …); empty = every plane. |
bins | integer (uint32) | Requested histogram bins (0 = none). Integer data with fewer distinct values in its
range uses fewer, one per value. |
planes optional | array of PlaneStats | Per-plane statistics (omitted with --no-planes). |
channels | array of ChannelStats | One aggregate per image and channel. |
images | array of ImageStats | One aggregate per image over all its selected planes. |
mip optional | Projection | null | Set with --mip: the statistics are of maximum-intensity projections along this axis
(per pixel, the largest value over the selected planes); planes[] entries are the
projections, with the projected axis's index reported as 0. |
Types used (11)
ChannelStats Statistics of every selected plane of one channel.
| Field | Type | Meaning |
|---|
image | integer (uint32) | Image index. |
c | integer (uint32) | Channel index. |
name optional | string | null | Channel name, if recorded. |
image_name optional | string | null | Name of the image (scene, series, position) the channel belongs to, if recorded. |
planes | integer (uint64) | Number of planes aggregated. |
stats | SampleStats | Statistics over those planes (RGB: every colour sample pooled). |
components optional | array of ComponentStats | Multi-sample (RGB) pixels: the statistics of each colour component on its own
(components[0] = red, [1] = green, [2] = blue). |
ComponentStats Statistics of one colour component of interleaved multi-sample (RGB) pixels.
| Field | Type | Meaning |
|---|
sample | integer (uint32) | Sample index within a pixel: for RGB 0 = red, 1 = green, 2 = blue (every reader returns
R, G, B order; CZI's stored B, G, R is swapped on read). |
name optional | string | null | red, green, blue (and alpha) for 3- and 4-sample pixels. |
stats | SampleStats | Statistics of that component's samples only. |
Histogram A histogram of the finite samples.
| Field | Type | Meaning |
|---|
scale | HistogramScale | Linear or logarithmic bin spacing. |
edges | array of number (double) | bins + 1 bin edges; bin i is [edges[i], edges[i+1]), the last bin includes its
upper edge. |
counts | array of integer (uint64) | Samples per bin (bins entries). |
nonpositive optional | integer (uint64) | null | Log scale only: samples ≤ 0, which have no place on a log axis. |
HistogramScale Spacing of histogram bin edges.
One of: "linear" | "log"
ImageStats Statistics of every selected plane of one image (the selection aggregate).
| Field | Type | Meaning |
|---|
image | integer (uint32) | Image index. |
name optional | string | null | Image (scene, series, position) name, if recorded (info → images[].name). |
pixel_type | PixelType | Sample type. |
planes | integer (uint64) | Number of planes aggregated. |
stats | SampleStats | Statistics over those planes. |
components optional | array of ComponentStats | Multi-sample (RGB) pixels: the statistics of each colour component over those planes
(components[0] = red, [1] = green, [2] = blue). |
Percentiles NumPy-style percentiles of the finite samples.
| Field | Type | Meaning |
|---|
p1 | number (double) | 1st percentile. |
p5 | number (double) | 5th percentile. |
p50 | number (double) | Median. |
p95 | number (double) | 95th percentile. |
p99 | number (double) | 99th percentile. |
PixelType Sample type of one channel value. Names follow OME-XML PixelType values.
One of: "int8" | "int16" | "int32" | "uint8" | "uint16" | "uint32" | "float" | "double" | "int64" | "uint64" | "complex" | "double-complex"
PlaneStats Statistics of one plane.
| Field | Type | Meaning |
|---|
image | integer (uint32) | Image index. |
level optional | integer (uint32) | Pyramid level (0 = full resolution); omitted when 0. |
c | integer (uint32) | Channel index. |
z | integer (uint32) | Z index. |
t | integer (uint32) | Time index. |
width | integer (uint32) | Plane width in pixels. |
height | integer (uint32) | Plane height in pixels. |
pixel_type | PixelType | Sample type. |
stats | SampleStats | Statistics of the plane's samples. |
components optional | array of ComponentStats | Multi-sample (RGB) pixels: the statistics of each colour component on its own. |
Projection The axis of a maximum-intensity projection (stats --mip z).
One of: "z" | "t"
Region A rectangle of a plane, in the pixel coordinates of the resolution level it is read at.
| Field | Type | Meaning |
|---|
x | integer (uint32) | Left edge (column of the first pixel). |
y | integer (uint32) | Top edge (row of the first pixel). |
width | integer (uint32) | Width in pixels (at least 1). |
height | integer (uint32) | Height in pixels (at least 1). |
SampleStats Summary statistics of a set of samples.
| Field | Type | Meaning |
|---|
count | integer (uint64) | Finite samples. |
non_finite | integer (uint64) | NaN and infinite samples (excluded from everything else). |
min optional | number (double) | null | Absent when there are no finite samples (as are mean, std, percentiles). |
max optional | number (double) | null | Largest finite sample. |
mean optional | number (double) | null | Mean of the finite samples. |
std optional | number (double) | null | Population standard deviation. |
percentiles optional | Percentiles | null | 1st, 5th, 50th, 95th and 99th percentiles. |
exact | boolean | True when the percentiles and histogram are exact (see the module documentation). |
zero_fraction | number (double) | Fraction of finite samples equal to 0. |
saturated_fraction optional | number (double) | null | Integer pixel types: fraction of samples at the saturation level
(saturation_level): the detector's ceiling 2^bits − 1 when the file records its
significant bits (16383 for 14-bit data stored as uint16), else the type's maximum (255
for uint8, 65535 for uint16, …), i.e. clipped by the detector or the digitizer. |
saturated_count optional | integer (uint64) | null | Integer pixel types: the number of samples at saturation_level (exact; use it for
"how many pixels are saturated"). |
saturation_level optional | number (double) | null | The value a sample must equal to count as saturated (integer pixel types). |
saturation_basis optional | string | null | Why that level: significant_bits (2^bits − 1 from the bit depth the file records;
saturation_source names the field) or pixel_type (the type's maximum: no bit depth
recorded, channels of different depths merged, or values above the recorded depth). |
saturation_source optional | string | null | For significant_bits: the info field the bit depth came from, e.g.
images[].extra.component_bit_count (CZI) or images[].extra.bits_significant. |
histogram optional | Histogram | null | Present when histograms were requested (bins > 0). |
stats.schema.json · StatsOutput
stats-wells
Output of stats --per well and MCP openreadout_stats with per: "well".
| Field | Type | Meaning |
|---|
path | string | The input file. |
format | string | Format id of the input file. |
plate optional | string | null | Plate id or barcode, when recorded. |
level optional | integer (uint32) | Pyramid level read (0 = full resolution); omitted when 0. |
select | array of string | The selection as given; empty = every plane. |
per_field | boolean | True when rows are per field of view. |
columns | array of string | Column names of rows, in order (for tables and CSV). |
rows | array of WellStatsRow | One row per (well, channel), or per (well, field, channel) with per_field, in plate
order (row by row, then field, then channel). |
wells_without_data optional | array of string | Selected wells without a single readable plane (every file missing). |
notes optional | array of string | Things to know when reading the rows (absent planes left out, missing files skipped). |
Types used (1)
WellStatsRow One tidy row of [WellStatsOutput]: the statistics of one channel over the selected planes
One tidy row of [WellStatsOutput]: the statistics of one channel over the selected planes
of one well (or one field of it).
| Field | Type | Meaning |
|---|
plate optional | string | null | Plate id or barcode, when recorded (the same on every row). |
well | string | Well name (C05). |
row | string | Row letters. |
column | integer (uint32) | Column number, 1-based. |
image optional | integer (uint32) | null | Per-field rows only: the image index of the field. |
field optional | integer (uint32) | null | Per-field rows only: the field number as the acquisition software counts it. |
c | integer (uint32) | Channel index. |
channel optional | string | null | Channel name, if recorded. |
fields | integer (uint32) | Fields of view whose planes were read into this row. |
planes | integer (uint64) | Planes aggregated. |
planes_missing | integer (uint64) | Selected planes whose files are missing (skipped). |
count | integer (uint64) | Finite samples. |
mean optional | number (double) | null | Mean intensity (absent when no plane was read). |
std optional | number (double) | null | Population standard deviation. |
min optional | number (double) | null | Smallest sample. |
max optional | number (double) | null | Largest sample. |
p1 optional | number (double) | null | 1st percentile (NumPy linear interpolation). |
median optional | number (double) | null | Median. |
p99 optional | number (double) | null | 99th percentile. |
zero_fraction optional | number (double) | null | Fraction of samples equal to 0. |
saturated_fraction optional | number (double) | null | Integer data: fraction of samples at the type's maximum (detector saturation). |
stats-wells.schema.json · WellStatsOutput
trace
Output of trace: a window of one sweep of one trace.
| Field | Type | Meaning |
|---|
path | string | The input file. |
format | string | Format id of the input file. |
trace | integer (uint32) | Trace index (see info → traces[]). |
sweep | integer (uint32) | Sweep index. |
sweep_count | integer (uint32) | Sweeps in the trace. |
sample_rate_hz | number (double) | Samples per second. |
sweep_sample_count | integer (uint64) | Samples in this sweep. |
first_sample | integer (uint64) | First sample of the window (zero-based, within the sweep). |
sample_count | integer (uint64) | Samples in the window (statistics cover all of them). |
start_s | number (double) | Time of the first window sample in seconds. Single-sweep traces use the trace's own
clock: info.traces[].start_s + first_sample / sample_rate_hz (a chromatogram's
retention time, negative when acquisition began before injection; an electrophysiology
recording's clock). Multi-sweep traces are timed from the start of the sweep
(first_sample / sample_rate_hz; sweep_start_s places the sweep in the recording).
Irregularly sampled traces (sample_rate_hz 0 with a time channel) report that
channel's first window value; traces without a time base (spectra) report 0. |
sweep_start_s optional | number (double) | null | Time of the sweep's first sample on the recording clock, seconds, when the file
records it (info.traces[].start_s for a single sweep, extra.sweep_starts_s[sweep]
for multi-sweep traces). |
channels | array of TraceChannelSlice | One entry per requested channel. |
truncated | boolean | True when fewer samples are returned than the window holds. |
axis optional | any | The trace's abscissa (info → traces[].extra.axis: {quantity, unit, first, step,
…}), e.g. the ppm axis of an NMR spectrum or a chromatogram's retention time in
minutes; sample i of the sweep is at first + i * step. For a time axis this agrees
with start_s and sample_rate_hz (first = start_s at first_sample 0, step =
1 / sample_rate_hz, in unit). Irregular axes (irregular: true) name the channel
holding each sample's abscissa instead. |
x_range optional | array of number (double) | null | The axis window asked for (x_range, low to high): axis units, or seconds for signals
without an axis. first_sample/sample_count are the samples inside it. |
Types used (2)
TraceChannelSlice One channel of a TraceSlice.
| Field | Type | Meaning |
|---|
index | integer (uint32) | Channel index. |
name | string | Channel name. |
unit optional | string | null | Physical unit of the samples. |
stats | TraceStats | Statistics over the whole window. |
samples | array of number (double) | The first max_samples samples of the window, scaled to unit. |
TraceStats Summary statistics of one channel over the requested window.
| Field | Type | Meaning |
|---|
count | integer (uint64) | Samples in the window. |
finite | integer (uint64) | Finite samples (NaN/inf are skipped by min/max/mean/std). |
min optional | number (double) | null | Smallest finite sample. |
max optional | number (double) | null | Largest finite sample. |
mean optional | number (double) | null | Mean of the finite samples. |
std optional | number (double) | null | Population standard deviation. |
argmin optional | integer (uint64) | null | Sample index of the minimum, counted from the start of the sweep (not of the window:
the index within samples is argmin - first_sample). |
argmax optional | integer (uint64) | null | Sample index of the maximum, counted from the start of the sweep (not of the window:
the index within samples is argmax - first_sample). |
argmin_time_s optional | number (double) | null | Time of the minimum in seconds, on the same clock as the slice's start_s. Absent when
the trace has no time base (a spectrum; see argmin_axis_value). |
argmax_time_s optional | number (double) | null | Time of the maximum in seconds, on the same clock as the slice's start_s (for a
chromatogram: the retention time of the tallest point, in seconds). |
argmin_axis_value optional | number (double) | null | Position of the minimum on the slice's axis, in axis.unit (retention time in
minutes, chemical shift in ppm, wavenumber, …). Present only when the slice has an axis. |
argmax_axis_value optional | number (double) | null | Position of the maximum on the slice's axis, in axis.unit: axis.first + argmax *
axis.step, or the abscissa channel's value for an irregular axis. |
trace.schema.json · TraceSlice
table
A slice of a table as rows, for JSON consumers (openreadout_table).
| Field | Type | Meaning |
|---|
path | string | The input file. |
format | string | Format id of the input file. |
table | integer (uint32) | Table index (see info → tables[]). |
first_row | integer (uint64) | Zero-based index of the first row returned. |
total_rows | integer (uint64) | Rows in the whole table. |
columns | array of string | Column names (FCS $PnN). |
labels | array of string | null | Column labels (FCS $PnS), null where absent. |
rows | array of array of number (double) | Row-major values; rows[r][c]. Non-finite values serialize as null. |
truncated | boolean | True when more rows follow the returned slice. |
processing optional | TableProcessing | null | Present when the values were processed (FCS scale values, compensation, transforms,
population membership columns); absent for raw values. |
filter optional | TableFilterSummary | null | Present with --where/--count: the row conditions and how many rows of the whole
table meet them. rows, first_row and truncated then page through the matching rows. |
Types used (5)
AppliedTransform A transform applied to one table column.
| Field | Type | Meaning |
|---|
parameter | string | Column ($PnN). |
kind | string | Transform kind. |
parameters | map of number (double) | Its parameters. |
CompensationSummary A compensation or unmixing matrix.
| Field | Type | Meaning |
|---|
name | string | Matrix name or id; $SPILLOVER/$SPILL/SPILL for the FCS file's own. |
source | string | Where it comes from: workspace, gating-ml, fcs or command-line. |
detectors | array of string | Detectors (columns), $PnN. |
fluorochromes | array of string | Rows: fluorochromes, or the detectors that receive the unmixed values. |
matrix | array of array of number (double) | Row-major coefficients (spillover fractions). |
spectral | boolean | More detectors than rows: unmixed by ordinary least squares. |
used | boolean | Whether a gate (or the table) used it. |
GateColumn A population membership column.
| Field | Type | Meaning |
|---|
column | string | Column name in the table (gate:<path>). |
population | string | Population path. |
gating_file | string | Path of the workspace or Gating-ML file that defines the population. |
count_in_rows | integer (uint64) | Members among the returned rows. |
TableFilterSummary Rows of a whole table that meet every condition (table --where, --count).
| Field | Type | Meaning |
|---|
conditions | array of string | The conditions as parsed (FITC-A > 1000), all of which a row must meet. Empty with
--count alone (every row counts). |
matched_rows | integer (uint64) | Rows of the whole table that meet every condition (not only the returned page). |
total_rows | integer (uint64) | Rows in the whole table. |
percent | number (double) | matched_rows / total_rows × 100 (0 for an empty table). |
values | string | The values the conditions were tested on: raw (as stored) or processed (FCS scale
values after compensation/transforms; see processing). |
TableProcessing What table did to the raw values before returning them.
| Field | Type | Meaning |
|---|
scale | array of string | Channel-to-scale conversions applied ($PnE, $PnG, $TIMESTEP); every processed table
starts from scale values. |
compensation optional | CompensationSummary | null | The compensation applied, if any. |
transforms | array of AppliedTransform | Transforms applied, by parameter. |
gates | array of GateColumn | Membership columns appended (1 = in the population, 0 = not). |
table.schema.json · TableSlice
spectra
Output of spectra (scan list): the matching scans of one run, one page of them listed.
| Field | Type | Meaning |
|---|
path | string | The input file. |
format | string | Format id of the input file. |
run | integer (uint32) | Run index. |
scan_count | integer (uint64) | Spectra in the run. |
source | string | headers when the reader listed scan headers without decoding peaks, spectra when
every spectrum had to be decoded to list it. |
filter optional | ScanFilter | The conditions applied (omitted when every scan is listed). |
matched | integer (uint64) | Scans matching the conditions (all of them are counted, not only the page listed). |
offset | integer (uint64) | Position of the first listed scan among the matching ones (0-based; --offset). |
returned | integer (uint64) | Number of scans listed. |
truncated | boolean | True when more matching scans follow the page (offset + returned < matched). |
ms_level_counts | map of integer (uint64) | Counts of the matching scans per MS level ("1", "2", ...). |
rt_range_s optional | array of number (double) | null | Retention-time range of the matching scans in seconds. |
scans | array of ScanHeader | The listed scans, in spectrum-index order. |
Types used (2)
ScanFilter Which scans to list. Every condition that is set must hold.
| Field | Type | Meaning |
|---|
ms_level optional | integer (uint32) | null | Only this MS level (1 = full scans, 2 = MS/MS). |
polarity optional | string | null | Only positive or negative scans. |
rt_min_s optional | number (double) | null | Retention time at least this many seconds. |
rt_max_s optional | number (double) | null | Retention time at most this many seconds. |
precursor_mz optional | number (double) | null | Precursor m/z near this value (within precursor_tol_mz, or precursor_tol_ppm). |
precursor_tol_mz optional | number (double) | null | Absolute precursor tolerance in m/z (default 0.01 when neither tolerance is given). |
precursor_tol_ppm optional | number (double) | null | Relative precursor tolerance in ppm. |
charge optional | integer (int32) | null | Only precursors of this charge state. |
activation optional | string | null | Only this activation (HCD, CID, ...; case-insensitive). |
filter_contains optional | string | null | Only scans whose filter string contains this text (case-insensitive). |
spectra.schema.json · ScanList
spectrum
Output of spectra --scan/--index: one spectrum with its arrays.
| Field | Type | Meaning |
|---|
path | string | The input file. |
format | string | Format id of the input file. |
run | integer (uint32) | Run index the spectrum belongs to. |
view | string | primary (profile when recorded) or centroid (the instrument's centroid list). |
point_count | integer (uint64) | Number of points in the full spectrum (the arrays may be shortened by max_points). |
truncated | boolean | True when mz/intensity were shortened to max_points. |
spectrum | Spectrum | The spectrum, with its arrays. |
Types used (1)
Spectrum One mass spectrum.
| Field | Type | Meaning |
|---|
index | integer (uint64) | Zero-based spectrum index within its run. |
scan_number | integer (uint64) | Scan number as the instrument counts it (1-based in most formats). |
ms_level | integer (uint32) | MS level: 1 for a full scan, 2 for a fragment (MS/MS) scan, and so on. |
rt_s optional | number (double) | null | Retention time in seconds; null when the file states none for this spectrum (never an
invented 0). |
polarity | string | positive, negative or unknown. |
centroided | boolean | True when the peaks are centroids (one point per peak) rather than a sampled profile. |
precursor_mz optional | number (double) | null | m/z of the precursor ion that was isolated and fragmented (MS2 and above). |
precursor_charge optional | integer (int32) | null | Charge state of the precursor, when the instrument determined it. |
scan_filter optional | string | null | Instrument scan filter or scan description string (e.g. Thermo FTMS + p ESI Full ms). |
total_ion_current optional | number (double) | null | Sum of all intensities in the spectrum (TIC). |
native_id optional | string | null | The spectrum's identifier in its file (mzML id, e.g. controllerType=0 controllerNumber=1 scan=17). |
base_peak_mz optional | number (double) | null | m/z of the most intense peak. |
base_peak_intensity optional | number (double) | null | Intensity of the most intense peak. |
precursor_intensity optional | number (double) | null | Intensity of the selected precursor ion, when recorded. |
isolation_window_mz optional | array of number (double) | null | Precursor isolation window [lower, upper] in m/z. |
activation optional | string | null | Dissociation method: CID, HCD, ETD, ECD, ETHCD, UVPD, ... (upper case). |
collision_energy optional | number (double) | null | Collision energy as recorded (usually eV, or % normalized for Thermo @hcd35.00). |
inverse_reduced_mobility optional | number (double) | null | Ion mobility of the precursor or scan, as inverse reduced mobility 1/K0 in V·s/cm². |
scan_window_mz optional | array of number (double) | null | Scan (acquisition) window [lower, upper] in m/z. |
extra optional | object | Format-specific scan metadata in the reader's documented vocabulary. |
mz | array of number (double) | Mass-to-charge ratios of the points, ascending. |
intensity | array of number (float) | Intensity of each point (same length as mz). |
spectrum.schema.json · SpectrumOutput
chromatogram
Output of analyze chromatogram.
| Field | Type | Meaning |
|---|
path | string | The input file. |
format | string | Format id of the input file. |
run optional | integer (uint32) | null | Spectra run used, when any chromatogram was computed from spectra. |
spectra_read | integer (uint64) | Spectra decoded. |
chromatograms | array of Chromatogram | One entry per requested chromatogram. |
output optional | string | null | File written (-o), when any. |
notes optional | array of string | Anything the caller should know. |
Types used (1)
Chromatogram One chromatogram: retention times (minutes) and intensities, with how they were obtained
One chromatogram: retention times (minutes) and intensities, with how they were obtained
and a summary.
| Field | Type | Meaning |
|---|
label | string | Short label, e.g. TIC, XIC 301.1410 ±10 ppm, SRM 279.2 > 179.2, DAD1 A. |
kind | string | tic, bpc, xic, srm or trace. |
source | string | Where the points come from: spectra (computed from the mass spectra), trace N
(a stored chromatogram or detector signal) or table N (an MRM table column). |
mz optional | number (double) | null | XIC target m/z. |
mz_window optional | array of number (double) | null | XIC window [low, high] m/z. |
mz_range optional | array of number (double) | null | TIC/BPC m/z range. |
precursor_mz optional | number (double) | null | SRM: the precursor (Q1) m/z matched in the file. |
product_mz optional | number (double) | null | SRM: the product (Q3) m/z matched in the file. |
ms_level optional | integer (uint32) | null | MS level of the scans used. |
polarity optional | string | null | Polarity filter applied. |
scan_filter optional | string | null | Scan-filter text required. |
aggregation optional | string | null | sum or max (XIC). |
centroid_scans optional | integer (uint64) | null | Scans read as centroids. |
profile_scans optional | integer (uint64) | null | Scans read as profiles (their points inside the window are summed). |
intensity_source optional | string | null | TIC/BPC: points from the scan's recorded value (recorded), from its points
(computed), or both (mixed). |
intensity_unit optional | string | null | Unit of intensity (counts for mass spectra, the detector's unit for traces). |
points | integer (uint64) | Points in the chromatogram. |
apex_rt_min optional | number (double) | null | Retention time of the most intense point, minutes. |
apex_intensity optional | number (double) | null | Intensity of the most intense point. |
integral optional | number (double) | null | Trapezoidal integral of the whole chromatogram (no baseline), intensity × minutes. |
rt_min | array of number (double) | Retention times, minutes (ascending). |
intensity | array of number (double) | Intensities. |
decimated optional | boolean | True when rt_min/intensity were thinned to max_points (the most intense point of
each of max_points equal slices is kept); the summary covers every point. |
notes optional | array of string | Anything the caller should know. |
chromatogram.schema.json · ChromatogramOutput
peaks
Output of analyze peaks.
| Field | Type | Meaning |
|---|
path | string | The input file. |
format | string | Format id of the input file. |
chromatograms | array of ChromatogramPeaks | One entry per analysed chromatogram. |
compounds optional | array of CompoundResult | One row per compound of the compound list. |
spectra optional | array of SpectrumBands | Spectra (traces whose axis is not time: wavenumber, wavelength, ppm, …): bands and
integrated regions, one entry per analysed spectrum. |
outputs optional | array of string | Files written (-o, --plot). |
notes optional | array of string | Anything the caller should know. |
Types used (9)
Band One detected band.
| Field | Type | Meaning |
|---|
number | integer (uint32) | 1-based band number in order of increasing x. |
x | number (double) | Apex position (vertex of the parabola through the three highest smoothed points), axis
units. |
start | number (double) | Band start, axis units. |
end | number (double) | Band end, axis units. |
height | number (double) | Height above the baseline (depth below it when bands are minima), signal units. |
area | number (double) | Area above the baseline (below it when bands are minima), signal units × axis units. |
area_percent | number (double) | Share of the summed area of all bands of the spectrum, %. |
centroid optional | number (double) | null | (signal − baseline)-weighted mean position. |
width_half optional | number (double) | null | Full width at half height, axis units. |
snr optional | number (double) | null | Height / noise σ. |
points | integer (uint32) | Samples from start to end. |
baseline_code | string | How each end meets the baseline (as analyze peaks: B, V, T). |
baseline_start | number (double) | Baseline at the start, signal units. |
baseline_end | number (double) | Baseline at the end, signal units. |
baseline_reason optional | string | null | auto baseline: why the baseline was drawn this way (as analyze peaks). |
BandMethod How the bands were found.
| Field | Type | Meaning |
|---|
smoothing | string | savitzky_golay_quadratic or none. |
smooth_window_points | integer (uint32) | Smoothing window, points (1 = none). |
noise | number (double) | Noise σ, signal units. |
noise_method | string | How the noise was estimated. |
min_snr | number (double) | Detection threshold, S/N. |
min_height optional | number (double) | null | Detection threshold, signal units. |
min_width optional | number (double) | null | Smallest width at half height, axis units. |
baseline | string | Baseline under detected bands: auto, drop, valley or tangent. |
region_baseline | string | Baseline under regions: linear or none. |
integration | string | trapezoid. |
ChromatogramPeaks Peaks of one chromatogram.
| Field | Type | Meaning |
|---|
label | string | Chromatogram label (see analyze chromatogram). |
kind | string | tic, bpc, xic, srm or trace. |
source | string | spectra, trace N or table N. |
mz optional | number (double) | null | XIC m/z. |
mz_window optional | array of number (double) | null | XIC window. |
precursor_mz optional | number (double) | null | SRM precursor matched. |
product_mz optional | number (double) | null | SRM product matched. |
intensity_unit optional | string | null | Signal unit. |
area_unit | string | Unit of peak areas, e.g. mAU·min. |
points | integer (uint64) | Samples in the chromatogram. |
method | PeakMethod | How the peaks were found. |
peak_count | integer (uint32) | Peaks found. |
total_area | number (double) | Summed area. |
main_peak optional | integer (uint32) | null | Number of the largest peak. |
main_peak_area_percent optional | number (double) | null | Its area % (purity by area normalization). |
peaks | array of Peak | The peak table. |
picked optional | PickedPeak | null | The expected peak (--rt). |
manual optional | array of Peak | Manual integrations (--integrate), in request order. |
notes optional | array of string | Anything the caller should know. |
CompoundResult One result row: a compound in one file.
| Field | Type | Meaning |
|---|
path | string | The input file. |
compound | string | Compound name. |
chromatogram | string | Label of the chromatogram it was measured on. |
expected_rt_min optional | number (double) | null | Expected retention time, minutes. |
rt_window_min optional | number (double) | null | Window half-width, minutes. |
found | boolean | True when a peak was found in the window. |
rt_min optional | number (double) | null | Apex retention time, minutes. |
rt_shift_min optional | number (double) | null | Apex − expected retention time, minutes. |
area optional | number (double) | null | Peak area (signal × area_time_unit of the method). |
height optional | number (double) | null | Peak height above the baseline. |
snr optional | number (double) | null | Height / noise σ. |
width_half_min optional | number (double) | null | Width at half height, minutes. |
tailing_factor optional | number (double) | null | USP tailing factor. |
start_min optional | number (double) | null | Integration start, minutes. |
end_min optional | number (double) | null | Integration end, minutes. |
baseline_code optional | string | null | Baseline code of the peak (BB, BV, …). |
area_percent optional | number (double) | null | Area % of the peak within its chromatogram. |
area_unit optional | string | null | Unit of area, e.g. counts·min, mAU·s. |
note optional | string | null | Why nothing was found, or anything else worth knowing. |
Peak One integrated peak (a flat record: one row of a peak table).
| Field | Type | Meaning |
|---|
number | integer (uint32) | 1-based peak number in retention-time order. |
rt_min | number (double) | Retention time of the apex, minutes. |
start_min | number (double) | Peak start (integration start), minutes. |
end_min | number (double) | Peak end (integration end), minutes. |
height | number (double) | Height of the apex above the baseline, signal units. |
area | number (double) | Area above the baseline between start and end, signal units × area_time_unit. |
area_percent | number (double) | Share of the summed area of all peaks in the table, %. |
width_half_min optional | number (double) | null | Width at half height, minutes (absent when the signal does not fall to half height
before a drop line). |
width_10pct_min optional | number (double) | null | Width at 10 % height, minutes. |
width_5pct_min optional | number (double) | null | Width at 5 % height, minutes. |
width_base_min | number (double) | End − start, minutes. |
tailing_factor optional | number (double) | null | USP tailing factor W₀.₀₅ / 2f (f: apex to the leading edge at 5 % height). |
asymmetry_factor optional | number (double) | null | Asymmetry factor b/a at 10 % height (a: leading half-width, b: trailing half-width). |
plates optional | number (double) | null | Theoretical plates, half-height method 5.54 (t_R / W½)² (t_R from time zero). |
resolution optional | number (double) | null | Resolution to the previous peak, 1.18 (t₂ − t₁) / (W½₁ + W½₂). |
snr optional | number (double) | null | Height / noise σ (absent when the noise is 0). |
points | integer (uint32) | Samples from start to end. |
baseline_code | string | How each end meets the baseline: B baseline, V valley (drop line), T tangent skim,
M manual (given boundaries); e.g. BB, BV, VB, TT. |
baseline_start | number (double) | Baseline value at the start, signal units. |
baseline_end | number (double) | Baseline value at the end, signal units. |
baseline_reason optional | string | null | auto baseline: why the baseline was drawn this way — sloped_background (an end was
placed where the peak meets a sloped or drifting background), drop_line (fused with a
neighbour: common baseline, vertical drop line at the valley), baseline_penetration
(split from a neighbour where the signal dips below their common baseline), isolated
(both ends on the baseline). The first that applies. |
PeakMethod The method that produced a peak table, with every parameter actually used.
| Field | Type | Meaning |
|---|
smoothing | string | savitzky_golay_quadratic or none. |
smooth_window_points | integer (uint32) | Smoothing window in points (1 = none). |
smooth_auto | boolean | True when the window was chosen automatically. |
characteristic_width_points optional | number (double) | null | Median width at half height of the most prominent maxima, points (drives the automatic
smoothing and baseline windows). |
noise | number (double) | Noise σ, signal units. |
noise_method | string | segment_rms, segment_rms_nonzero, mad_first_difference, user or none. |
min_snr | number (double) | Detection threshold, S/N. |
min_height optional | number (double) | null | Detection threshold, signal units. |
min_width_min optional | number (double) | null | Smallest width at half height, minutes. |
min_points | integer (uint32) | Fewest samples per peak. |
baseline | string | drop, valley or tangent. |
skim_ratio optional | number (double) | null | tangent skim ratio. |
baseline_window_points | integer (uint32) | Window of the running baseline, points. |
slope_noise optional | number (double) | null | auto: noise of the smoothed signal's derivative, signal units per minute (flanks end
below [AUTO_END_SLOPE_NOISE] times it). |
look_ahead_points optional | integer (uint32) | null | auto: how far a flat stretch must go on without a valley to end a peak, points. |
rt_range_min optional | array of number (double) | null | Retention-time range searched, minutes. |
integration | string | trapezoid. |
area_time_unit | string | Time unit of area: min or s. |
points | integer (uint64) | Samples analysed. |
PickedPeak The expected peak of a chromatogram (--rt/--window).
| Field | Type | Meaning |
|---|
expected_rt_min | number (double) | Expected retention time, minutes. |
rt_window_min | number (double) | Window half-width, minutes. |
rule | string | largest or nearest. |
peak optional | Peak | null | The peak, when one has its apex in the window. |
Region One integrated region of a spectrum.
| Field | Type | Meaning |
|---|
number | integer (uint32) | 1-based region number in request order. |
from | number (double) | Lower end asked for, axis units. |
to | number (double) | Upper end asked for, axis units. |
x_first | number (double) | Axis value of the first sample used. |
x_last | number (double) | Axis value of the last sample used. |
points | integer (uint32) | Samples used. |
baseline | string | linear or none. |
baseline_start | number (double) | Baseline at x_first, signal units. |
baseline_end | number (double) | Baseline at x_last, signal units. |
area | number (double) | Trapezoidal integral of (signal − baseline), signal units × axis units. |
area_no_baseline | number (double) | Trapezoidal integral of the signal itself. |
max_x | number (double) | Axis value of the region maximum (the sample of largest signal − baseline; of largest
baseline − signal when bands are minima). |
max_height | number (double) | Height of the maximum above the baseline (depth below it when bands are minima). |
max_value | number (double) | Signal at the maximum. |
centroid optional | number (double) | null | (signal − baseline)-weighted mean axis value (absent when that integral is not positive). |
peaks optional | array of integer (uint32) | Numbers of the detected bands whose apex lies in the region. |
peaks_area | number (double) | Summed area of those bands (each above its own detection baseline). |
SpectrumBands Bands and regions of one spectrum.
| Field | Type | Meaning |
|---|
label | string | Label (trace name). |
kind | string | Always spectrum. |
source | string | trace N sweep S. |
trace | integer (uint32) | Trace index. |
sweep | integer (uint32) | Sweep index. |
channel | integer (uint32) | Channel of the signal. |
x_quantity | string | Axis quantity: wavenumber, raman_shift, wavelength, chemical_shift, points, …. |
x_unit optional | string | null | Axis unit (1/cm, nm, ppm, …). |
y_quantity | string | Signal quantity (absorbance, intensity, transmittance, …). |
intensity_unit optional | string | null | Signal unit. |
area_unit | string | Unit of areas: signal unit (or quantity) × axis unit. |
points | integer (uint64) | Samples in the spectrum. |
x_min | number (double) | Smallest axis value. |
x_max | number (double) | Largest axis value. |
bands_are_minima optional | boolean | Bands are minima (transmittance, reflectance): detected on the negated signal. |
method | BandMethod | How bands were found. |
peak_count | integer (uint32) | Bands listed. |
peaks | array of Band | Detected bands (with regions: only those with the apex in one), in order of x. |
regions optional | array of Region | Integrated regions, in request order. |
notes optional | array of string | Anything the caller should know. |
peaks.schema.json · PeaksOutput
assay
openreadout analyze assay … --json data.
| Field | Type | Meaning |
|---|
path | string | The input file. |
format | string | Format id of the input (plate, or long-csv). |
analysis | string | The analysis run (wells, curve, dose-response, kinetics, growth, qc). |
table | integer (uint32) | Table (plate) index. |
plate optional | string | null | Plate (table) name. |
read | ReadSummary | The read analysed. |
reduce optional | string | null | How kinetic time courses were reduced to one value per well (endpoint analyses). |
layout | LayoutSummary | Where the layout came from and what it assigns. |
blank optional | BlankSummary | null | Blank subtraction applied. |
outliers | OutlierSummary | Outlier rule and flagged wells. |
wells optional | array of WellRow | One row per well. |
samples optional | array of SampleRow | One row per replicate group (sample, standard level, control, dose). |
curve optional | CurveReport | null | Standard-curve fit report (curve). |
compounds optional | array of CompoundRow | One row per compound (dose-response). |
kinetics optional | array of KineticRow | One row per well (kinetics). |
growth optional | array of GrowthRow | One row per well (growth). |
quality optional | QualityReport | null | Assay quality from control wells (whenever positive and negative controls exist). |
written optional | array of string | Files written (--csv, --preview). |
notes optional | array of string | What was assumed or left out. |
warnings optional | array of string | What may be wrong with the layout: role names read as samples, controls of unknown sign,
role-map entries that matched no well. |
Types used (15)
BlankSummary Blank subtraction applied.
| Field | Type | Meaning |
|---|
method | string | mean or median. |
wells | array of string | Blank wells used. |
n | integer (uint) | Number of blank wells used. |
value | number (double) | The value subtracted (endpoint), or its mean over time points (kinetic: subtracted per
time point). |
sd optional | number (double) | null | SD of the blank wells (endpoint). |
per_time_point optional | boolean | Whether the blank was subtracted per time point. |
CompoundRow Dose-response of one compound.
| Field | Type | Meaning |
|---|
compound | string | Compound name. |
kind | string | IC50 (response falls with dose) or EC50. |
ec50 optional | number (double) | null | Concentration at the curve's midpoint (the 4PL/5PL parameter c). |
ec50_se optional | number (double) | null | Standard error of ec50 (Wald, delta method). |
ec50_ci_low optional | number (double) | null | Lower confidence limit of ec50, from ln(c) ± t·SE(ln c). |
ec50_ci_high optional | number (double) | null | Upper confidence limit of ec50. |
log10_ec50 optional | number (double) | null | log10 of ec50. |
absolute_ec50 optional | number (double) | null | Concentration where the fitted curve crosses 50 % effect (normalize: controls). |
hill_slope optional | number (double) | null | Hill slope, GraphPad sign convention: positive when the response rises with dose. |
top optional | number (double) | null | The upper plateau: max(a, d). |
bottom optional | number (double) | null | The lower plateau: min(a, d). |
response_at_zero optional | number (double) | null | Response at zero dose (a). |
response_at_infinity optional | number (double) | null | Response at infinite dose (d). |
n_concentrations | integer (uint) | Doses (distinct concentrations). |
min_concentration | number (double) | Lowest and highest dose tested. |
max_concentration | number (double) | Highest dose tested. |
extrapolated optional | boolean | ec50 lies outside the tested doses. |
fit optional | FitReport | null | The fit. |
error optional | string | null | Why no fit was made. |
CurvePoint One point of a fit.
| Field | Type | Meaning |
|---|
label | string | Well (replicate fits) or group (fits on means). |
x | number (double) | Concentration. |
y | number (double) | Response. |
fitted | number (double) | Fitted response. |
residual | number (double) | y − fitted. |
CurveReport Standard-curve report.
| Field | Type | Meaning |
|---|
fit | FitReport | The fit. |
fit_on | string | replicates or means. |
range_low | number (double) | Lowest standard concentration. |
range_high | number (double) | Highest standard concentration. |
lloq optional | number (double) | null | Lower limit of quantification. |
uloq optional | number (double) | null | Upper limit of quantification. |
loq_rule | string | How LLOQ/ULOQ were set. |
concentration_unit optional | string | null | Unit of the concentrations, when the layout states one. |
FitReport A fitted curve.
| Field | Type | Meaning |
|---|
model | string | linear, 4pl, 5pl. |
formula | string | The formula in the parameter names. |
weighting | string | none, 1/y, 1/y2, 1/x, 1/x2. |
parameters | array of ParamRow | Parameters with standard errors and confidence limits. |
n_points | integer (uint) | Points fitted. |
n_levels | integer (uint) | Distinct concentrations. |
df | integer (uint) | Residual degrees of freedom. |
r_squared | number (double) | 1 − SSE/SST. |
residual_se optional | number (double) | null | Residual standard error √(SSE/df). |
sse | number (double) | Weighted sum of squared residuals. |
converged | boolean | Whether the optimiser converged. |
iterations | integer (uint) | Optimiser iterations. |
confidence | number (double) | Confidence level of the limits. |
direction | string | increasing or decreasing response with concentration. |
points | array of CurvePoint | The points with fitted values and residuals. |
GroupStats Statistics of a group of control wells.
| Field | Type | Meaning |
|---|
wells | array of string | Wells used. |
n | integer (uint) | Count. |
mean | number (double) | Mean. |
sd optional | number (double) | null | Sample SD. |
cv_percent optional | number (double) | null | CV %. |
min | number (double) | Smallest value. |
max | number (double) | Largest value. |
GrowthRow Growth metrics of one well.
| Field | Type | Meaning |
|---|
well | string | Well name. |
role | string | Role, or unassigned. |
sample optional | string | null | Sample name. |
n_points | integer (uint) | Time points used. |
background optional | number (double) | null | The well's own minimum, subtracted as background when the layout has no blank wells
(growthcurver's default); absent when blanks were subtracted or subtraction is off. |
window | integer (uint) | Points per window of the log-scale fit. |
threshold | number (double) | Values at or below this were left out of the log-scale fit. |
growth_rate_per_h optional | number (double) | null | Maximum specific growth rate µmax (per hour). |
doubling_time_h optional | number (double) | null | ln 2 / µmax, hours. |
doubling_time_min optional | number (double) | null | ln 2 / µmax, minutes. |
exp_phase_start_s optional | number (double) | null | First time of the exponential phase (s). |
exp_phase_end_s optional | number (double) | null | Last time of the exponential phase (s). |
exp_r_squared optional | number (double) | null | r² of ln(value) against time in the exponential phase. |
lag_time_s optional | number (double) | null | Lag time (s). |
max_value | number (double) | Largest value. |
time_to_max_s | number (double) | Time of the largest value (s). |
auc_h | number (double) | Trapezoidal area under the curve (value × h). |
logistic_k optional | number (double) | null | Logistic fit: carrying capacity K. |
logistic_n0 optional | number (double) | null | Logistic fit: N0 at the first time point. |
logistic_r_per_h optional | number (double) | null | Logistic fit: r (per hour). |
logistic_doubling_time_h optional | number (double) | null | Logistic fit: ln 2 / r (hours). |
logistic_t_mid_s optional | number (double) | null | Logistic fit: inflection time (s). |
logistic_sigma optional | number (double) | null | Logistic fit: residual SD. |
KineticRow Kinetic metrics of one well.
| Field | Type | Meaning |
|---|
well | string | Well name. |
role | string | Role, or unassigned. |
sample optional | string | null | Sample name. |
n_points | integer (uint) | Time points used. |
window | integer (uint) | Points per window. |
max_slope_per_min | number (double) | Largest windowed slope, value units per minute (Vmax). |
max_slope_per_s | number (double) | The same per second. |
max_slope_r_squared | number (double) | r² of the max-slope window. |
time_at_max_slope_s | number (double) | Mean time of the max-slope window (s). |
window_start_s | number (double) | First time of the max-slope window (s). |
window_end_s | number (double) | Last time of the max-slope window (s). |
lag_time_s optional | number (double) | null | Lag time (s). |
mean_slope_per_min | number (double) | Least-squares slope over all points, value units per minute. |
mean_slope_r_squared | number (double) | r² of the all-points line. |
max_value | number (double) | Largest value. |
time_to_max_s | number (double) | Time of the largest value (s). |
min_value | number (double) | Smallest value. |
initial_value | number (double) | First value. |
final_value | number (double) | Last value. |
auc | number (double) | Trapezoidal area under the curve (value × s). |
LayoutSummary Layout summary.
| Field | Type | Meaning |
|---|
sources | array of string | Sources merged, in order (later ones win well by well): embedded:<title>, a file path,
text, --blank, …. |
wells_assigned | integer (uint) | Measured wells with a role. |
roles | map of integer (uint) | Measured wells per role (unassigned for wells the layout does not name). |
concentration_unit optional | string | null | Unit of the concentrations, when the layout states one. |
OutlierSummary Outlier rule and result.
| Field | Type | Meaning |
|---|
rule | string | mad, grubbs or none. |
threshold optional | number (double) | null | Modified z-score cut-off (mad) or alpha (grubbs). |
flagged | array of string | Wells flagged. |
excluded | boolean | Whether flagged wells were left out of means, fits and controls. |
ParamRow One fitted parameter.
| Field | Type | Meaning |
|---|
name | string | Name (a, b, c, d, g; slope, intercept). |
value | number (double) | Estimate. |
se optional | number (double) | null | Standard error (Wald). |
ci_low optional | number (double) | null | Lower confidence limit: value − t·SE. |
ci_high optional | number (double) | null | Upper confidence limit: value + t·SE. |
QualityReport Assay quality of the plate (values as read, before blank subtraction).
| Field | Type | Meaning |
|---|
positive optional | GroupStats | null | Positive-control wells. |
negative optional | GroupStats | null | Negative-control wells. |
blank optional | GroupStats | null | Blank wells. |
samples optional | GroupStats | null | Sample wells. |
z_prime optional | number (double) | null | Z′ = 1 − 3 (SDpos + SDneg) / |mean pos − mean neg| (Zhang, Chung & Oldenburg 1999). |
z_factor optional | number (double) | null | Z = 1 − 3 (SDsamples + SDneg) / |mean samples − mean neg|. |
signal_to_background optional | number (double) | null | Higher control mean / lower control mean. |
signal_to_noise optional | number (double) | null | |mean pos − mean neg| / SDneg. |
ssmd optional | number (double) | null | Strictly standardized mean difference (mean pos − mean neg) / √(SDpos² + SDneg²). |
median_replicate_cv_percent optional | number (double) | null | Median CV % over replicate groups of two or more wells. |
assessment optional | string | null | excellent (Z′ ≥ 0.5), marginal (0 < Z′ < 0.5) or unusable (Z′ ≤ 0). |
ReadSummary The read analysed.
| Field | Type | Meaning |
|---|
number | integer (uint32) | 1-based read number. |
label | string | Label as the file writes it. |
mode optional | string | null | Detection mode. |
unit optional | string | null | Unit of the values. |
calculated optional | boolean | Values the vendor software calculated (not measured). |
kinetic | boolean | Whether the read has several time points per well. |
time_points optional | integer (uint) | null | Time points per well (kinetic reads). |
wavelength_nm optional | number (double) | null | The wavelength selected (spectral reads). |
wells_measured | integer (uint) | Wells with values. |
SampleRow One replicate group.
| Field | Type | Meaning |
|---|
group | string | Group name (the sample name, else role and concentration, else the well). |
role | string | Role of the group. |
sample optional | string | null | Sample name. |
compound optional | string | null | Compound. |
concentration optional | number (double) | null | Nominal concentration. |
dilution optional | number (double) | null | Dilution factor. |
wells | array of string | Wells of the group. |
metric | string | What mean/sd/cv_percent summarise: value (blank-subtracted), or a kinetic/growth
metric (max_slope_per_min, doubling_time_h). |
n | integer (uint) | Wells in the group. |
n_used | integer (uint) | Wells used (numbers, not excluded). |
mean optional | number (double) | null | Mean of the used wells. |
sd optional | number (double) | null | Sample SD (n − 1). |
cv_percent optional | number (double) | null | SD / |mean| × 100. |
outliers optional | array of string | Outlier wells. |
back_calculated_mean optional | number (double) | null | curve: mean of the wells' back-calculated concentrations. |
back_calculated_sd optional | number (double) | null | curve: SD of the wells' back-calculated concentrations. |
back_calculated_cv_percent optional | number (double) | null | curve: CV % of the wells' back-calculated concentrations. |
back_calculated_of_mean optional | number (double) | null | curve: concentration back-calculated from the group's mean signal. |
final_concentration optional | number (double) | null | back_calculated_mean × dilution. |
flag optional | string | null | curve: range flag of back_calculated_of_mean. |
recovery_percent optional | number (double) | null | Standards: back_calculated_mean / nominal × 100. |
WellRow One well.
| Field | Type | Meaning |
|---|
well | string | Well name (A1). |
row | integer (uint32) | 1-based row. |
col | integer (uint32) | 1-based column. |
role | string | Role (blank, standard, sample, positive, negative, control, empty), or
unassigned. |
group | string | Replicate group this well belongs to. |
sample optional | string | null | Sample name. |
compound optional | string | null | Compound. |
concentration optional | number (double) | null | Nominal concentration (standards, doses). |
dilution optional | number (double) | null | Dilution factor. |
raw optional | number (double) | null | The value as read (after reduce for kinetic reads); null when the cell was not a
number. |
value optional | number (double) | null | After blank subtraction (equal to raw without one). |
outlier | boolean | Flagged as an outlier in its replicate group. |
excluded | boolean | Left out of means and fits. |
back_calculated optional | number (double) | null | Concentration back-calculated from the standard curve (curve). |
final_concentration optional | number (double) | null | back_calculated × dilution. |
flag optional | string | null | curve: in_range, below_range, above_range (outside the standards'
concentrations), below_curve, above_curve (beyond an asymptote: no concentration) or
not_computable. |
quantifiable optional | boolean | null | curve: within [LLOQ, ULOQ]. |
recovery_percent optional | number (double) | null | Standards: back-calculated / nominal × 100. |
percent_effect optional | number (double) | null | dose-response with normalize: controls: percent effect. |
extra optional | map of string | Other layout columns. |
assay.schema.json · AssayOutput
qpcr
Output of qpcr_report.
| Field | Type | Meaning |
|---|
path | string | The input file. |
format | string | Format id. |
dialect | string | Dialect (rdml, eds-sds, eds-7500, eds-json, rex). |
experiment optional | string | null | Experiment or run name. |
instrument optional | string | null | Instrument model. |
acquisition_temperature_c optional | number (double) | null | Temperature of the step that reads fluorescence during cycling (the annealing /
extension temperature of a two-step PCR), °C. |
cycles optional | integer (uint32) | null | Number of PCR cycles in the program. |
reference_targets | array of string | Reference targets used or recorded (endogenous controls). |
control_sample optional | string | null | Control (calibrator) sample used or recorded. |
record_count | integer (uint64) | Records matching the filters. |
truncated | boolean | True when max_records cut the list. |
records | array of QpcrAssayRecord | The records. |
cq_counts | CqCounts | Cq statuses over every record that matches the filters (not cut by max_records). |
targets | array of TargetCqSummary | Per target: counts by Cq status and the mean Cq without the undetermined results. |
undetermined_cq optional | number (double) | null | Cq used for undetermined results in the aggregates, when the request gave one. |
cq_comparison optional | CqComparison | null | Our Cq against the vendor's (with compute_cq). |
relative_quantities | array of RelativeQuantity | ΔΔCq results (with relative). |
standard_curves | array of StandardCurveFit | Standard curves (with standard_curve). |
notes | array of string | What to keep in mind. |
Types used (6)
CqComparison Our threshold Cq against the vendor's, over every curve with a vendor result.
| Field | Type | Meaning |
|---|
method | string | How our Cq was computed. |
curves | integer (uint64) | Curves compared. |
both_cq | integer (uint64) | Both give a Cq. |
both_undetermined | integer (uint64) | Both say there is no Cq. |
only_vendor | integer (uint64) | Only the vendor gives a Cq. |
only_ours | integer (uint64) | Only we give a Cq. |
vendor_threshold_used | integer (uint64) | Curves where the threshold came from the file (the vendor's own). |
mean_difference optional | number (double) | null | Mean of (ours − vendor), cycles. |
mean_abs_difference optional | number (double) | null | Mean absolute difference, cycles. |
median_abs_difference optional | number (double) | null | Median absolute difference, cycles. |
max_abs_difference optional | number (double) | null | Largest absolute difference, cycles. |
within_0_1 optional | number (double) | null | Fraction of both_cq within 0.1 cycles. |
within_0_5 optional | number (double) | null | Fraction of both_cq within 0.5 cycles. |
pearson_r optional | number (double) | null | Pearson correlation of the two Cq lists. |
CqCounts Cq statuses of a set of records.
| Field | Type | Meaning |
|---|
records | integer (uint64) | Records (well × target). |
determined | integer (uint64) | With a Cq. |
undetermined | integer (uint64) | Without a Cq because nothing amplified ("Undetermined"). |
no_result | integer (uint64) | Without any result (not analysed, setup only). |
excluded | integer (uint64) | Excluded or omitted in the file (counted in the other fields too). |
QpcrAssayRecord One well × target, with names resolved.
| Field | Type | Meaning |
|---|
run | string | Run (plate) name. |
well | string | Well name (A1). |
row | integer (uint32) | Plate row, 1-based. |
col | integer (uint32) | Plate column, 1-based. |
sample optional | string | null | Sample name. |
target optional | string | null | Target (assay, detector, gene). |
dye optional | string | null | Reporter dye. |
task optional | string | null | Role of the well for this target: unknown, standard, ntc, nac, ntp, nrt,
positive, ... |
quantity optional | number (double) | null | Given quantity (standards). |
cq optional | number (double) | null | Cq (Ct) as the vendor software or RDML file reports it. |
cq_undetermined | boolean | True when the file says there is no Cq (Undetermined, -1, NaN, or an SDS/7500 Ct
equal to the cycle count). |
cq_status | string | determined (a Cq), undetermined (no amplification: cq is null) or no result. |
cq_stored optional | number (double) | null | The number the file stores for an undetermined result (SDS/7500 .eds: the cycle
count, e.g. 40), kept for reference; never a Cq. |
cq_mean optional | number (double) | null | Mean Cq of the replicate group (vendor). |
cq_sd optional | number (double) | null | Standard deviation of the replicate group's Cq (vendor). |
tm | array of number (double) | Melting temperatures of the product, °C (vendor; several when the curve has several
peaks). |
threshold optional | number (double) | null | Threshold the Cq was called at (vendor). |
auto_threshold optional | boolean | null | Whether the vendor threshold was set automatically. |
baseline_start optional | integer (uint32) | null | First cycle of the baseline window (vendor). |
baseline_end optional | integer (uint32) | null | Last cycle of the baseline window (vendor). |
amp_status optional | string | null | Amplification status (vendor). |
cq_confidence optional | number (double) | null | Cq confidence (vendor). |
calculated_quantity optional | number (double) | null | Quantity calculated by the vendor software from a standard curve. |
efficiency optional | number (double) | null | Amplification efficiency of this reaction (fold per cycle), when the file has one. |
excluded optional | string | null | Why the result is excluded (omitted wells, RDML excl). |
flags | array of string | Vendor QC flags. |
vendor_delta_cq optional | number (double) | null | ΔCq to the reference target as the vendor computed it (ΔΔCt experiments). |
vendor_rq optional | number (double) | null | Relative quantity as the vendor computed it. |
computed_cq optional | number (double) | null | Our threshold Cq (with compute_cq). |
computed_threshold optional | number (double) | null | Threshold our Cq used. |
computed_cq_status optional | string | null | determined or undetermined for our Cq (with compute_cq; a curve that never crosses
the threshold, or crosses it only at the last read, is undetermined). |
cycles | integer (uint32) | Number of cycles in the amplification curve. |
RelativeQuantity ΔΔCq relative quantification of one sample × target.
| Field | Type | Meaning |
|---|
sample | string | Sample. |
target | string | Target of interest. |
replicates | integer (uint32) | Replicate wells averaged: those with a Cq (plus the undetermined ones when
undetermined_cq is given). |
undetermined | integer (uint32) | Replicate wells of this sample × target without a Cq (undetermined): left out of the
mean, or counted at undetermined_cq when the request gives one. |
cq_mean | number (double) | Mean Cq of the target in this sample. |
cq_sd optional | number (double) | null | Standard deviation of those Cqs. |
reference_cq_mean | number (double) | Mean Cq of the reference target(s) in this sample (arithmetic mean over references). |
delta_cq | number (double) | ΔCq = target − reference. |
delta_cq_sd optional | number (double) | null | SD of ΔCq (target and reference SDs combined in quadrature). |
delta_delta_cq optional | number (double) | null | ΔΔCq = ΔCq(sample) − ΔCq(control sample); None without a control. |
rq optional | number (double) | null | 2^−ΔΔCq. |
rq_min optional | number (double) | null | 2^−(ΔΔCq + SD). |
rq_max optional | number (double) | null | 2^−(ΔΔCq − SD). |
efficiency_corrected_rq optional | number (double) | null | Efficiency-corrected ratio (Pfaffl) when every efficiency involved is known. |
vendor_delta_cq optional | number (double) | null | ΔCq the vendor software computed for these wells, when stored. |
vendor_rq optional | number (double) | null | Relative quantity the vendor software computed, when stored. |
StandardCurveFit A standard curve fitted to the standard wells of one target.
| Field | Type | Meaning |
|---|
target | string | Target. |
points | integer (uint32) | Standard wells used. |
levels | integer (uint32) | Distinct quantities. |
slope | number (double) | Slope of Cq against log10(quantity). |
intercept | number (double) | Cq at quantity 1. |
r2 | number (double) | Coefficient of determination. |
efficiency_percent | number (double) | Efficiency, percent: (10^(−1/slope) − 1) × 100. |
vendor_slope optional | number (double) | null | The vendor's slope for this target, when the file stores its standard curve. |
vendor_efficiency_percent optional | number (double) | null | The vendor's efficiency, percent. |
vendor_r2 optional | number (double) | null | The vendor's r². |
TargetCqSummary Per-target Cq summary over the records that match the filters.
| Field | Type | Meaning |
|---|
target | string | Target. |
counts | CqCounts | Record counts by status (every task, excluded records included in the counts). |
averaged | integer (uint64) | Records averaged: not excluded, with a Cq (plus the undetermined ones when
undetermined_cq is given). |
cq_mean optional | number (double) | null | Mean Cq of those records; undetermined results are left out unless undetermined_cq
is given. |
cq_sd optional | number (double) | null | Sample standard deviation of those Cqs. |
cq_min optional | number (double) | null | Smallest Cq. |
cq_max optional | number (double) | null | Largest Cq. |
qpcr.schema.json · QpcrReport
nmr-peaks
Output of analyze nmr-peaks.
| Field | Type | Meaning |
|---|
path | string | The input path. |
format | string | Format id. |
source | string | processed (a spectrum the vendor software stored) or fid (processed here). |
trace | integer (uint32) | Trace used (see info → traces[]). |
trace_name optional | string | null | Its name. |
sweep | integer (uint32) | Sweep (row) used. |
nucleus optional | string | null | Observed nucleus, when known. |
processing optional | ProcessingRecord | null | How the FID was processed (source = fid only). |
axis | PpmAxis | The chemical-shift axis of the spectrum. |
noise_sd | number (double) | Robust noise standard deviation (same units as height). |
peak_options | PeakOptions | Thresholds used. |
peak_count | integer (uint) | Number of peaks found. |
main_peak optional | Peak | null | The tallest positive peak (named like analyze peaks → main_peak for chromatograms). |
peaks | array of Peak | Peaks, high shift first. |
integrals optional | array of Integral | Integrals of the requested regions. |
notes optional | array of string | Remarks. |
Types used (9)
Apodization Window function applied to the FID.
One of: object | object | object
BaselineMode Baseline correction choice.
One of: object | object | object
FidParameters What the processing needs to know about an acquisition.
| Field | Type | Meaning |
|---|
spectral_width_hz | number (double) | Spectral width (Hz): the complex sampling rate. |
carrier_frequency_mhz | number (double) | Carrier (transmitter) frequency, MHz: the centre of the spectrum. |
reference_frequency_mhz | number (double) | Frequency of 0 ppm, MHz (the referencing frequency). |
group_delay_points | number (double) | Digital-filter group delay in points (0 when the data carry none). |
conjugate | boolean | Complex-conjugate the FID before the transform (reverses the frequency axis). |
nucleus optional | string | null | Observed nucleus, e.g. 1H, 13C. |
Integral One integral.
| Field | Type | Meaning |
|---|
from_ppm | number (double) | High-shift end of the region, ppm. |
to_ppm | number (double) | Low-shift end of the region, ppm. |
value | number (double) | Sum of the points × point spacing (intensity·ppm). |
normalized optional | number (double) | null | value rescaled so the reference region has the reference value (None when the
reference integral is 0 or missing). |
points | integer (uint) | Points summed. |
Peak One picked peak.
| Field | Type | Meaning |
|---|
ppm | number (double) | Chemical shift, ppm (parabolic interpolation). |
hz | number (double) | Frequency relative to 0 ppm, Hz. |
index | integer (uint) | Index of the maximum point. |
height | number (double) | Interpolated height (negative for negative peaks). |
width_hz optional | number (double) | null | Full width at half height, Hz (None when overlapping lines hide the half-height point). |
width_ppm optional | number (double) | null | Full width at half height, ppm. |
snr optional | number (double) | null | |height| / noise SD (None when the noise SD is 0). |
PeakOptions Peak-picking thresholds.
| Field | Type | Meaning |
|---|
min_snr | number (double) | Minimum height as a multiple of the noise SD. |
min_height_fraction | number (double) | Minimum height as a fraction of the tallest point in the searched range (0 = off). |
min_prominence_snr | number (double) | Minimum prominence as a multiple of the noise SD. |
include_negative | boolean | Also report negative peaks. |
range_ppm optional | array of any | null | Only search between these shifts (ppm, either order). |
max_peaks | integer (uint) | Keep at most this many peaks (the tallest). |
PpmAxis A regular chemical-shift axis: point k is at first_ppm + k · step_ppm.
| Field | Type | Meaning |
|---|
first_ppm | number (double) | Chemical shift of point 0 (the left, high-frequency edge), ppm. |
step_ppm | number (double) | Increment per point, ppm (negative: shifts decrease left to right). |
size | integer (uint) | Number of points. |
reference_frequency_mhz | number (double) | Frequency of 0 ppm, MHz (converts ppm to Hz). |
ProcessingRecord What was done, with the values actually used.
| Field | Type | Meaning |
|---|
steps | array of string | Steps in order, e.g. zero_fill, group_delay, apodization, fft, phase, baseline. |
fid_points | integer (uint) | Complex points in the FID. |
size | integer (uint) | Transform size, complex points. |
apodization optional | Apodization | null | Window applied. |
apodization_source | string | Where the window width came from: stored, default, option. |
group_delay_points | number (double) | Group delay removed, points. |
phase_mode | string | Phase mode actually used: stored, auto, manual, magnitude, none. |
phase0_deg | number (double) | Zero-order phase applied, degrees. |
phase1_deg | number (double) | First-order phase applied, degrees. |
baseline | BaselineMode | Baseline correction applied. |
parameters | FidParameters | Parameters used. |
stored | StoredProcessing | Stored processing values found (may be unused). |
notes optional | array of string | Remarks (fallbacks, clamping). |
StoredProcessing Processing parameters the vendor software stored with the data, in this crate's conventions.
| Field | Type | Meaning |
|---|
source optional | string | null | Where they came from, e.g. pdata/1/procs or procpar. |
size optional | integer (uint) | null | Transform size in complex points. |
line_broadening_hz optional | number (double) | null | Exponential line broadening, Hz. |
phase0_deg optional | number (double) | null | Zero-order phase, degrees (φ0 of the module docs). |
phase1_deg optional | number (double) | null | First-order phase across the whole spectrum, degrees (φ1). |
spectrum_stored optional | boolean | True when the vendor software also stored a processed spectrum made with these values. |
first_point_factor optional | number (double) | null | Factor applied to the first FID point (Bruker FCOR); None: 0.5. |
time_domain_points optional | integer (uint) | null | Complex FID points the vendor processing used (Bruker TDeff / 2); None: all. |
nmr-peaks.schema.json · NmrReport
ephys-features
Output of analyze ephys-features.
| Field | Type | Meaning |
|---|
path | string | Input path. |
format | string | Format id. |
trace | integer (uint32) | Trace analysed. |
channel | ChannelRef | Channel analysed. |
clamp_mode | string | current_clamp, voltage_clamp or unknown (from the channel and command units). |
sample_rate_hz | number (double) | Sampling rate, Hz. |
settings | ApSettings | Spike detection settings. |
stimulus optional | StimulusInfo | null | Stimulus from the protocol, when there is one. |
cell | CellFeatures | Per-cell features. |
sweeps | array of SweepFeatures | One row per sweep. |
spike_count_total | integer (uint) | Total spikes detected. |
spikes | array of Spike | One row per spike (at most max_spikes). |
spikes_truncated | boolean | True when spikes was cut at max_spikes. |
notes optional | array of string | Remarks. |
Types used (9)
ApSettings Detection settings.
| Field | Type | Meaning |
|---|
peak_threshold_mv | number (double) | Voltage a spike must cross upward, mV. |
dvdt_threshold_v_per_s | number (double) | dV/dt defining the onset, V/s. |
dvdt_window_samples | integer (uint) | Consecutive samples the onset criterion must hold. |
CellFeatures Per-cell summary.
| Field | Type | Meaning |
|---|
resting_mv optional | number (double) | null | Median baseline (pre-stimulus) voltage over sweeps, mV. |
rheobase_pa optional | number (double) | null | Smallest depolarising step that evokes at least one spike during the stimulus, pA. |
rheobase_sweep optional | integer (uint32) | null | The sweep of that step. |
fi_curve | array of FiPoint | f–I curve over depolarising steps. |
fi_slope_hz_per_pa optional | number (double) | null | Least-squares slope of rate vs current over steps that fire, Hz/pA. |
max_firing_rate_hz optional | number (double) | null | Highest firing rate, Hz. |
input_resistance_mohm optional | number (double) | null | Slope of steady-state deflection vs current over spike-free hyperpolarising steps, MΩ. |
tau_ms optional | number (double) | null | Median time constant over hyperpolarising steps, ms. |
capacitance_pf optional | number (double) | null | τ / R_in, pF. |
sag_ratio optional | number (double) | null | Sag ratio of the most hyperpolarising step. |
holding_current_pa optional | number (double) | null | Median holding current, pA (voltage clamp). |
access_resistance_mohm optional | number (double) | null | Median access resistance, MΩ (voltage clamp). |
membrane_resistance_mohm optional | number (double) | null | Median membrane resistance, MΩ (voltage clamp). |
membrane_capacitance_pf optional | number (double) | null | Median membrane capacitance from the test pulse, pF (voltage clamp). |
ChannelRef The channel analysed.
| Field | Type | Meaning |
|---|
index | integer (uint32) | Channel index. |
name | string | Name. |
unit optional | string | null | Unit as recorded. |
FiPoint One point of the f–I curve.
| Field | Type | Meaning |
|---|
sweep | integer (uint32) | Sweep. |
current_pa | number (double) | Injected current relative to holding, pA. |
rate_hz | number (double) | Firing rate during the stimulus, Hz. |
spike_count | integer (uint) | Spikes during the stimulus. |
Spike One action potential.
| Field | Type | Meaning |
|---|
sweep | integer (uint32) | Sweep index. |
index | integer (uint32) | Spike number within the sweep (0-based). |
peak_sample | integer (uint64) | Sample index of the peak within the sweep. |
peak_time_s | number (double) | Peak time from the sweep start, s. |
peak_mv | number (double) | Peak voltage, mV. |
threshold_time_s | number (double) | Onset time, s. |
threshold_mv | number (double) | Onset voltage, mV. |
threshold_from_dvdt | boolean | True when the onset met the dV/dt criterion. |
amplitude_mv | number (double) | Peak − onset voltage, mV. |
half_width_ms optional | number (double) | null | Width at half amplitude, ms. |
rise_time_ms | number (double) | Onset to peak, ms. |
decay_time_ms optional | number (double) | null | Peak to the return to the onset voltage, ms. |
ahp_mv optional | number (double) | null | After-hyperpolarisation minimum, mV. |
ahp_depth_mv optional | number (double) | null | Onset − AHP minimum, mV. |
upstroke_v_per_s | number (double) | Largest rising dV/dt, V/s. |
downstroke_v_per_s optional | number (double) | null | Largest falling dV/dt (negative), V/s. |
isi_ms optional | number (double) | null | Time since the previous spike's peak, ms. |
StepResponse Passive response to one current step.
| Field | Type | Meaning |
|---|
baseline_mv optional | number (double) | null | Baseline voltage, mV. |
steady_state_mv optional | number (double) | null | Steady-state voltage at the end of the step, mV. |
extreme_mv optional | number (double) | null | Extreme voltage during the step (minimum for hyperpolarising steps), mV. |
input_resistance_mohm optional | number (double) | null | (steady − baseline) / ΔI, MΩ. |
tau_ms optional | number (double) | null | Membrane time constant, ms. |
sag_ratio optional | number (double) | null | (steady − min) / (baseline − min) (eFEL sag_ratio1), hyperpolarising steps. |
steady_fraction optional | number (double) | null | (baseline − steady) / (baseline − min) (eFEL sag_ratio2), hyperpolarising steps. |
StimulusInfo The stimulus found in the protocol.
| Field | Type | Meaning |
|---|
output | string | Command output name. |
unit optional | string | null | Command unit. |
holding | number (double) | Holding level, in unit. |
epoch optional | integer (uint32) | null | Epoch index used as the stimulus. |
SweepFeatures One sweep.
| Field | Type | Meaning |
|---|
sweep | integer (uint32) | Sweep index. |
stimulus_start_s optional | number (double) | null | Stimulus start, s from the sweep start. |
stimulus_end_s optional | number (double) | null | Stimulus end, s. |
stimulus_pa optional | number (double) | null | Injected current relative to holding, pA (current clamp). |
stimulus_mv optional | number (double) | null | Command step relative to holding, mV (voltage clamp). |
spike_count | integer (uint) | Spikes in the whole sweep. |
spike_count_stimulus optional | integer (uint) | null | Spikes whose peak falls inside the stimulus. |
firing_rate_hz optional | number (double) | null | Spikes in the stimulus / stimulus duration, Hz. |
first_spike_latency_ms optional | number (double) | null | First spike peak after stimulus onset, ms. |
isi_mean_ms optional | number (double) | null | Mean inter-spike interval inside the stimulus, ms. |
isi_cv optional | number (double) | null | ISI coefficient of variation inside the stimulus. |
adaptation_index optional | number (double) | null | ISI adaptation index inside the stimulus. |
half_width_mean_ms optional | number (double) | null | Mean spike half-width, ms. |
amplitude_mean_mv optional | number (double) | null | Mean spike amplitude (peak − onset), mV. |
passive optional | StepResponse | null | Passive response (current clamp, spike-free sweeps; baseline always). |
test_pulse optional | TestPulse | null | Test-pulse metrics (voltage clamp). |
TestPulse Voltage-clamp test-pulse metrics (module docs).
| Field | Type | Meaning |
|---|
delta_mv | number (double) | Voltage step, mV. |
holding_current_pa optional | number (double) | null | Current before the step, pA. |
peak_current_pa optional | number (double) | null | Transient peak minus baseline, pA. |
steady_current_pa optional | number (double) | null | Steady state minus baseline, pA. |
access_resistance_mohm optional | number (double) | null | ΔV / peak, MΩ. |
membrane_resistance_mohm optional | number (double) | null | ΔV / steady − access, MΩ. |
total_resistance_mohm optional | number (double) | null | ΔV / steady, MΩ. |
tau_ms optional | number (double) | null | Decay time constant of the transient, ms. |
capacitance_pf optional | number (double) | null | Q/ΔV · ((Ra + Rm)/Rm)² from the transient's charge, pF. |
ephys-features.schema.json · CellReport
spikes
Output of analyze spikes.
| Field | Type | Meaning |
|---|
path | string | Input path. |
format | string | Format id. |
trace | integer (uint32) | Trace analysed. |
sample_rate_hz | number (double) | Sampling rate, Hz. |
settings | DetectSettings | Settings used (the high edge after clamping to 0.45 × the sampling rate). |
sweeps | array of integer (uint32) | Sweeps analysed. |
channels | array of ChannelSpikes | One entry per channel. |
spike_count_total | integer (uint) | Spikes on all channels. |
notes optional | array of string | Remarks. |
Types used (4)
ChannelSpikes Detection results of one channel.
| Field | Type | Meaning |
|---|
channel | integer (uint32) | Channel index. |
name | string | Channel name. |
unit optional | string | null | Unit of noise and threshold. |
noise | number (double) | Noise (MAD / 0.6745 of the filtered signal; the first sweep analysed). |
threshold | number (double) | Detection threshold (threshold × noise). |
spike_count | integer (uint) | Spikes detected, all sweeps. |
rate_hz | number (double) | Spikes per second of analysed signal. |
duration_s | number (double) | Seconds analysed. |
times | array of SpikeTime | Spike times, s from each sweep's start, with the sweep (at most max_times). |
times_truncated | boolean | True when times was cut. |
DetectSettings Detection settings.
| Field | Type | Meaning |
|---|
low_hz | number (double) | Band-pass low edge, Hz. |
high_hz | number (double) | Band-pass high edge, Hz (clamped to 0.45 × the sampling rate). |
order | integer (uint) | Butterworth order. |
threshold | number (double) | Threshold in noise units. |
sign | PeakSign | Direction. |
exclude_ms | number (double) | Exclusion half-window, ms. |
PeakSign Which deflections count.
One of: "neg" | "pos" | "both"
SpikeTime One spike time.
| Field | Type | Meaning |
|---|
sweep | integer (uint32) | Sweep/segment. |
sample | integer (uint64) | Sample within the sweep. |
time_s | number (double) | Seconds from the sweep start. |
amplitude | number (double) | Filtered amplitude at the peak (in the channel unit). |
spikes.schema.json · SpikesReport
gate
Output of analyze gate.
| Field | Type | Meaning |
|---|
path optional | string | null | The FCS file gated; absent when only the gating file was described. |
gating_file | string | The gating file (FlowJo workspace or Gating-ML document). |
gating_format | string | flowjo-wsp or gating-ml. |
workspace optional | WorkspaceSummary | null | Workspace-level facts (FlowJo only). |
sample optional | SampleSummary | null | The workspace sample whose gates were used (FlowJo only). |
table optional | integer (uint32) | null | FCS data set (table) gated. |
event_count optional | integer (uint64) | null | Events in the data set. |
compensation | array of CompensationSummary | Compensation matrices the gating file defines (and whether any gate used them). |
transforms | array of TransformSummary | Transforms by id (FlowJo: by parameter name). |
populations | array of PopulationRow | One row per population, parents before children. |
tree | array of PopulationNode | The same populations as a tree (quadrant gates appear as grouping nodes without a count). |
notes optional | array of string | Caveats: skipped populations, disagreements with counts stored in the workspace, scaling. |
Types used (8)
CompensationSummary A compensation or unmixing matrix.
| Field | Type | Meaning |
|---|
name | string | Matrix name or id; $SPILLOVER/$SPILL/SPILL for the FCS file's own. |
source | string | Where it comes from: workspace, gating-ml, fcs or command-line. |
detectors | array of string | Detectors (columns), $PnN. |
fluorochromes | array of string | Rows: fluorochromes, or the detectors that receive the unmixed values. |
matrix | array of array of number (double) | Row-major coefficients (spillover fractions). |
spectral | boolean | More detectors than rows: unmixed by ordinary least squares. |
used | boolean | Whether a gate (or the table) used it. |
GateDimension One gate axis.
| Field | Type | Meaning |
|---|
parameter | string | Parameter ($PnN, fluorochrome) or ratio id. |
compensation | string | uncompensated, FCS or a matrix name. |
transform optional | string | null | Transform id, if any. |
min optional | number (double) | null | Lower bound (inclusive), as stored. |
max optional | number (double) | null | Upper bound (exclusive), as stored. |
GroupSummary A workspace group.
| Field | Type | Meaning |
|---|
name | string | Group name. |
samples | array of string | Sample names in the group. |
PopulationNode A node of the population tree.
| Field | Type | Meaning |
|---|
name | string | Population name. |
path | string | /-separated path from the root (/Lymphocytes/Single Cells/CD3+). |
gate_type | string | Gate type, or quadrant-gate for the node grouping a quadrant gate's quadrants. |
count optional | integer (uint64) | null | Events (absent without an FCS file, and for quadrant-gate grouping nodes). |
children optional | array of PopulationNode | Child populations. |
PopulationRow One population.
| Field | Type | Meaning |
|---|
path | string | /-separated path from the root (/Lymphocytes/Single Cells/CD3+). |
name | string | Population name. |
parent optional | string | null | Parent path; absent for populations of all events. |
gate_type | string | rectangle, polygon, ellipsoid, quadrant or boolean. |
dimensions | array of GateDimension | Gate axes. |
gate | any | Gate geometry as stored: vertices, mean/covariance/distance_square, foci/edge,
or op/operands (paths, with complement). |
complement | boolean | Events outside the gate form the population (FlowJo eventsInside="0"). |
coordinates | string | Coordinates are stored before the transform (untransformed, FlowJo) or after it. |
count optional | integer (uint64) | null | Events in the population (absent when no FCS file was given). |
percent_of_parent optional | number (double) | null | Percent of the parent population's events. |
percent_of_total optional | number (double) | null | Percent of all events. |
stored_count optional | integer (uint64) | null | The count the gating software stored (FlowJo count), for comparison. |
medians optional | map of number (double) | Median fluorescence (or scatter) of the population's events for each parameter asked for
(analyze gate --median), keyed by the name as asked: scale values (after $PnE/$PnG),
compensated when the name carries the workspace's Comp- prefix. Absent for an empty
population. |
SampleSummary A workspace sample.
| Field | Type | Meaning |
|---|
id | string | FlowJo sample id. |
name | string | Sample name. |
uri optional | string | null | Where FlowJo found the FCS file. |
event_count optional | integer (uint64) | null | Event count FlowJo stored. |
groups | array of string | Groups the sample belongs to. |
population_count | integer (uint) | Populations in the sample's gate tree. |
compensation optional | string | null | Name of the sample's compensation matrix. |
keywords optional | map of string | Keywords FlowJo stored with the sample (FCS TEXT plus its own). |
TransformSummary A parameter transform defined in the gating file.
| Field | Type | Meaning |
|---|
id | string | Id (FlowJo: the parameter it applies to). |
kind | string | linear, log, arcsinh, logicle, hyperlog, ratio, flowjo-log, flowjo-biex,
arcsinh-cofactor, or the element name of an unsupported FlowJo transform. |
parameters | map of number (double) | Parameters (T, W, M, A, offset, decades, neg, width, pos, maxRange, …). |
supported | boolean | False for transforms this reader does not evaluate. |
WorkspaceSummary Facts about a FlowJo workspace.
| Field | Type | Meaning |
|---|
version optional | string | null | Workspace format version (20.0). |
flowjo_version optional | string | null | FlowJo release that saved it. |
modified optional | string | null | Modification date as written. |
groups | array of GroupSummary | Groups and their member sample names. |
samples | array of SampleSummary | Every sample in the workspace. |
gate.schema.json · GateOutput
batch-table
Output of a batch command in table mode.
| Field | Type | Meaning |
|---|
measure | string | Measure (stats, trace, table, gate, info, …). |
grain | array of string | Columns that identify a row within its data set. |
inputs | InputReport | How the inputs became data sets. |
joins optional | array of JoinReport | Sample sheets and layouts joined, in order. |
columns | array of Column | Columns of rows, with type, unit and role (id, key, metadata, annotation,
value, error). |
total_rows | integer (uint64) | Rows in the whole table. |
offset | integer (uint64) | Index of the first row in rows. |
returned_rows | integer (uint64) | Rows returned here. |
truncated | boolean | True when the table has rows after the last one returned (page with offset, or read
the full table from output). |
rows | array of array of Value | Rows as arrays in column order. |
summary optional | SummaryOutput | null | The group summary (--by). |
output optional | WrittenFile | null | The file the full table was written to (-o). |
warnings optional | array of string | Things to check: skipped inputs, grouping, join results. |
Types used (14)
Column One column.
| Field | Type | Meaning |
|---|
name | string | Name (stable; units that never change are part of it, e.g. sample_rate_hz). |
type | ColumnType | Inferred type. |
unit optional | string | null | Unit of every value in the column, when fixed. |
role | Role | What the column holds. |
description optional | string | null | One line on its meaning. |
ColumnType Column type, inferred from the cells.
One of: "string" | "integer" | "float" | "boolean"
InputReport How the inputs turned into data sets.
| Field | Type | Meaning |
|---|
datasets | integer (uint64) | Data sets measured (rows come from these), including those that failed. |
ok | integer (uint64) | Data sets measured without error. |
failed | integer (uint64) | Data sets that failed (their rows carry error). |
skipped_unknown | integer (uint64) | Files found by walking a directory that no reader recognises (not in the table). |
skipped_format | integer (uint64) | Data sets of other formats left out by the format filter. |
skipped_sheets | integer (uint64) | Sample sheets and layouts found among the inputs (never measured). |
grouped_members | integer (uint64) | Files that belong to another input's multi-file data set (measured once, with it). |
skipped_examples optional | array of string | A few of the skipped paths, with why. |
reused optional | integer (uint64) | Data sets whose rows were reused from the journal of an interrupted run. |
JoinReport What a join did.
| Field | Type | Meaning |
|---|
sheet | SampleSheet | The sheet read. |
key | array of KeyCandidate | The key used: one or more (sheet column, field) pairs, all of which must agree. |
auto | boolean | True when the key was chosen from the data (no --key). |
alternatives optional | array of KeyCandidate | The next best keys (auto only), to judge how clear the choice was. |
annotations | array of string | Columns added to the table. |
matched_rows | integer (uint64) | Table rows that got annotations. |
rows | integer (uint64) | Rows in the table. |
matched_datasets | integer (uint64) | Data sets with at least one annotated row. |
datasets | integer (uint64) | Data sets in the table. |
unmatched_datasets | array of string | Data sets no sheet row matched (first 20). |
unmatched_datasets_count | integer (uint64) | How many data sets no sheet row matched. |
unmatched_sheet_rows | array of string | Sheet rows that matched no table row, by their key values (first 20). |
unmatched_sheet_rows_count | integer (uint64) | How many sheet rows matched nothing. |
ambiguous | array of string | Table rows that matched several sheet rows that disagree (first 20); left without
annotations. |
ambiguous_count | integer (uint64) | How many rows were ambiguous. |
warnings optional | array of string | Things to check. |
KeyCandidate One key pair tried.
| Field | Type | Meaning |
|---|
sheet_column | string | Sheet column. |
field | KeyField | Table key. |
matched_rows | integer (uint64) | Table rows it matches. |
matched_datasets | integer (uint64) | Data sets it matches. |
KeyField A key of the table's rows a sheet column can match.
One of: "path" | "file" | "stem" | "sample_id" | "sample_name" | "barcode" | "well" | "position" | "run_order" | object
Role What a column holds.
One of: "id" | "key" | "annotation" | "metadata" | "value" | "error"
SampleSheet A sample sheet or plate layout in long form.
| Field | Type | Meaning |
|---|
path | string | The file. |
worksheet optional | string | null | Worksheet read (workbooks only). |
kind | SheetKind | Table or plate layout. |
columns | array of string | Column names (a layout: well, then one per grid). |
plate_wells optional | integer (uint32) | null | Plate format of a layout (96, 384, 1536, …). |
notes optional | array of string | What was assumed while reading. |
SheetKind How the sheet was laid out.
One of: "table" | "plate_layout"
SummaryOutput A summary: one row per group and value column.
| Field | Type | Meaning |
|---|
group_by | array of string | Columns that define a group: by plus the measurement dimensions added. |
added_dimensions optional | array of string | Dimensions added automatically. |
values | array of string | Value columns summarized. |
replicate optional | string | null | Replicate column, if any. |
test optional | string | null | Test and control, if any. |
control optional | string | null | The control group (value of the first by column). |
rows_used | integer (uint64) | Table rows used / left out (errors, filters, missing values). |
rows_excluded | integer (uint64) | Rows left out by filters or errors. |
table | Table | The summary table. |
notes optional | array of string | Things to know. |
Table A table: columns and rows of cells in column order.
| Field | Type | Meaning |
|---|
columns | array of Column | Columns. |
rows | array of array of Value | Rows; each has one cell per column. |
TableFormat A table file format.
One of: "csv" | "tsv" | "jsonl" | "json" | "parquet"
Value One cell.
One of: boolean | integer (int64) | number (double) | string | null
WrittenFile What was written.
| Field | Type | Meaning |
|---|
path | string | The file. |
format | TableFormat | Its format. |
rows | integer (uint64) | Data rows. |
columns | integer (uint64) | Columns. |
bytes | integer (uint64) | Size in bytes. |
verified | boolean | Read back and checked before it was renamed into place. |
batch-table.schema.json · BatchOutput
batch-summary
Output of batch summarize.
| Field | Type | Meaning |
|---|
input | string | The table summarized. |
summary | SummaryOutput | The summary. |
output optional | WrittenFile | null | Where it was written (-o). |
Types used (8)
Column One column.
| Field | Type | Meaning |
|---|
name | string | Name (stable; units that never change are part of it, e.g. sample_rate_hz). |
type | ColumnType | Inferred type. |
unit optional | string | null | Unit of every value in the column, when fixed. |
role | Role | What the column holds. |
description optional | string | null | One line on its meaning. |
ColumnType Column type, inferred from the cells.
One of: "string" | "integer" | "float" | "boolean"
Role What a column holds.
One of: "id" | "key" | "annotation" | "metadata" | "value" | "error"
SummaryOutput A summary: one row per group and value column.
| Field | Type | Meaning |
|---|
group_by | array of string | Columns that define a group: by plus the measurement dimensions added. |
added_dimensions optional | array of string | Dimensions added automatically. |
values | array of string | Value columns summarized. |
replicate optional | string | null | Replicate column, if any. |
test optional | string | null | Test and control, if any. |
control optional | string | null | The control group (value of the first by column). |
rows_used | integer (uint64) | Table rows used / left out (errors, filters, missing values). |
rows_excluded | integer (uint64) | Rows left out by filters or errors. |
table | Table | The summary table. |
notes optional | array of string | Things to know. |
Table A table: columns and rows of cells in column order.
| Field | Type | Meaning |
|---|
columns | array of Column | Columns. |
rows | array of array of Value | Rows; each has one cell per column. |
TableFormat A table file format.
One of: "csv" | "tsv" | "jsonl" | "json" | "parquet"
Value One cell.
One of: boolean | integer (int64) | number (double) | string | null
WrittenFile What was written.
| Field | Type | Meaning |
|---|
path | string | The file. |
format | TableFormat | Its format. |
rows | integer (uint64) | Data rows. |
columns | integer (uint64) | Columns. |
bytes | integer (uint64) | Size in bytes. |
verified | boolean | Read back and checked before it was renamed into place. |
batch-summary.schema.json · SummarizeOutput
link
Output of link.
| Field | Type | Meaning |
|---|
inputs | InputReport | How the inputs became data sets. |
min_confidence | Confidence | Minimum confidence of links that form groups. |
groups | array of LinkGroup | Groups of two or more data sets. |
unlinked | integer (uint64) | Data sets in no group. |
unlinked_examples optional | array of string | Some of them. |
weak_links optional | array of Link | Links below min_confidence (not grouped), strongest first (first 50). |
shared_identifiers optional | array of SharedIdentifier | Identifiers treated as weak evidence. |
notes optional | array of string | Things to know. |
Types used (7)
Confidence How sure a link is.
One of: "low" | "medium" | "high"
Evidence One piece of evidence.
| Field | Type | Meaning |
|---|
kind | string | Kind (same_sample_id, same_acquisition, …; see the module documentation). |
detail | string | The values compared, and where they came from. |
confidence | Confidence | Confidence of this evidence alone. |
InputReport How the inputs turned into data sets.
| Field | Type | Meaning |
|---|
datasets | integer (uint64) | Data sets measured (rows come from these), including those that failed. |
ok | integer (uint64) | Data sets measured without error. |
failed | integer (uint64) | Data sets that failed (their rows carry error). |
skipped_unknown | integer (uint64) | Files found by walking a directory that no reader recognises (not in the table). |
skipped_format | integer (uint64) | Data sets of other formats left out by the format filter. |
skipped_sheets | integer (uint64) | Sample sheets and layouts found among the inputs (never measured). |
grouped_members | integer (uint64) | Files that belong to another input's multi-file data set (measured once, with it). |
skipped_examples optional | array of string | A few of the skipped paths, with why. |
reused optional | integer (uint64) | Data sets whose rows were reused from the journal of an interrupted run. |
Link A link between two data sets.
| Field | Type | Meaning |
|---|
a | string | One data set. |
b | string | The other. |
confidence | Confidence | The strongest evidence's confidence. |
evidence | array of Evidence | All evidence found. |
LinkGroup Data sets that measured the same sample.
| Field | Type | Meaning |
|---|
group | integer (uint32) | Group number (from 1, in the order of the first member). |
confidence | Confidence | The weakest link that holds the group together (low when the group has a conflict). |
sample optional | string | null | The sample id the members share, when they do. |
members | array of LinkMember | Members in input order. |
links | array of Link | The links, with evidence. |
conflicts optional | array of string | Disagreements inside the group (different sample ids). |
LinkMember A member of a group.
| Field | Type | Meaning |
|---|
path | string | The data set. |
format optional | string | null | Format id. |
sample_id optional | string | null | Recorded sample id. |
well optional | string | null | Recorded well. |
barcode optional | string | null | Recorded barcode. |
started_at optional | string | null | Acquisition start. |
SharedIdentifier An identifier shared by many data sets or naming a control.
| Field | Type | Meaning |
|---|
field | string | Field (sample_id, sample_name, barcode). |
value | string | Value. |
datasets | integer (uint64) | Data sets recording it. |
reason | string | Why it was treated as weak. |
link.schema.json · LinkOutput
sidecar
Output of info --view full --sidecar for one input.
| Field | Type | Meaning |
|---|
input | string | The input file. |
output | string | The sidecar path. |
status | string | written or unchanged (an up-to-date sidecar was already there). |
format optional | string | null | Format id of the input (absent when the sidecar was unchanged and the file not opened). |
bytes | integer (uint64) | Size of the sidecar in bytes. |
verified | boolean | True when a written sidecar was read back and matched. |
sidecar.schema.json · SidecarReport
sidecar file
The content of a .openreadout.json sidecar: the info --view full --json envelope plus
sidecar.
| Field | Type | Meaning |
|---|
ok | boolean | Always true. |
schema_version | string | The envelope schema version. |
tool | ToolId | The producing tool and its version. |
sidecar | SidecarMeta | What the sidecar was made from. |
data | Dump | The info --view full output. |
Types used (49)
Acquisition When and by whom.
| Field | Type | Meaning |
|---|
started_at optional | string | null | ISO-8601 start (same zone rules as the rest of the model). |
ended_at optional | string | null | ISO-8601 end, when recorded. |
operator optional | string | null | Operator or user name as recorded. |
duration_s optional | number (double) | null | Length of the acquisition (run length, recording length, time-lapse span) in seconds. |
comment optional | string | null | Free-text comment saved with the acquisition (ABF file comment, FCS $COM, Thermo
sequence comment, ANDI sample comments), as recorded. |
saved_at optional | string | null | ISO-8601 time the file was last saved or exported, when that is the only time it
records (a SoftMax Pro text export's Date Last Saved). It follows the measurement and
is not its start: started_at stays empty. |
Acquisition2 acquisition in info, info --view structure, check and check --planes: present only for
acquisition in info, info --view structure, check and check --planes: present only for
files that are not finished. See book/src/guides/lab-shares.md.
| Field | Type | Meaning |
|---|
state | AcquisitionState | in_progress or interrupted. |
complete_planes | integer (uint64) | Planes whose data is entirely on disk. |
expected_planes optional | integer (uint64) | null | Planes the finished file will hold, when the metadata written so far says so. |
modified_ago_s | number (double) | Seconds since the file (or the newest member of a directory store) was modified. |
window_s | number (double) | The live window used for the decision, in seconds. |
missing | array of string | Structures written at the end of an acquisition that are absent. |
tail_bytes | integer (uint64) | Bytes after the last complete unit (a unit still being written). |
evidence | array of string | The observations behind the decision. |
AcquisitionState Whether an incomplete file is still being written.
One of: "in_progress" | "interrupted"
Assumed A value the reader assumed (a default, a guess from context) instead of reading it.
| Field | Type | Meaning |
|---|
field | string | JSON path of the value in info (e.g. traces[0].channels[1].unit). |
detail | string | Why it was assumed and from what. |
Assurance The per-file assurance block of info (every view) and check.
| Field | Type | Meaning |
|---|
level | AssuranceLevel | validated, partially_validated or unvalidated. |
summary | string | One line for people and agents. |
fingerprint | string | The variant fingerprint: format_id then kind=value for each feature, sorted. |
variant | array of VariantFeature | Each feature with its corpus evidence. |
reasons optional | array of string | Why the level is not validated, one reason per line. |
undecoded optional | array of Undecoded | Structures met but not decoded. |
assumed optional | array of Assumed | Values assumed instead of read. |
calibrations optional | array of Calibration | Vendor calibrations and corrections the file carries, and whether they were applied. |
inferred_fields optional | InferredFields | Normalized fields whose meaning is inferred rather than specified. |
inferred optional | array of InferredValue | Values derived by a rule instead of read, with the evidence for each rule. |
strict_refuses optional | array of Scope | Outputs --strict (MCP strict: true) refuses to return for this file. |
strict_withholds optional | array of Withheld | Fields --strict withholds (returned as null; asking for one with --only exits 6)
while the rest of the output is returned. |
reader_confidence | Confidence | The reader's overall confidence (evidence rubric), for context. |
AssuranceLevel How far a file lies inside what its reader has been validated on.
One of: "validated" | "partially_validated" | "unvalidated"
Calibration A vendor calibration or correction the file carries.
| Field | Type | Meaning |
|---|
name | string | What it calibrates (m/z (MzCalibration), ADC to µV, spillover compensation). |
status | CalibrationStatus | Applied, not applied, or available on request. |
scope optional | array of Scope | Outputs it applies to. |
detail | string | How it is (or is not) applied and how to get calibrated values. |
CalibrationStatus Whether a vendor calibration or correction stored in the file was applied.
One of: "applied" | "not_applied" | "available"
ChannelInfo One acquisition channel.
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based channel index (the c of a plane). |
name optional | string | null | Channel name as the acquisition software shows it. |
fluorophore optional | string | null | Fluorescent dye or protein imaged in this channel (e.g. DAPI, GFP), if recorded. |
excitation_nm optional | number (double) | null | Excitation wavelength in nanometres: the light used to make the sample fluoresce. |
emission_nm optional | number (double) | null | Emission wavelength in nanometres: the light collected from the sample. What the file
records varies by format (a dye's emission peak, a filter's centre, the start of a
spectral detection window for Leica λ scans); docs/formats/<fmt>.md says which. When
a detection band is known, emission_band_*_nm give it explicitly. |
emission_range_nm optional | array of number (double) | null | Detection band [start_nm, end_nm] when the instrument records a range instead of a single emission wavelength. |
emission_band_start_nm optional | number (double) | null | Short-wavelength edge of the detection band in nanometres (spectral detector window or
emission filter), when the file records the band. |
emission_band_end_nm optional | number (double) | null | Long-wavelength edge of the detection band in nanometres. |
emission_band_center_nm optional | number (double) | null | Centre of the detection band in nanometres: (start + end) / 2. |
color optional | string | null | Display colour as #RRGGBB if the file records one. |
acquisition_mode optional | string | null | Acquisition mode as a readable label, <technique>[ <contrast>] (e.g. Laser Scanning
Confocal, Widefield Fluorescence, Brightfield, Phase Contrast); OME enumeration
tokens (WideField) are turned into these labels, other vendor wording is kept. |
exposure_ms optional | number (double) | null | Exposure (integration) time of the detector in milliseconds. |
ColumnInfo A column of a tabular dataset (e.g. an FCS parameter).
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based column index. |
name | string | Short name (FCS $PnN). |
label optional | string | null | Descriptive label (FCS $PnS), if any. |
dtype | string | NumPy-style dtype of the values as returned by read_table (float32, float64, uint32, ...). |
unit optional | string | null | Physical unit of the values, if the format records one. |
range optional | array of number (double) | null | Nominal [min, max] range when the format declares one. |
extra optional | object | Format-specific column metadata in the reader's documented vocabulary. |
Confidence Per-format confidence summary shown by info and self formats.
One of: "high" | "medium" | "low"
Dump Output of info --view full.
| Field | Type | Meaning |
|---|
file | InfoOutput | What info reports, including the derived experiment. |
vendor optional | any | The vendor's own metadata tree, converted to JSON without renaming anything. |
provenance | map of Source | Where each normalized field came from. Keys are JSON paths into file. |
Experiment The experiment a file records: sample, instrument, method, acquisition and measurements.
| Field | Type | Meaning |
|---|
sample optional | Sample | null | What was measured on. |
instrument optional | ExperimentInstrument | null | What it was measured with. |
method optional | Method | null | How. |
acquisition optional | Acquisition | null | When and by whom. |
measurements optional | array of Measurement | What was measured, one entry per kind of data block. |
notes optional | array of string | Things to know when reading the fields above (several samples in one file, ...). |
provenance optional | map of Origin | Origin of every value, keyed by its path in this object (sample.id,
method.parameters.nucleus, measurements[0]). |
ExperimentInstrument The instrument that made the measurement.
| Field | Type | Meaning |
|---|
vendor optional | string | null | Manufacturer. |
model optional | string | null | Model (microscope stand, mass spectrometer, cytometer, plate reader, detector module). |
serial optional | string | null | Serial number. |
software optional | string | null | Acquisition software. |
software_version optional | string | null | Version of the acquisition software. |
kind optional | Term | null | Kind of instrument (OBI term: microscope, mass spectrometer, flow cytometer, ...). |
FeatureKind What a variant feature describes.
One of: "format_version" | "writer" | "writer_version" | "instrument" | "codec" | "sample_layout" | "layout" | "acquisition" | "dialect" | "record" | "field" | "derivation"
FeatureStatus How the corpus covers one feature value.
One of: "validated" | "seen" | "unseen"
FormatDescriptor Static description of a format as the tool understands it.
| Field | Type | Meaning |
|---|
id | string | Short id used on the command line, e.g. czi. |
name | string | Human name, e.g. Zeiss CZI. |
vendor | string | Vendor (nominative use only). |
extensions | array of string | File extensions, lowercase, without the dot. |
family | string | Family: microscopy, mass-spectrometry, flow-cytometry, ... |
can_read | boolean | True when the tool can read this format. |
can_write | boolean | True when export can also write this format (e.g. mzML, OME-Zarr). |
confidence | Confidence | Overall confidence in this reader. |
known_gaps | array of string | Things this reader knowingly does not handle yet. |
ImageInfo One image (a scene, series, or position) inside the file.
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based index used by --image. |
name optional | string | null | Image (scene, series or position) name, if recorded. |
size_x | integer (uint32) | Width in pixels. |
size_y | integer (uint32) | Height in pixels. |
size_z | integer (uint32) | Number of Z planes (focal slices). |
size_c | integer (uint32) | Number of channels. |
size_t | integer (uint32) | Number of time points. |
dimension_order | string | Storage order of planes, e.g. XYCZT (X and Y always first). |
pixel_type | PixelType | Sample type of every plane. |
samples_per_pixel | integer (uint32) | 1 for grayscale channels, 3 for interleaved RGB. |
physical_size | PhysicalSize | Physical size of one pixel (and the Z step). |
time_increment_s optional | number (double) | null | Interval between time points in seconds. |
channels | array of ChannelInfo | One entry per channel, in channel order. |
objective optional | ObjectiveInfo | null | The objective lens, if recorded. |
instrument optional | InstrumentInfo | null | Instrument and software, if recorded. |
acquired_at optional | string | null | ISO-8601 acquisition start, if recorded. |
mosaic optional | MosaicInfo | null | Tile layout when the image was acquired as a mosaic. |
pyramid_levels | integer (uint32) | Number of resolution levels stored (1 = no pyramid). |
resolution_levels optional | array of ResolutionLevel | Size, downsampling and stored tile size of every resolution level, level 0 first. Filled
by readers of pyramidal or tiled images (read a level with --level N, a rectangle
with --region X,Y,W,H); empty otherwise. |
plane_count | integer (uint64) | size_z * size_c * size_t. |
extra optional | object | Format-specific extras that have no OME equivalent, in our own vocabulary. |
InferredFields Fields whose meaning was inferred (reverse-engineered from corpus files), not read from a
Fields whose meaning was inferred (reverse-engineered from corpus files), not read from a
specification: the inferred entries of the reader's provenance map.
| Field | Type | Meaning |
|---|
count | integer (uint32) | How many normalized fields have inferred meaning. |
of | integer (uint32) | How many normalized fields carry provenance at all. |
examples optional | array of string | Up to 12 of their JSON paths (info --view full → provenance has all). |
InferredValue A value derived by a rule, with the corpus evidence for the rule.
| Field | Type | Meaning |
|---|
field | string | JSON path of the value in info. |
rule | string | The rule that derived it. |
status | FeatureStatus | validated when development files' oracles confirmed values derived by this rule. |
detail | string | What was derived from what. |
InfoOutput What info prints: the normalized [FileInfo] plus the derived [Experiment] under the
What info prints: the normalized [FileInfo] plus the derived [Experiment] under the
additive experiment key. Dereferences to the FileInfo.
| Field | Type | Meaning |
|---|
path | string | The path as given by the caller. |
size_bytes | integer (uint64) | Size in bytes (for directory formats such as Bruker .d, the files that were read). |
format | FormatDescriptor | The format that read the file. |
format_version optional | string | null | Version of the container format as written in the file, if any. |
images | array of ImageInfo | Images in the file (empty for tables, spectra and traces). |
tables optional | array of TableInfo | Tabular datasets (flow cytometry events, ...). Empty for image formats. |
spectra optional | array of SpectraInfo | Mass-spectrometry runs. Empty for other formats. |
traces optional | array of TraceInfo | Sampled-signal blocks (electrophysiology, chromatography, NMR). Empty for other formats. |
plane_count | integer (uint64) | Total planes across all images. |
notes optional | array of string | Notes the reader wants the caller to see (e.g. "pyramid levels skipped"). |
experiment optional | Experiment | null | Sample, instrument, method, acquisition and measurements, each value with its origin
(book/src/guides/metadata.md). Absent when nothing is known. |
acquisition optional | Acquisition2 | null | Present when the file is not finished: still being written (in_progress, with the
number of complete planes) or stopped before the end (interrupted). See book/src/guides/lab-shares.md. |
plate optional | PlateSummary | null | Multi-well plates (high-content screening): the plate id and type, rows and columns,
the imaged wells with the images (fields) of each, and how many planes the copy on disk
is missing (docs/formats/hcs.md). Absent for other files. |
images_total optional | integer (uint64) | null | Set when images lists only the first few images ([InfoOutput::cap_images]: screening
plates by default, whose field images are all alike, or --max-images N): how many
images the file holds. plate.wells[].images still indexes every field, the image
commands take any index, and --max-images 0 (MCP max_images: 0) lists them all. |
assurance optional | Assurance | null | Whether this file lies inside what its reader has been validated on: the variant
fingerprint with the corpus evidence for each feature, structures not decoded, values
assumed, vendor calibrations, and the outputs --strict refuses (docs/assurance.md). |
InstrumentInfo The instrument and software that produced the file.
| Field | Type | Meaning |
|---|
manufacturer optional | string | null | Instrument manufacturer. |
model optional | string | null | Instrument model (e.g. microscope stand or mass spectrometer). |
software optional | string | null | Acquisition software. |
software_version optional | string | null | Version of the acquisition software. |
detector optional | string | null | Detector (camera or photomultiplier) name. |
Measurement One thing that was measured, in scientific words.
| Field | Type | Meaning |
|---|
kind | MeasurementKind | Which array of the file it describes. |
indices | array of integer (uint32) | Indices into that array (images, tables, traces or runs) this entry covers. |
what | string | What was measured, e.g. fluorescence, 3 channels (DAPI, GFP, mCherry), 21 z-slices or
LC-MS, negative mode, 2,031 scans, MS1. |
technique optional | Term | null | The technique (CHMO, FBbi, OBI or PSI-MS term). |
terms optional | array of Term | Further terms: polarity, spectrum types, detectors, acquisition modes. |
parameters optional | map of Quantity | Counts and settings with units (scans, wells, wavelength, z_slices). |
MeasurementKind Which part of the file a measurement describes.
One of: "image" | "table" | "trace" | "spectra"
Method How the measurement was made.
| Field | Type | Meaning |
|---|
name optional | string | null | Name of the acquisition method, protocol or experiment as the software saved it. |
technique optional | Term | null | The technique (CHMO, FBbi or OBI term: liquid chromatography-mass spectrometry, ...). |
assay optional | Term | null | The kind of assay (OBI term). |
parameters optional | map of Quantity | Method settings, keyed by our own snake_case names (nucleus, polarity, z_step). |
MosaicInfo Mosaic (tiled/stitched) acquisition summary.
| Field | Type | Meaning |
|---|
tile_count | integer (uint32) | Number of tiles (fields of view) in the mosaic. |
tile_width optional | integer (uint32) | null | Width of one tile in pixels, when all tiles share it. |
tile_height optional | integer (uint32) | null | Height of one tile in pixels, when all tiles share it. |
stitched_on_read | boolean | Whether the reader stitches tiles into a single plane on read. |
ObjectiveInfo The objective lens.
| Field | Type | Meaning |
|---|
model optional | string | null | Objective model name as the vendor records it. |
nominal_magnification optional | number (double) | null | Nominal magnification (e.g. 63 for a 63× lens). |
lens_na optional | number (double) | null | Numerical aperture. |
immersion optional | string | null | Immersion medium between lens and sample (Oil, Water, Air, ...). |
Origin Where one experiment value came from.
| Field | Type | Meaning |
|---|
source | Source | How the meaning of the source field is known (the reader's provenance for that field;
inferred for our own mapping and derived text). |
from | string | The field it was taken from: a path into the info JSON (spectra[0].extra.vial), or a
vendor file inside the dataset (pdata/1/title). |
PhysicalSize Physical pixel size in micrometres (the OME default unit). Every present value is > 0.
| Field | Type | Meaning |
|---|
x optional | number (double) | null | Pixel width in µm (the distance between neighbouring columns). |
y optional | number (double) | null | Pixel height in µm (the distance between neighbouring rows). |
z optional | number (double) | null | Spacing between Z planes (focal slices) in µm. |
unit | string | Always µm in this schema version. |
PixelType Sample type of one channel value. Names follow OME-XML PixelType values.
One of: "int8" | "int16" | "int32" | "uint8" | "uint16" | "uint32" | "float" | "double" | "int64" | "uint64" | "complex" | "double-complex"
PlateSummary Layout of a multi-well plate (high-content screening): info → plate.
| Field | Type | Meaning |
|---|
id optional | string | null | Plate identifier or barcode as the acquisition software recorded it. |
name optional | string | null | Plate name, when recorded besides the id. |
plate_type optional | string | null | Plate type (product) as recorded, e.g. 384 PerkinElmer CellCarrier Ultra. |
rows | integer (uint32) | Number of rows of the plate (8 for a 96-well plate). |
columns | integer (uint32) | Number of columns of the plate (12 for a 96-well plate). |
wells | array of PlateWell | The imaged wells, row by row. |
field_count | integer (uint32) | Most fields of view in one well. |
planes_expected | integer (uint64) | Planes the plate's index lists (every image's plane_count). |
planes_absent optional | integer (uint64) | Planes the instrument never acquired or recorded (they read as blank and are left out
of statistics; images[].extra.absent_planes). |
planes_missing optional | integer (uint64) | Planes whose files the index names but that are not on disk (check lists them). |
complete | boolean | True when every plane the index names is on disk. |
extra optional | object | Format-specific plate facts in the reader's documented vocabulary. |
PlateWell One imaged well of a plate.
| Field | Type | Meaning |
|---|
well | string | Well name, e.g. C05 (row letters, column zero-padded to two digits). |
row | string | Row letters (C). |
column | integer (uint32) | Column number, 1-based (5). |
row_index | integer (uint32) | Zero-based row index (C = 2). |
column_index | integer (uint32) | Zero-based column index. |
images | array of integer (uint32) | Indices of the images (fields of view) of this well, in field order. |
planes_missing optional | integer (uint64) | Planes of this well whose files are not on disk (0 when the well is complete). |
Quantity A value with an optional unit: {"value": 19, "unit": "min", "ucum": "min"}.
| Field | Type | Meaning |
|---|
value | any | A number, a string, or a list of them. |
unit optional | string | null | Unit as written for people (µm, °C), when the value has one. |
ucum optional | string | null | UCUM code of unit (um, Cel). |
ResolutionLevel Geometry of one resolution level of an image.
| Field | Type | Meaning |
|---|
level | integer (uint32) | Level index: 0 is full resolution, larger is more downsampled (--level). |
size_x | integer (uint32) | Width in pixels. |
size_y | integer (uint32) | Height in pixels. |
downsample_x | number (double) | Level-0 width over this level's width (1 for level 0; 2, 4, ... for a halving pyramid). |
downsample_y | number (double) | Level-0 height over this level's height. |
tile_width optional | integer (uint32) | null | Width of the tiles (subblocks, chunks) the level is stored in, when it is tiled: region
reads aligned to this grid decode each tile once. |
tile_height optional | integer (uint32) | null | Height of the stored tiles. |
size_z optional | integer (uint32) | null | Number of z planes at this level, when it differs from the image's size_z (Imaris
downsamples z as well). |
Sample What was measured: the sample's identity as the file records it.
| Field | Type | Meaning |
|---|
id optional | string | null | The sample's identifier, from the field named in source_field. |
name optional | string | null | A descriptive sample name when the file records one besides the id. |
well optional | string | null | Plate well (B2, A01). |
barcode optional | string | null | Plate or tube barcode. |
sequence_position optional | string | null | Position in the autosampler sequence or tray (vial D:35, 2:A,8). |
source_field optional | string | null | Path of the field id came from (spectra[0].extra.sample_name, tables[0].extra.specimen,
pdata/1/title). |
Scope Which outputs of a file a feature, a structure or a calibration affects.
One of: "metadata" | "pixels" | "spectra" | "traces" | "tables"
SidecarMeta Sidecar bookkeeping: what it was made from and when.
| Field | Type | Meaning |
|---|
source | SidecarSource | The source's fingerprint (compared to decide whether to rewrite). |
options | SidecarOptions | The options used. |
written_at | string | When the sidecar was written (ISO-8601 UTC). |
SidecarOptions The info --view full options the sidecar was written with.
| Field | Type | Meaning |
|---|
vendor | boolean | The vendor metadata tree is included. |
provenance | boolean | The provenance map is included. |
all_frames | boolean | Every per-frame record is included (--all-frames). |
SidecarSource The source a sidecar describes, as it was when the sidecar was written.
| Field | Type | Meaning |
|---|
name | string | File (or directory) name of the source. |
size_bytes | integer (uint64) | Size in bytes (a directory data set: the sum of its files). |
modified_ns | integer (uint64) | Modification time in nanoseconds since the Unix epoch (a directory: the newest file). |
SignalChannelInfo One channel of a sampled-signal dataset.
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based channel index. |
name | string | Channel name as recorded. |
unit optional | string | null | Physical unit of the scaled values (pA, mV, AU, ...). |
dtype | string | NumPy-style dtype of the raw stored samples. |
scale | number (double) | value = raw * scale + offset when the file stores integers. |
offset | number (double) | Added after scaling; see scale. |
extra optional | object | Format-specific channel metadata in the reader's documented vocabulary. |
Source How we learned what a field means. Ordered from most to least authoritative.
One of: "spec" | "vendor-impl" | "prior-art" | "inferred"
SpectraInfo A collection of mass spectra (one acquisition run).
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based run index. |
name optional | string | null | Run name, if the file records one. |
scan_count | integer (uint64) | Number of spectra (scans) in the run. |
ms_levels | array of integer (uint32) | MS levels present (1 = full scans, 2 = MS/MS, ...). |
rt_range_s optional | array of number (double) | null | Retention-time range in seconds. |
instrument optional | InstrumentInfo | null | Instrument and software, if recorded. |
extra optional | object | Format-specific run metadata in the reader's documented vocabulary. |
TableInfo A tabular dataset inside the file (rows × columns), e.g. FCS events.
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based table index. |
name optional | string | null | Table name, if the format has one. |
row_count | integer (uint64) | Number of rows (e.g. recorded events). |
columns | array of ColumnInfo | One entry per column. |
extra optional | object | Format-specific table metadata in the reader's documented vocabulary. |
Term An ontology term: its id (CURIE, e.g. CHMO:0000524) and label.
| Field | Type | Meaning |
|---|
id | string | Compact id, PREFIX:local (MS:1000130, CHMO:0000591, FBbi:00000246, OBI:0000916). |
label | string | The term's label in its ontology (positive scan). |
ToolId Identifies the producing tool so consumers can reason about compatibility.
| Field | Type | Meaning |
|---|
name | string | Always openreadout. |
version | string | The tool's version (CARGO_PKG_VERSION). |
TraceInfo A block of uniformly sampled signals (a sweep, a chromatogram run, an FID).
| Field | Type | Meaning |
|---|
index | integer (uint32) | Zero-based trace index. |
name optional | string | null | Trace name, if the format has one. |
sample_rate_hz | number (double) | Samples per second. |
sample_count | integer (uint64) | Samples per sweep (the longest sweep when sweeps differ; see extra.sweep_sample_counts). |
sweep_count | integer (uint32) | Number of sweeps/episodes stored back to back (1 for continuous recordings). |
channels | array of SignalChannelInfo | One entry per channel. |
start_s optional | number (double) | null | Time of the first sample relative to the recording start, seconds. |
extra optional | object | Format-specific trace metadata in the reader's documented vocabulary. |
Undecoded A structure the reader met in the file but did not decode.
| Field | Type | Meaning |
|---|
structure | string | What the structure is, in the format notes' vocabulary. |
scope optional | array of Scope | Outputs that may be incomplete or wrong because of it. Empty: it is left out and the
values returned do not depend on it. |
detail | string | What is known about it and what the reader does instead. |
VariantFeature One feature of the file's fingerprint, with the corpus evidence for it.
| Field | Type | Meaning |
|---|
kind | FeatureKind | What the feature describes. |
value | string | Its value. |
scope optional | array of Scope | Outputs whose decoding depends on it (empty: descriptive only). |
status | FeatureStatus | validated, seen or unseen. |
corpus_files | integer (uint32) | Development-corpus files with this value confirmed by an independent reader. |
sources | integer (uint32) | Distinct depositors among them. |
Withheld A field --strict withholds: it is present, but its value was assumed, derived by a rule no
A field --strict withholds: it is present, but its value was assumed, derived by a rule no
independent reader confirmed, or never compared with an independent reader.
| Field | Type | Meaning |
|---|
field | string | JSON path pattern in info ([] matches any index). |
reason | string | Why it is not validated. |
sidecar-file.schema.json · SidecarFile
index
index.json.
| Field | Type | Meaning |
|---|
schema_version | string | [INDEX_SCHEMA_VERSION]. |
tool | ToolInfo | The tool and version that wrote it. |
index_dir | string | Absolute path of the index directory. |
roots | array of string | The directories (or files) crawled, absolute. |
settings | IndexSettings | Options of the crawl. |
complete | boolean | True when the crawl walked every root to the end. False after a cap (--max-files,
--max-seconds) or an interruption: the tables then hold what was read so far plus the
previous run's records for the rest, and rerunning the same command continues. |
started_at | string | When this run started (ISO-8601 UTC). |
updated_at | string | When the tables were written. |
tables | map of TableManifest | The tables. |
datasets | integer (uint64) | Data sets (rows of experiments.parquet) after multi-file grouping. |
files | integer (uint64) | Rows of files.parquet. |
bytes | integer (uint64) | Bytes of every file seen. |
formats | map of Tally | Data sets and bytes per format id. |
families | map of Tally | Data sets and bytes per family. |
years | map of Tally | Data sets per acquisition year (unknown when the file records no date). |
unknown_extensions | map of Tally | Files no reader recognises, per lower-case extension ((none) for no extension). |
check_status | map of integer (uint64) | Data sets per check status. |
problems | map of integer (uint64) | Problems per category (integrity, readability, walk, pii). |
pii | PiiTotals | Personal-data totals. |
changes | map of integer (uint64) | Data sets per change (new, changed, unchanged, moved) and removed. |
crawl | CrawlStats | Crawl counters, cumulative over resumed sessions. |
files_per_s | number (double) | Items per second over the crawl's wall time. |
next optional | string | null | What to do next, when the crawl is not complete. |
Types used (7)
CrawlStats Counters of one crawl (cumulative over resumed sessions of the same run).
| Field | Type | Meaning |
|---|
items | integer (uint64) | Walk items processed: files and directory data sets. |
files_seen | integer (uint64) | Files seen, counting every file inside directory data sets. |
recognised | integer (uint64) | Items a reader recognised (before multi-file grouping). |
unknown | integer (uint64) | Items no reader recognises. |
unreadable | integer (uint64) | Recognised items that could not be opened or summarized. |
new | integer (uint64) | Items read for the first time. |
changed | integer (uint64) | Items read again (size, time or tool version changed). |
unchanged | integer (uint64) | Items reused from the previous run without being opened. |
removed | integer (uint64) | Items of the previous run that are gone. |
bytes_seen | integer (uint64) | Bytes of every file seen. |
bytes_read | integer (uint64) | Bytes the crawler itself read (sniffing and fingerprints); the readers' own header reads
are not counted. |
elapsed_s | number (double) | Wall time of the crawl, seconds (all sessions of a resumed run). |
sessions | integer (uint32) | Sessions this run took (1 plus the number of resumes). |
walk | WalkStats | What the walk skipped. |
IndexSettings Crawl options that shape the index.
| Field | Type | Meaning |
|---|
check | string | headers, full or none. |
follow_symlinks | boolean | Symbolic links followed. |
exclude optional | array of string | --exclude patterns. |
pii | boolean | Personal-data detection on. |
PiiTotals Personal-data totals.
| Field | Type | Meaning |
|---|
datasets_flagged | integer (uint64) | Data sets with at least one flag. |
flags | integer (uint64) | Flags. |
by_kind | map of integer (uint64) | Flags per kind (person_name, email, ...). |
TableManifest One table of the index.
| Field | Type | Meaning |
|---|
file | string | File name inside the index directory. |
rows | integer (uint64) | Rows. |
Tally A count and a byte total.
| Field | Type | Meaning |
|---|
count | integer (uint64) | How many. |
bytes | integer (uint64) | Bytes. |
ToolInfo The tool that wrote the index.
| Field | Type | Meaning |
|---|
name | string | openreadout. |
version | string | Its version. |
WalkStats Counters of what the walk skipped.
| Field | Type | Meaning |
|---|
directories | integer (uint64) | Directories listed. |
hidden_skipped | integer (uint64) | Hidden entries (.name) skipped. |
symlinks_skipped | integer (uint64) | Symbolic links skipped (not followed). |
excluded | integer (uint64) | Entries skipped by --exclude (and the index directory). |
unreadable_directories | integer (uint64) | Directories that could not be listed. |
index.schema.json · IndexManifest
search
Search results.
| Field | Type | Meaning |
|---|
index_dir | string | The index directory searched. |
query | string | The query as given. |
index_complete | boolean | Whether the index covers every root to the end (see index.json). |
total | integer (uint64) | Data sets matching. |
returned | integer (uint) | Results returned. |
truncated | boolean | True when total > returned. |
fields | array of string | The columns of each result. |
results | array of object | One object per matching data set, with the requested columns. |
search.schema.json · SearchOutput
search-health
openreadout search INDEX --health.
| Field | Type | Meaning |
|---|
index_dir | string | The index directory. |
index_complete | boolean | Whether the index covers every root to the end. |
roots | array of string | The roots of the index. |
index_updated_at | string | When the index was last written. |
generated_at | string | When this report was made. |
totals | Totals | Totals. |
by_format | array of NamedTally | Data sets and bytes per format. |
by_family | array of NamedTally | Per family. |
by_year | array of NamedTally | Per acquisition year. |
integrity | Integrity | Truncated and corrupt data sets. |
unreadable | Unreadable | Unreadable formats and unrecognised files. |
duplicates | Duplicates | Byte-identical copies. |
near_duplicates | NearDuplicates | The same experiment stored more than once. |
at_risk | AtRisk | Vendor-only formats with no open export. |
pii | PiiSection | Personal data. |
Types used (14)
AtRisk At-risk section: vendor-only formats with no open export next to them.
| Field | Type | Meaning |
|---|
count | integer (uint64) | Data sets at risk. |
bytes | integer (uint64) | Their bytes. |
legacy | integer (uint64) | Of which in legacy formats (vendor software discontinued). |
by_format | array of NamedTally | Per format. |
datasets | array of AtRiskEntry | The largest. |
with_open_export | integer (uint64) | Vendor/legacy data sets that do have an open export. |
AtRiskEntry A data set at risk.
| Field | Type | Meaning |
|---|
path | string | Path. |
format | string | Format id. |
preservation | string | vendor or legacy. |
size_bytes | integer (uint64) | Bytes. |
DuplicateGroup A group of identical data sets.
| Field | Type | Meaning |
|---|
size_bytes | integer (uint64) | Bytes of one copy. |
sha256 optional | string | null | SHA-256 of the content (null when not confirmed by hashing). |
paths | array of string | The copies, in walk order. |
Duplicates Duplicates section.
| Field | Type | Meaning |
|---|
confirmed | boolean | True when every group was confirmed by a full-content hash. |
group_count | integer (uint64) | Groups of identical data sets. |
redundant_bytes | integer (uint64) | Bytes that extra copies take. |
candidates_hashed | integer (uint64) | Candidate data sets hashed. |
bytes_hashed | integer (uint64) | Bytes read to hash them. |
groups | array of DuplicateGroup | The largest groups. |
Integrity Integrity section.
| Field | Type | Meaning |
|---|
status | map of integer (uint64) | Data sets per check status. |
problem_count | integer (uint64) | Data sets that are truncated, corrupt, unreadable or unsupported. |
problems | array of IntegrityEntry | The first of them. |
IntegrityEntry A data set with an integrity problem.
| Field | Type | Meaning |
|---|
path | string | Path. |
format optional | string | null | Format id. |
status | string | truncated, corrupt, unreadable or unsupported. |
codes | array of string | Finding or error codes. |
message optional | string | null | The error message, when it could not be opened. |
NamedTally A count and bytes under a name.
| Field | Type | Meaning |
|---|
name | string | The format id, family, year or extension. |
count | integer (uint64) | How many. |
bytes | integer (uint64) | Bytes. |
NearDuplicateGroup The same experiment stored more than once (not byte-identical).
| Field | Type | Meaning |
|---|
reason | string | Why they were grouped: same acquisition time and dimensions or same name and
dimensions. |
paths | array of string | The members, in walk order. |
formats | array of string | Their formats, same order. |
exported_twice | boolean | True when two or more members are open exports (the experiment was exported twice). |
NearDuplicates Near-duplicate section.
| Field | Type | Meaning |
|---|
group_count | integer (uint64) | Groups found. |
exported_twice | integer (uint64) | Groups with two or more open exports. |
groups | array of NearDuplicateGroup | The first groups. |
PiiEntry A flagged data set.
| Field | Type | Meaning |
|---|
path | string | Path. |
kinds | array of string | Kinds flagged. |
fields | array of string | Fields flagged. |
PiiSection Personal-data section (field paths and kinds only; never values).
| Field | Type | Meaning |
|---|
datasets_flagged | integer (uint64) | Data sets with a flag. |
flags | integer (uint64) | Flags. |
by_kind | map of integer (uint64) | Flags per kind. |
by_rule | map of integer (uint64) | Flags per rule. |
by_field | array of NamedTally | Flags per field path (array indices removed), most frequent first. |
datasets | array of PiiEntry | The first flagged data sets with their kinds. |
Totals Totals.
| Field | Type | Meaning |
|---|
datasets | integer (uint64) | Data sets. |
dataset_bytes | integer (uint64) | Bytes in data sets. |
files | integer (uint64) | Files seen (all roles). |
unknown_files | integer (uint64) | Files no reader recognises. |
unknown_bytes | integer (uint64) | Their bytes. |
Unreadable Unreadable section.
| Field | Type | Meaning |
|---|
formats | array of UnreadableFormat | Recognised formats that could not be opened, per format and error. |
unknown_extensions | array of NamedTally | Files no reader recognises, per extension (largest counts first). |
UnreadableFormat Formats recognised but not readable, per error.
| Field | Type | Meaning |
|---|
format | string | Format id. |
error_code | string | Error code (unsupported_feature, corrupt_file, io). |
count | integer (uint64) | Data sets. |
search-health.schema.json · HealthReport
search-export
datasheet.json, and the payload of search --export --json.
| Field | Type | Meaning |
|---|
schema_version | string | Datasheet schema version. |
output | string | The output directory. |
created_at | string | When the export finished. |
tool | string | Tool and version. |
query | string | The query. |
index_dir | string | The index it came from. |
index_roots | array of string | The index's roots. |
index_updated_at | string | When the index was written. |
table_format | TableFormat | Tables written as parquet or csv. |
redaction | string | Whether personal data was redacted, and how. |
counts | map of integer (uint64) | Totals over the exported data sets. |
formats | map of integer (uint64) | Data sets per source format. |
licenses | map of integer (uint64) | Data sets per licence (unknown when none was found). |
exported_now | integer (uint64) | Data sets exported in this run (the rest were already done). |
resumed | integer (uint64) | Data sets reused from an earlier, interrupted run. |
datasets | array of ExportedDataset | Every exported data set. |
skipped | array of SkippedDataset | Data sets that could not be exported. |
verified | boolean | Every output verified. |
Types used (6)
ExportedDataset One exported data set.
| Field | Type | Meaning |
|---|
id | string | Output id (file-name prefix). |
source | string | Source path. |
format | string | Source format id. |
family | string | Source family. |
size_bytes | integer (uint64) | Source bytes. |
fingerprint optional | string | null | Source content fingerprint (from the index). |
counts | map of integer (uint64) | Images, planes, tables, table rows, traces, trace samples, spectra runs, spectra. |
outputs | array of OutputFile | Files written. |
experiment optional | any | The experiment (redacted when asked), with provenance. |
license optional | LicenseInfo | null | Licence, when known. |
pii optional | array of PiiFlag | Personal-data flags (field, kind, rule). |
redacted_values | integer (uint64) | Values replaced by redaction. |
notes optional | array of string | Things to know (parts that could not be exported). |
LicenseInfo The licence of a data set, when known.
| Field | Type | Meaning |
|---|
spdx optional | string | null | SPDX id, when recognised (CC-BY-4.0, CC0-1.0, MIT, ...). |
source | string | Where it came from: user (--license) or the licence file's path. |
OutputFile One written file.
| Field | Type | Meaning |
|---|
file | string | Path relative to the output directory. |
kind | string | metadata, image, table, trace or spectra. |
rows | integer (uint64) | Rows (tables, traces, spectra) or planes (images). |
columns optional | array of string | Columns written (tables, traces, spectra). |
bytes | integer (uint64) | Bytes on disk. |
digest optional | string | xxh3-64 digest of every value written (rows in order), hex; empty for images. |
verified | boolean | Read back and compared. |
PiiFlag One personal-data flag: which field, what kind, which rule. The value itself is never
One personal-data flag: which field, what kind, which rule. The value itself is never
stored in the index.
| Field | Type | Meaning |
|---|
field | string | Path of the field in the info JSON (experiment.acquisition.operator,
tables[0].extra.vendor_keywords.EXPORT.EXPORT USER NAME). |
kind | string | person_name, email, phone, patient_id, date_of_birth or free_text. |
rule | string | The rule that fired (book/src/guides/lab-shares.md#personal-data). |
SkippedDataset A data set that could not be exported.
| Field | Type | Meaning |
|---|
source | string | Source path. |
reason | string | Why. |
TableFormat File format for tables, traces and spectra.
One of: "parquet" | "csv"
search-export.schema.json · ExportDatasetReport
watch
One line of watch output.
| Field | Type | Meaning |
|---|
seq | integer (uint64) | Sequence number, increasing by one per event within a watcher (the MCP cursor). |
event | EventKind | What happened. |
ts | string | When the event was emitted (ISO-8601 UTC, milliseconds). |
path | string | The data set (a file, or a directory store). |
format optional | string | null | Format id, once known. |
state optional | string | null | in_progress, interrupted or complete. |
image optional | integer (uint32) | null | Image index (plane events). |
c optional | integer (uint32) | null | Channel index (plane events). |
z optional | integer (uint32) | null | Z index (plane events). |
t optional | integer (uint32) | null | Time index (plane events). |
run optional | integer (uint32) | null | Run (spectra) or trace index. |
index optional | integer (uint64) | null | Zero-based position of the plane, scan or sweep among those reported for the data set. |
complete optional | integer (uint64) | null | Planes (or scans) complete so far. |
expected optional | integer (uint64) | null | Planes the finished data set will hold, when known. |
size_bytes optional | integer (uint64) | null | Size of the data set in bytes when the event was produced. |
mtime optional | string | null | Modification time of the data set (ISO-8601 UTC). |
idle_s optional | number (double) | null | Seconds since the data set last grew (dataset_stalled). |
qc optional | QcFinding | null | The fired rule (qc). |
error optional | ErrorBody | null | What went wrong (error). |
Types used (4)
ErrorBody Structured error body. hint is meant to be actionable by an agent.
| Field | Type | Meaning |
|---|
code | string | Stable code: unknown_format, unsupported_feature, corrupt_file, usage, io, error,
internal_panic (a bug: the tool panicked; please report it). |
message | string | Human-readable description of the failure. |
hint optional | string | null | What to try next, when the tool knows. |
exit_code | integer (int32) | The process exit code for this error (see the crate docs). |
EventKind Kinds of events.
One of: "dataset_new" | "plane_new" | "scan_new" | "frame_new" | "dataset_complete" | "dataset_stalled" | "qc" | "error"
Metric A QC metric.
One of: "saturated_fraction" | "sharpness_ratio" | "interval_ratio" | "tic_ratio"
QcFinding A fired rule.
| Field | Type | Meaning |
|---|
rule | string | Rule name. |
metric | Metric | Metric measured. |
value | number (double) | Measured value. |
bound | string | min or max: which bound was crossed. |
threshold | number (double) | The bound's value. |
description optional | string | null | The rule's description. |
saturation_level optional | number (double) | null | saturated_fraction only: the sample value counted as saturated (2^bits − 1 from the
file's recorded bit depth, else the pixel type's maximum). |
watch.schema.json · WatchEvent
Output of self formats.
| Field | Type | Meaning |
|---|
formats | array of FormatDescriptor | Every registered format, in detection order. |
Types used (2)
Confidence Per-format confidence summary shown by info and self formats.
One of: "high" | "medium" | "low"
FormatDescriptor Static description of a format as the tool understands it.
| Field | Type | Meaning |
|---|
id | string | Short id used on the command line, e.g. czi. |
name | string | Human name, e.g. Zeiss CZI. |
vendor | string | Vendor (nominative use only). |
extensions | array of string | File extensions, lowercase, without the dot. |
family | string | Family: microscopy, mass-spectrometry, flow-cytometry, ... |
can_read | boolean | True when the tool can read this format. |
can_write | boolean | True when export can also write this format (e.g. mzML, OME-Zarr). |
confidence | Confidence | Overall confidence in this reader. |
known_gaps | array of string | Things this reader knowingly does not handle yet. |
formats.schema.json · FormatsOutput
doctor
Output of doctor.
| Field | Type | Meaning |
|---|
ok | boolean | True when every check passed (exit 0; otherwise exit 1). |
version | string | |
target | string | Target triple the binary was built for. |
profile | string | release or debug. |
features | array of string | Cargo features compiled in. |
mcp | boolean | Whether openreadout mcp can serve (the mcp feature). |
mcp_tools | array of string | The MCP tools the server offers (empty without the mcp feature). |
threads | integer (uint) | Worker threads for plane decoding (--threads). |
formats | array of string | Registered format readers, in detection order. |
stdout_is_terminal | boolean | |
stderr_is_terminal | boolean | |
environment | array of string | Environment variables that change behaviour, when set. |
checks | array of DoctorCheck | |
Types used (1)
DoctorCheck One self-test step.
| Field | Type | Meaning |
|---|
name | string | |
ok | boolean | |
detail | string | |
doctor.schema.json · DoctorReport