Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions applications/dynacell/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ must be installed with `uv`. Install uv first if you don't have it
(`curl -LsSf https://astral.sh/uv/install.sh | sh`), then:

```bash
git clone --branch dynacell-models https://github.com/mehta-lab/VisCy.git
git clone https://github.com/Biohub/VisCy.git
cd VisCy
uv venv -p 3.13
source .venv/bin/activate
Expand Down Expand Up @@ -216,7 +216,7 @@ a bare invocation writes **and** submits.

## Data and code availability

- **Code** — BSD-3-Clause, [github.com/mehta-lab/VisCy](https://github.com/mehta-lab/VisCy/tree/dynacell-models).
- **Code** — BSD-3-Clause, [github.com/Biohub/VisCy](https://github.com/Biohub/VisCy/tree/main/applications/dynacell).
- **Data** — OME-Zarr stores hosted on AWS Open Data. The DynaCell A549 dataset
is released under CC-BY-4.0; the reprocessed iPSC subset under the Allen
Institute Terms of Use.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ tags:
Model checkpoints for the **DynaCell** virtual-staining demo: predict fluorescence
channels (membrane, nuclei, ER, mitochondria) from label-free **phase-contrast**
3-D microscopy of live A549 cells. Trained and run with
[VisCy](https://github.com/mehta-lab/VisCy).
[VisCy](https://github.com/Biohub/VisCy/tree/main/applications/dynacell).

Live demo: [`biohub/dynacell`](https://huggingface.co/spaces/biohub/dynacell)

Expand Down Expand Up @@ -66,7 +66,7 @@ ckpt = hf_hub_download("biohub/dynacell-checkpoints", "vscyto3d_caax.ckpt")

Input data must be an OME-Zarr HCS store with `Phase3D` as the source channel.
See the [demo Space](https://huggingface.co/spaces/biohub/dynacell) and
[VisCy](https://github.com/mehta-lab/VisCy) for the full prediction config.
[VisCy](https://github.com/Biohub/VisCy/tree/main/applications/dynacell) for the full prediction config.

## Training data

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Each store is a crop of `fov0006` from the DynaCell v1 **test** split,
(5–21 hpi), the central 32 of 48 Z slices, and the central 512×512 of the 640×960 field
of view. The crop is recorded in each position's `dynacell_demo` attributes and is
rebuilt by `build_demo_data.py` in
[VisCy](https://github.com/mehta-lab/VisCy/tree/dynacell-models/applications/dynacell/examples/hf_demo).
[VisCy](https://github.com/Biohub/VisCy/tree/main/applications/dynacell/examples/hf_demo).
ER and mitochondria targets are raw (not deconvolved) fluorescence, as used for
training and evaluation.

Expand All @@ -64,7 +64,7 @@ zip_path = hf_hub_download(
# unzip → open with iohub.ngff.open_ome_zarr
```

