Skip to main content

Cytoland

Robust virtual staining of landmark organelles from label-free microscopy.

Cytoland virtual staining of nuclei and membrane from label-free phase contrast

Part of the VisCy monorepo.

Paper: Robust virtual staining in Nature Machine Intelligence

Installation

# From the VisCy monorepo root
uv pip install -e "applications/cytoland"

Usage

Training and prediction use the shared viscy CLI provided by viscy-utils:

# Training (pick a model-specific config)
uv run --package cytoland viscy fit -c examples/configs/vscyto3d/finetune.yml

# Training with Spotlight loss
uv run --package cytoland viscy fit -c examples/configs/vscyto3d/train_spotlight.yml

# Prediction
uv run --package cytoland viscy predict -c examples/configs/vscyto3d/predict.yml

The YAML config determines which model and data module to use via class_path:

model:
  class_path: cytoland.engine.VSUNet
data:
  class_path: viscy_data.hcs.HCSDataModule

Tutorials and demos

Scripts and tutorials live under examples/:

Folder What it demonstrates
examples/VS_model_inference/ Python API inference demos for VSCyto2D, VSCyto3D, VSNeuromast, and TTA-augmented sliding-window prediction
examples/vcp_tutorials/ Virtual Cell Platform quick-start and organism-specific walkthroughs (HEK293T, neuromast)
examples/dl-course-exercise/ Image-translation course exercise (training from scratch + evaluation) — used at DL@MBL and DL@Janelia
examples/phase_contrast/ Phase-contrast tutorial and demo workflows
examples/configs/ YAML configs for viscy fit / viscy predict across models (VSCyto2D/3D, VSNeuromast, FNet3D, dynacell)

All demo scripts are written as jupytext-style percent-cell .py files. Regenerate paired .ipynb notebooks with jupytext --to ipynb solution.py if you prefer the notebook UI.

Models

Model Input Output Architecture
VSCyto3D Phase3D Nuclei + Membrane FCMAE / UNeXt2
VSCyto2D Phase2D Nuclei + Membrane UNeXt2
VSNeuromast DIC Multiple fluorescent markers UNeXt2
FNet3D Transmitted light Fluorescence Unet3d (Ounkomol et al. 2018)

FNet3D note: All spatial dimensions (Z, Y, X) must be divisible by 2^depth (default depth=4 requires divisibility by 16). See examples/configs/fnet3d/fit.yml.

Benchmark note: FNet3D and SEC61B benchmarks now launch from applications/dynacell/. Cytoland copies are transitional legacy — see examples/configs/dynacell/ and examples/configs/fnet3d/.

References

Liu, Hirata-Miyasaki et al., 2025
@article{liu2025robust,
    title = {Robust virtual staining of landmark organelles},
    author = {Liu, Ziwen and Hirata-Miyasaki, Eduardo and Pradeep, Soorya and others},
    journal = {Nature Machine Intelligence},
    year = {2025},
    doi = {10.1038/s42256-025-01046-2},
}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cytoland-0.1.0.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cytoland-0.1.0-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file cytoland-0.1.0.tar.gz.

File metadata

  • Download URL: cytoland-0.1.0.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for cytoland-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9f915a1d05945d8e42b5cba39a135f0853fa076150b8a4da0f360ad290f231f9
MD5 424a4c91be2bbb93f2fa716dd9f42989
BLAKE2b-256 98414c8a4532b1167fd6d93f6c9638333bf73c4004967ba707697e43dbdb1d7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cytoland-0.1.0.tar.gz:

Publisher: release.yml on mehta-lab/VisCy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cytoland-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cytoland-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for cytoland-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6ed3e766a9a4ba5e515800881ec2e91197f8213ffd625a980606609a6820e8d3
MD5 f5b4982ba4e82399668ded42768c38ab
BLAKE2b-256 4e4b743ae78dc9f297bf7bdd1fafbb649a7923cafb691f576cbc231d12a92ef0

See more details on using hashes here.

Provenance

The following attestation bundles were made for cytoland-0.1.0-py3-none-any.whl:

Publisher: release.yml on mehta-lab/VisCy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page