Skip to content

Common workflows

Full code for each workflow lives in the Jupyter notebooks under Notebooks/tutorials/. This page keeps only a short summary and pointers.

The standard end-to-end workflow - from loading images and extracting visual fingerprints (AI descriptions) to comparing images and generating reports - is covered in the core tutorial.

Analyzing the effects of different drug treatments or mapping changes over time requires using experimental info (metadata). Whether your data is organized hierarchically ({drug}/{concentration}/{image}.tif) or encoded in filenames (Treated_24h), you can handle it through the metadata pipeline.

3. Property-based analysis and explaining results

Section titled “3. Property-based analysis and explaining results”

To connect abstract AI patterns to real biology, compute classical physical properties (like area, brightness, and texture) and link them to your visual fingerprints.

Discover hidden groups of images (clusters) within a single condition or find unusual cells (outliers) using clustering and similarity checks.

5. Temporal images (testing new data quickly)

Section titled “5. Temporal images (testing new data quickly)”

To see how new images fit into your existing pattern visualizations (PCA/t-SNE) without starting over, use temporal processing.

pheno.process_temporal_images(
wrapper,
files=["new_data/test1.tif", "new_data/test2.tif"],
)
pheno.plot_pca(color_by="condition", hover_features=["source"])
pheno.clear_temporal_data()

For very large datasets, use “checkpointing” so results are saved to disk as they are calculated.

pheno.process_images(
wrapper,
checkpoint_path="results/my_large_dataset.h5",
batch_size=128,
)

If your data comes from multiple plates or batches, you can correct for technical variation (plate effects) using control wells.

# Correct embeddings using 'Control' wells in each 'Plate'
pheno.correct_batches(
batch_metadata_key="Plate",
control_filters={"condition": "Control"},
method="sphering", # or "zscore"
source="embeddings", # or "properties"
)

See Best practices - performance for memory sizing.

Topic Where
Installation and quick start Getting started
Folder structure and metadata Preparing your data, Adding experiment info
Visual fingerprints, channel modes, and results Core concepts
Full API reference API & data formats, Pipeline API
Property sets and custom functions Select properties, Understanding properties
Reproducibility and optimization Best practices