/dacapo

A framework for easy application of established machine learning techniques on large, multi-dimensional images.

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

CellMap logo

DaCapo DaCapo GitHub Org's stars

PyPI - Downloads Documentation Status Github Created At GitHub License Python Version from PEP 621 TOML

tests black mypy docs codecov

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.

Installation and Setup

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.

Functionality Overview

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

Helpful Resources & Tools

Citing this repo

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}
}