Framework for deployment of volumetric machine learning models, and easy composition of training jobs.
Project description
DaCapo
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
Example Tutorial
A minimal example tutorial can be found in the examples directory and opened in colab here:
Helpful Resources & Tools
- 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
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}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file dacapo_ml-0.3.5.tar.gz
.
File metadata
- Download URL: dacapo_ml-0.3.5.tar.gz
- Upload date:
- Size: 3.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e5732188e0d60044bce81d0a0b6728c2d3b508e0129644f16661aaaf10335e9 |
|
MD5 | ffd31d29ef7ba1f4c5ac2f6fb153b215 |
|
BLAKE2b-256 | bb39be48fb15ea01b3db8a27341df2dfb1eeb022cf86a20cf5c697ba68e90fee |
File details
Details for the file dacapo_ml-0.3.5-py3-none-any.whl
.
File metadata
- Download URL: dacapo_ml-0.3.5-py3-none-any.whl
- Upload date:
- Size: 275.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae31c430b4799328ba10c332842b0c68ad5e36bc6af708645424312f235cec3b |
|
MD5 | bcab27763812670fc64315432e7b4e4f |
|
BLAKE2b-256 | ec867ca553ded072ca98a8ac1d5434801b1cc541eaa26f5f4d28ed9f5a9f9f23 |