EmbedSeg provides automatic detection and segmentation of objects in microscopy images
Project description
EmbedSeg
Introduction
This repository hosts the version of the code used for the preprint Embedding-based Instance Segmentation of Microscopy Images. For a short summary of the main attributes of the publication, please check out the project webpage.
We refer to the techniques elaborated in the publication, here as EmbedSeg. EmbedSeg
is a method to perform instance-segmentation of objects in microscopy images, based on the ideas by Neven et al, 2019.
With EmbedSeg
, we obtain state-of-the-art results on multiple real-world microscopy datasets. EmbedSeg
has a small enough memory footprint (between 0.7 to about 3 GB) to allow network training on virtually all CUDA enabled hardware, including laptops.
Citation
If you find our work useful in your research, please consider citing:
@misc{lalit2021embeddingbased,
title={Embedding-based Instance Segmentation of Microscopy Images},
author={Manan Lalit and Pavel Tomancak and Florian Jug},
year={2021},
eprint={2101.10033},
archivePrefix={arXiv},
primaryClass={eess.IV}
}
Dependencies
We have tested this implementation using pytorch
version 1.1.0 and cudatoolkit
version 10.0 on a linux
OS machine.
- One could install
EmbedSeg
withpip
:
conda create -n EmbedSegEnv python==3.7
conda activate EmbedSegEnv
python3 -m pip install EmbedSeg
and then install pytorch:
conda install pytorch==1.1.0 torchvision==0.3.0 cudatoolkit=10.0 -c pytorch
- Alternately, one could use the
environment.yml
file (this would also installpytorch
,torchvision
andcudatoolkit
). Create a new environment using :
conda env create -f path/to/environment.yml
.
Getting Started
Look in the examples
directory, and try out one of the provided notebooks. Please make sure to select Kernel > Change kernel
to EmbedSegEnv
.
Training & Inference on your data
*.tif
-type images and the corresponding masks should be respectively present under images
and masks
, under directories train
, val
and test
. (In order to prepare such instance masks, one could use the Fiji plugin Labkit as suggested here). The following would be a desired structure as to how data should be prepared.
$data_dir
└───$project-name
|───train
└───images
└───X0.tif
└───...
└───Xn.tif
└───masks
└───Y0.tif
└───...
└───Yn.tif
|───val
└───images
└───...
└───masks
└───...
|───test
└───images
└───...
└───masks
└───...
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
Hashes for EmbedSeg-0.2.0a0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4868cf0eaa00037af98b790090986f080cc8fd51e9d7516a9c1a92038573e2ad |
|
MD5 | 6fa0079401b9c15681e55fe5bfbffd60 |
|
BLAKE2b-256 | d2ffeb16919de4419a7b2f5c02e7f3430a74818835030d68435f29a367a700fc |