Cytoland
Robust virtual staining of landmark organelles from label-free microscopy.
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). Seeexamples/configs/fnet3d/fit.yml.
Benchmark note: FNet3D and SEC61B benchmarks now launch from
applications/dynacell/. Cytoland copies are transitional legacy — seeexamples/configs/dynacell/andexamples/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},
}
Metadata
Release files for cytoland 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cytoland-0.1.0.tar.gz | 1.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cytoland-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.2 MB
Release files / cytoland-0.1.0.tar.gz
| Download URL | cytoland-0.1.0.tar.gz |
|---|---|
| Size | 1.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9f915a1d05945d8e42b5cba39a135f0853fa076150b8a4da0f360ad290f231f9
|
|
BLAKE2b-256 checksum How to use checksums |
98414c8a4532b1167fd6d93f6c9638333bf73c4004967ba707697e43dbdb1d7c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.
Transparency logRelease files / cytoland-0.1.0-py3-none-any.whl
| Download URL | cytoland-0.1.0-py3-none-any.whl |
|---|---|
| Size | 14.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6ed3e766a9a4ba5e515800881ec2e91197f8213ffd625a980606609a6820e8d3
|
|
BLAKE2b-256 checksum How to use checksums |
4e4b743ae78dc9f297bf7bdd1fafbb649a7923cafb691f576cbc231d12a92ef0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.
Transparency log