Skip to main content

Small Particle Detection, a shapes library-based object detector.

Project description

SPADE: Small PArticle DEtection

http://www-sop.inria.fr/morpheme/images/logo2.png

An algorithm primarily design to detect objects whose sizes aren’t larger a few pixels (particles) on fluorescence microscopy images.

It is an simplified version of marked point process.

Requirements

SPADE has only been tested with Python 3.5 but should work with older versions. The only strict requirement is the package numpy. In order to use SPADE to its full extent, we recommend installing the scikit-image package and the full scipy ecosystem.

Usage

In a python script

You can install the package using PIP. The main function, spade2d, is in the spade.detection_2d module. It takes an image, a shapes library and a threshold as input. A typical usage would look like like

from skimage.io import imread, imshow
from skimage.filters import threshold_otsu
from skimage.color import label2rgb
from numpy import percentile
import matplotlib.pyplot as plt

from spade.detection_2d import spade2d
from spade.shapes.examples import potatoids5x5_smallest4px


# Load the example image.
image = imread("example_2d.png")

# Separate cell image from background, using by Otsu's thresholding method.
cell = image > threshold_otsu(image)

# Focus on brightest pixels only
potential_centers = image > percentile(image[cell], 99)

# Detect particles.
particles = spade2d(image=image,
                    shapes_library=potatoids5x5_smallest4px,
                    threshold=20,
                    potential_centers=potential_centers,
                    mask=cell)

# Show detected particles as overlay on our original image.
imshow(label2rgb(particles, image, bg_label=0))
plt.show()

See the examples in the example folder of the source dist for more information. Note that matplotlib and skimage are not required for SPADE to work.

From the command line

Also provided is a command line interface, that can be used as following:

python -m spade.cli INPUT_IMAGE THRESHOLD -o /path/to/output_image.png

Launch this command with -h for more information on its usage.

Authors & Acknowledgments

SPADE was developed by Nicolas Cedilnik, Éric Debreuve and Xavier Descombes at the MORPHEME team.

If you use SPADE for your scientific work, please include this bibtex (or equivalent) entry:

@misc{cedilnik2016spade,
  title={SPADE: Small particle detection}
  author={Cedilnik, Nicolas and Debreuve, Éric and Descombes, Xavier}
  url={https://pypi.python.org/pypi/small-particle-detection}
  year={2016}
}

License

SPADE is released under the CeCILL-2.1 licence.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
small-particle-detection-0.0.3.tar.gz (91.2 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page