Automated segmentation for large-scale biological datasets.
- Free software: Apache 2.0 License
A complete install can be run with:
bash install.shOr install-by-install as follows:
- Install Rust and Cargo via RustUp:
curl https://sh.rustup.rs -sSf | sh- Install MongoDB:
curl -fsSL https://pgp.mongodb.com/server-6.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg --dearmor- And initialize a MongoDB server in a screen on your machine:
screen
mongod- Install
graph_tool
conda install -c conda-forge -c ostrokach-forge -c pkgw-forge graph-tool- Install
autoseg:
pip install git+https://github.com/brianreicher/autoseg.gitTODO
This package is used for training, predicting, & evaluating deep learning segmentation models. The models are compatible with Zarr & N5 chunked image files, and volumes should be stored in the following format:
your_dataset.zarr/
|-- volumes/
| |-- training_raw/
| | |-- 0/
| | | |-- <raw_data_chunk_0>
| | | |-- <raw_data_chunk_1>
| | | | ...
| | |-- 1/
| | ...
|-- training_labels/
| |-- 0/
| | |-- <label_chunk_0>
| | |-- <label_chunk_1>
| | | ...
| |-- 1/
| ...
|-- training_labels_masked/
| |-- 0/
| | |-- <masked_label_chunk_0>
| | |-- <masked_label_chunk_1>
| | | ...
| |-- 1/
| ...
|-- training_labels_unmasked/
|-- 0/
| |-- <unmasked_label_chunk_0>
| |-- <unmasked_label_chun
- The first step in the
autosegsegmentation pipeline is predicting pixel affinities. Pointing theautoseg.train_model()driver function to a zarr with the following volumes will allow for training, along with hyperparameter tuning.
from autoseg import train_model
train_model(
model_type="MTLSD",
iterations=100000,
warmup=100000,
raw_file="path/to/your/raw/data.zarr",
out_file="./raw_predictions.zarr",
voxel_size=33,
save_every=25000,
)Functonality exists in autoseg.utils and autoseg.WebknossosToolkit() to handle data fetching, transformations, and conversions.
- After affinities have been predicted, the
autoseg.postprocessmodule is used to run Mutex Watershed or Merge Tree instance segmentation. Users can pass in the desired affinities Zarr to segment, as follows:
from autoseg import postprocess.get_validation_segmentation
get_validation_segmentation(
segmentation_style: str = "mws",
iteration="latest",
raw_file="./data.zarr",
raw_dataset="volumes/validation_raw",
out_file="./validation.zarr",
)TODO
This package builds upon segmentation pipelines & algorithms developed by Arlo Sheridan, Brian Reicher, Jeff Rhoades, Vijay Venu, and William Patton.