Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

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


Release history Release notifications

This version
History Node

0.0.3

History Node

0.0.2

History Node

0.0.1a11

History Node

0.0.1a10

History Node

0.0.1a9

History Node

0.0.1a8

History Node

0.0.1a7

History Node

0.0.1a6

History Node

0.0.1a5

History Node

0.0.1a4

History Node

0.0.1a3

History Node

0.0.1a2

History Node

0.0.1a1

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 Sep 7, 2017

Supported by

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