Segmentation tool for biological cells of irregular size and shape in 3D and 2D, using StarDist, U-NET, CARE, CellPose and SAM
Project description
VollSeg
3D segmentation tool for irregular shaped cells
Installation
This package can be installed by
pip install --user vollseg
mamba install pytorch torchvision torchaudio pytorch-cuda=11.6 -c pytorch -c nvidia
If you are building this from the source, clone the repository and install via
git clone https://github.com/kapoorlab/vollseg/
cd vollseg
pip install --user -e .
`mamba install pytorch torchvision torchaudio pytorch-cuda=11.6 -c pytorch -c nvidia`
Pipenv install
Pipenv allows you to install dependencies in a virtual environment.
# install pipenv if you don't already have it installed
pip install --user pipenv
# clone the repository and sync the dependencies
git clone https://github.com/kapoorlab/vollseg/
cd vollseg
pipenv sync
# make the current package available
pipenv run python setup.py develop
`mamba install pytorch torchvision torchaudio pytorch-cuda=11.6 -c pytorch -c nvidia`
# you can run the example notebooks by starting the jupyter notebook inside the virtual env
pipenv run jupyter notebook
Access the example
folder and run the cells.
Algorithm
Schematic representation showing the segmentation approach used in VollSeg. First, we input the raw fluorescent image in 3D (A) and preprocess it to remove noise. Next, we obtain the star convex approximation to the cells using Stardist (B) and the U-Net prediction labelled via connected components (C). We then obtain seeds from the centroids of labelled image in B, for each labelled region of C in order to create bounding boxes and centroids. If there is no seed from B in the bounding box region from U-Net, we add the new centroid (in yellow) to the seed pool (D). Finally, we do a marker controlled watershed in 3D using skimage implementation on the probability map shown in (E) to obtain final cell segmentation result shown in (F). All images are displayed in Napari viewer with 3D display view.
Example
To try the provided notebooks we provide an example dataset of Arabidopsis, Binary Images, Raw Images and Labelled images and trained models: stardist, Denoising, U-Net. For training the networks use this notebook in Colab. To train a denoising model using noise to void use this notebook
Docker
A Docker image can be used to run the code in a container. Once inside the project's directory, build the image with:
docker build -t voll .
Now to run the track
command:
# show help
docker run --rm -it voll
Requirements
- Python 3.7 and above.
License
Under MIT license. See LICENSE.
Authors
- Varun Kapoor randomaccessiblekapoor@gmail.com
- Claudia Carabaña
- Mari Tolonen
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.