Mahotas: Computer Vision in Python
If you are using mahotas in a scientific publication, please cite:
Coelho, L.P. 2013. Mahotas: Open source software for scriptable computer vision. Journal of Open Research Software 1(1):e3, DOI: http://dx.doi.org/10.5334/jors.ac
Mahotas is a computer vision and image processing library for Python.
It includes many algorithms implemented in C++ for speed while operating in numpy arrays and with a very clean Python interface.
Mahotas currently has over 100 functions for image processing and computer vision and it keeps growing. Some examples of mahotas functionality:
The release schedule is roughly one release every few months and each release brings new functionality and improved performance. The interface is very stable, though, and code written using a version of mahotas from years back will work just fine in the current version, except it will be faster (some interfaces are deprecated and will be removed after a few years, but in the meanwhile, you only get a warning).
Bug reports with test cases typically get fixed in 24 hours.
.. seealso:: `mahotas-imread <http://imread.readthedocs.io/en/latest/>`__ is side project which includes code to read/write images to files
This is a simple example of loading a file (called test.jpeg) and calling watershed using above threshold regions as a seed (we use Otsu to define threshold).
import numpy as np import mahotas import pylab img = mahotas.imread('test.jpeg') T_otsu = mahotas.thresholding.otsu(img) seeds,_ = mahotas.label(img > T_otsu) labeled = mahotas.cwatershed(img.max() - img, seeds) pylab.imshow(labeled)
Computing a distance transform is easy too:
.. plot:: :include-source: import pylab as p import numpy as np import mahotas f = np.ones((256,256), bool) f[200:,240:] = False f[128:144,32:48] = False # f is basically True with the exception of two islands: one in the lower-right # corner, another, middle-left dmap = mahotas.distance(f) p.imshow(dmap) p.show()
Full Documentation Contents
Jump to detailed API Documentation
.. toctree:: :maxdepth: 2 install wally labeled thresholding wavelets distance polygon features lbp surf surfref morphology color io classification edf mahotas-features faq internals principles contributing tasks history api