Data Structures¶
PyFLASH objects are Python wrappers around a few recurring data shapes: subject-level summary tables, row-level marker tables, image metadata, ROI tables, JSON-style condition specs, plot spec files, exclusion ledgers, and pipeline manifests. These pages explain those structures directly, so you can inspect or prepare data without reading the source code.
Use the object pages for lifecycle questions such as how a Batch
is created. Use these data-structure pages when you need to know what columns,
keys, or files a function expects.
| Page | Use It For |
|---|---|
| Summary Table | Columns in experiment.summary, batch.summary, batch.summaries, and table-backed inputs. |
| Marker Tables | Row-level object, cell, antibody, attribute, behaviour, and colocalisation tables in .data. |
| Image Table | Image metadata columns, image path lookup, and how summary metadata is attached. |
| ROI Tables | ROI property tables, ROI zip coordinate records, master_region, and ImageROI names. |
| Condition Specs | JSON-serializable condition definitions used by UI projects and build_condition_list. |
| Plot Spec Files | YAML, TOML, and JSON files passed to run_spec. |
| Exclusion Ledgers | The audit table attached by exclusion helpers and optionally saved as CSV. |
| Pipeline Manifests | manifest.json and _runs_index.csv records written by analysis pipelines. |
Stable Identifiers¶
Most PyFLASH analysis functions expect or create these normalized identifiers:
| Name | Meaning |
|---|---|
AnimalName |
Internal subject/sample identifier. DataFrame inputs can map another column to this with subject_col; animal_col remains a legacy alias. |
Condition |
Internal group label used by group-aware plots and pipelines. DataFrame inputs can map another column to this with group_col; condition_col remains a legacy alias. |
| Factor columns | Extra grouping columns such as Diagnosis, Sex, or Time, usually derived from a group list. |
Region |
A concrete ROI instance, such as SCN1. |
ROI |
ROI label stored on a row. It may be a concrete ROI instance such as SCN1 or a base/family value such as SCN; use ROI-base helpers or parameters when you need family-level selection. |
ImageROI |
The image-panel ROI label, such as LHSCN or RHSCN2. |
Compatibility Notes¶
PyFLASH normalizes several input styles into these structures. Folder-backed
experiments come from FLASH/ImageJ CSV and ROI files, while table-backed
experiments come from pandas.DataFrame objects. The normalized columns are
stable, but metric columns depend on the markers and ImageJ exports present in
your data.
Missing or deliberately excluded values use explicit sentinel strings in some tables. Do not treat those sentinels as real measurements; PyFLASH numeric coercion paths treat them as analysis-missing.