A framework for easy application of established machine learning techniques on large, multi-dimensional images.
dacapo
allows you to configure machine learning jobs as combinations of
DataSplits,
Architectures,
Tasks,
Trainers,
on arbitrarily large volumes of
multi-dimensional images. dacapo
is not tied to a particular learning
framework, but currently only supports torch
with
plans to support tensorflow
.
Currently, python>=3.10 is supported. We recommend creating a new conda environment for dacapo with python 3.10.
conda create -n dacapo python=3.10
conda activate dacapo
Then install DaCapo using pip with the following command:
pip install dacapo-ml
This will install the minimum required dependencies.
You may additionally utilize a MongoDB server for storing outputs. To install and run MongoDB locally, refer to the MongoDB documentation here.
The use of MongoDB, as well as specifying the compute context (on cluster or not) should be specified in the dacapo.yaml
in the main directory.
Tasks we support and approaches for those tasks:
- Instance Segmentation
- Affinities
- Local Shape Descriptors
- Semantic segmentation
- Signed distances
- One-hot encoding of different types of objects
A minimal example tutorial can be found in the examples directory and opened in colab here:
- Chunked data, zarr, and n5
- OME-Zarr: a cloud-optimized bioimaging file format with international community support (doi: 10.1101/2023.02.17.528834)
- Videos about N5 and Fiji can be found in this playlist. For other questions, join the discussion on the Image.sc forum.
- Read about chunked storage plugins in Fiji in this blog: N5 plugins for Fiji
- Script for converting tif to zarr can be found here
- Segmentations
- A description of local shape descriptors used for affinities task. Read the blog here. Example image from the blog showing the difference between segmentations:
- CellMap Models
- GitHub Repo of published models
- For example, the COSEM trained pytorch networks are located here.
- OpenOrganelle.org
- Example of unprocessed distance predictions
- Example of refined segmentations that have undergone post-processing (e.g., thresholding, masking, smoothing)
- Example of groundtruth data
- Visualization
If you use our code, please cite us and spread the news!
@article{Patton_DaCapo_a_modular_2024,
author = {Patton, William and Rhoades, Jeff L. and Zouinkhi, Marwan and Ackerman, David G. and Malin-Mayor, Caroline and Adjavon, Diane and Heinrich, Larissa and Bennett, Davis and Zubov, Yurii and Project Team, CellMap and Weigel, Aubrey V. and Funke, Jan},
doi = {10.48550/arXiv.2408.02834},
journal = {arXiv-cs.CV},
title = {{DaCapo: a modular deep learning framework for scalable 3D image segmentation}},
year = {2024}
}