Read the stores with [iohub](https://github.com/czbiohub-sf/iohub). The demo Space
Read the stores with [iohub](https://github.com/Biohub/iohub). The demo Space
loads these automatically via its "Load Demo Data" button.

## License
Expand Down
2 changes: 1 addition & 1 deletion applications/dynacell/examples/hf_demo/hf_space/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,4 @@ is one held-out test field of view per marker, cropped from the DynaCell v1 rele
([`biohub/dynacell-checkpoints`](https://huggingface.co/biohub/dynacell-checkpoints)) are the
released A549-trained models (`s3://dynacell/v1/models/a549/`).

Code: [VisCy `applications/dynacell`](https://github.com/mehta-lab/VisCy/tree/dynacell-models/applications/dynacell).
Code: [VisCy `applications/dynacell`](https://github.com/Biohub/VisCy/tree/main/applications/dynacell).
6 changes: 3 additions & 3 deletions applications/dynacell/src/dynacell/croissant/builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ def build_croissant_from_release(
"@id": "dynacell-code-repo",
"name": "VisCy — DynaCell application code",
"description": ("Training, prediction, evaluation, and reporting pipelines. BSD-3-Clause license."),
"contentUrl": "https://github.com/mehta-lab/VisCy/tree/modular-viscy-staging/applications/dynacell",
"contentUrl": "https://github.com/Biohub/VisCy/tree/main/applications/dynacell",
"encodingFormat": "application/x-git",
"license": "https://opensource.org/licenses/BSD-3-Clause",
"sha256": "",
Expand All @@ -258,9 +258,9 @@ def build_croissant_from_release(
{
"@type": "cr:FileObject",
"@id": "dynacell-demo-sample",
"name": "DynaCell reviewer-accessible sample",
"name": "DynaCell demo subsample",
"description": (
"Reviewer-accessible sample (<4 GB) with a reduced number of "
"Demo subsample (<4 GB) with a reduced number of "
"FOVs and timepoints, intended for quick inspection without "
"downloading the full release."
),
Expand Down
97 changes: 52 additions & 45 deletions applications/dynacell/src/dynacell/croissant/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,8 @@ def _a549_static_fields():
"were cultured and imaged under three conditions: mock-infected, "
"Zika virus-infected, and Dengue virus-infected (both BSL-2). "
"Each field of view is a paired 3D time-lapse acquisition combining "
"label-free transmitted-light channels (multi-angle phase) and a "
"a label-free brightfield channel, from which quantitative phase "
"is reconstructed, and a "
"single fluorescence target marker per store (H2B / nucleus, CAAX / "
"membrane, SEC61B / endoplasmic reticulum, or TOMM20 / mitochondria). "
"Plates were imaged at native cadences of 10, 30, or 120 minutes "
Expand Down Expand Up @@ -286,20 +287,23 @@ def _a549_static_fields():
"single fluorescence target marker."
),
rai_data_use_cases=(
"The dataset is intended for two tasks: (1) virtual staining — "
"predicting fluorescent organelle channels from label-free "
"transmitted-light volumes; (2) representation learning of "
"organelle morphology and dynamics in 3D live cells. Validated use "
"cases (paired test set, see accompanying paper): zero-shot and "
"fine-tuned virtual staining of nuclear (H2B), membrane (CAAX), "
"endoplasmic reticulum (SEC61B), and mitochondrial (TOMM20) "
"targets in A549 cells under mock, ZIKV, and DENV conditions, "
"evaluated with PCC, SSIM, and FID. Not validated for: clinical "
"or diagnostic decision support; automated drug discovery without "
"independent wet-lab validation; cross-cell-line, cross-organism, "
"or cross-microscope generalization without retraining or "
"recalibration; segmentation of structures other than the four "
"targets above."
"The dataset is intended for benchmarking 3D virtual staining, "
"i.e., predicting fluorescence images of four organelle markers "
"(H2B / nucleus, CAAX / membrane, SEC61B / endoplasmic reticulum, "
"TOMM20 / mitochondria) from label-free phase volumes, evaluated "
"for pixel fidelity, segmentation utility, and single-cell "
"phenotype similarity. Validated use cases (see accompanying "
"paper): training and evaluating regression, adversarial, and "
"generative models on A549, iPSC, or both datasets and testing "
"them on both cell types under mock, ZIKV, and DENV conditions; "
"assessing whether predictions preserve infection responses and "
"remain consistent over time. Possible but not validated: "
"self-supervised representation learning of organelle morphology "
"and dynamics. Not validated for: clinical or diagnostic decision "
"support; automated drug discovery without independent wet-lab "
"validation; cell types, perturbations, or microscopes not "
"represented in the dataset; segmentation of structures other "
"than the four targets above."
),
rai_data_social_impact=(
"Positive impact: virtual staining reduces phototoxicity and "
Expand All @@ -314,8 +318,8 @@ def _a549_static_fields():
"faithful proxies for biological ground truth in quantitative "
"measurements where small intensity errors matter (e.g., kinetic "
"flux, single-molecule counting). Mitigations: the dataset is "
"released as an evaluation benchmark with frozen test splits and "
"held-out perturbations; full data limitations and bias "
"released as an evaluation benchmark with frozen test splits; "
"full data limitations and bias "
"statements are published alongside the data; benchmark code, "
"splits, and metric implementations are open-source so claims "
"can be reproduced and audited."
Expand Down Expand Up @@ -365,8 +369,8 @@ def _a549_static_fields():
"@type": "prov:Activity",
"prov:label": "DynaCell preprocessing",
"description": (
"Phase reconstruction from multi-angle transmitted-"
"light volumes via the open-source waveorder "
"Phase reconstruction from brightfield volumes via "
"the open-source waveorder "
"pipeline; co-registration of label-free and "
"fluorescence channels; per-FOV deskewing and stage-"
"position metadata correction; channel-wise "
Expand Down Expand Up @@ -432,24 +436,26 @@ def _aics_hipsc_static_fields():
"paired brightfield and 3D confocal fluorescence volumes of "
"WTC-11 human induced pluripotent stem cells (single donor, "
"gene-edited line) on a spinning-disk confocal microscope, "
"with endogenous fluorescent tags marking organelle-specific "
"proteins. DynaCell selects four targets — H2B / nucleus, "
"CAAX / cell membrane, SEC61B / endoplasmic reticulum, and "
"TOMM20 / mitochondria — and reconstructs the corresponding "
"3D phase channel from the brightfield input via the open-"
"source waveorder pipeline. 500 FOVs per organelle in the "
"training split, 100 in the held-out evaluation split."
"with a DNA dye, a cell-membrane dye, and one endogenously "
"mEGFP-tagged protein per line. DynaCell selects four targets — "
"the DNA dye (Hoechst) for nucleus, the membrane dye (CellMask) "
"for cell membrane, SEC61B for endoplasmic reticulum, and TOMM20 "
"for mitochondria — and reconstructs the corresponding 3D phase "
"channel from the brightfield input via the open-source waveorder "
"pipeline. The training split has 500 FOVs each for nucleus, "
"membrane, and mitochondria and 423 for ER; the held-out "
"evaluation split has 100 FOVs per organelle."
),
rai_data_biases=(
"The dataset covers a single human induced pluripotent stem "
"cell line (WTC-11) acquired on a single platform (Allen "
"Institute spinning-disk confocal). Models trained on this "
"data may not generalize to other iPSC lines, differentiated "
"cell types, primary cells, organisms, or microscope "
"platforms without additional validation. The endogenous-"
"tagging strategy targets specific protein loci within each "
"organelle and may not capture morphological variation "
"visible with alternative markers."
"platforms without additional validation. ER and mitochondria are "
"marked by single endogenously tagged proteins (SEC61B, TOMM20) "
"and nucleus and membrane by dyes (Hoechst, CellMask); other "
"markers may reveal different morphological variation."
),
rai_annotations_per_item=(
"Each FOV provides paired label-free (brightfield + "
Expand Down Expand Up @@ -477,18 +483,17 @@ def _aics_hipsc_static_fields():
"pipeline; reconstruction quality is bounded by that pipeline."
),
rai_data_use_cases=(
"The dataset is intended for two tasks: (1) virtual staining "
"— predicting fluorescent organelle channels (nucleus, "
"membrane, ER, mitochondria) from label-free transmitted-"
"light volumes; (2) representation learning of organelle "
"morphology in 3D iPSCs. Validated use cases (held-out 100-"
"FOV evaluation split, see accompanying paper): zero-shot "
"and fine-tuned virtual staining of the four targets above, "
"evaluated with PCC, SSIM, and FID; representation learning "
"evaluated against organelle classification benchmarks. Not "
"validated for: clinical or diagnostic decision support; "
"cross-cell-line, cross-organism, or cross-microscope "
"generalization without retraining."
"The dataset is intended for benchmarking 3D virtual staining of "
"the same four organelles (Hoechst / nucleus, CellMask / "
"membrane, SEC61B / ER, TOMM20 / mitochondria) from phase volumes "
"reconstructed from brightfield, and as a second cell type and "
"microscope for testing cross-dataset generalization. Validated "
"use cases (see accompanying paper): training and evaluating "
"models on iPSC, A549, or both datasets with the held-out test "
"split of 100 FOVs per organelle. Possible but not validated: "
"self-supervised representation learning of organelle morphology. "
"Not validated for: clinical or diagnostic decision support; cell "
"types or microscopes not represented in the dataset."
),
rai_data_social_impact=(
"Positive impact: virtual staining reduces phototoxicity and "
Expand Down Expand Up @@ -543,8 +548,8 @@ def _aics_hipsc_static_fields():
"3D paired brightfield + confocal fluorescence "
"acquisition of WTC-11 hiPSC lines on the Allen "
"Institute spinning-disk confocal microscope. "
"Endogenous fluorescent tags marked organelle-"
"specific proteins."
"Each FOV includes a DNA dye, a cell-membrane dye, "
"and one endogenously mEGFP-tagged protein."
),
"prov:wasAttributedTo": [
{
Expand All @@ -569,7 +574,9 @@ def _aics_hipsc_static_fields():
"via the open-source waveorder pipeline; per-FOV "
"channel-wise normalization statistics computed and "
"stored as zarr attributes; train/test split frozen "
"at FOV level (500 train, 100 test per organelle)."
"at FOV level (500 training FOVs each for nucleus, "
"membrane, and mitochondria and 423 for ER; 100 test "
"FOVs per organelle)."
),
"prov:wasAttributedTo": [
{
Expand Down
Loading