Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install mahotas

How to install mahotas

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install mahotas
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
0.8.1
1.0.2Never BuiltWhy not?
0.8.1 Available View build log
0.8 Available View build log
0.7.3 Failed View build log
0.7.2 Available View build log
0.7.1 Available View build log
0.7 Available View build log
0.6.6 Available View build log
0.6.5 Available View build log
0.6.4 Failed View build log
0.6.3 Available View build log
0.6.2 Available View build log
0.6.1 Failed View build log
0.6 Failed View build log
0.5.3 Failed View build log
0.5.2 Failed View build log
0.5 Failed View build log
0.4 Failed View build log
Windows (64-bit)
0.8
1.0.2Never BuiltWhy not?
0.8 Available View build log
0.7.3 Available View build log
0.7.2 Available View build log
0.7.1 Available View build log
0.7 Available View build log
0.6.6 Available View build log
0.6.5 Failed View build log
0.6.4 Failed View build log
0.6.3 Available View build log
0.6.2 Available View build log
0.6.1 Failed View build log
0.6 Failed View build log
0.5.3 Failed View build log
0.5.2 Failed View build log
0.5 Failed View build log
0.4 Failed View build log
Mac OS X (10.5+)
1.0.2 Available View build log
0.8.1 Available View build log
0.8 Available View build log
0.7.3 Available View build log
0.7.2 Available View build log
0.7.1 Available View build log
0.7 Failed View build log
0.6.6 Available View build log
0.6.5 Available View build log
0.6.4 Available View build log
0.6.3 Failed View build log
0.6.2 Failed View build log
0.6.1 Failed View build log
0.6 Failed View build log
0.5.3 Available View build log
0.5.2 Available View build log
0.5 Available View build log
0.4 Available View build log
Linux (32-bit)
1.0.2 Available View build log
0.9.5 Available View build log
0.9.4 Failed View build log
0.9.3 Failed View build log
0.9 Available View build log
0.8.1 Available View build log
0.8 Available View build log
0.7.3 Available View build log
0.7.2 Available View build log
0.7.1 Available View build log
0.7 Available View build log
0.6.6 Available View build log
0.6.5 Available View build log
0.6.4 Available View build log
0.6.3 Available View build log
0.6.2 Available View build log
0.6.1 Available View build log
0.6 Available View build log
0.5.3 Available View build log
0.5.2 Available View build log
0.5 Available View build log
0.4 Available View build log
Linux (64-bit)
1.0.2 Available View build log
0.9.5 Available View build log
0.9.4 Failed View build log
0.9.3 Failed View build log
0.9 Available View build log
0.8.1 Available View build log
0.8 Available View build log
0.7.3 Available View build log
0.7.2 Available View build log
0.7.1 Available View build log
0.7 Available View build log
0.6.6 Available View build log
0.6.5 Available View build log
0.6.4 Available View build log
0.6.3 Available View build log
0.6.2 Available View build log
0.6.1 Available View build log
0.6 Available View build log
0.5.3 Available View build log
0.5.2 Available View build log
0.5 Available View build log
0.4 Available View build log
 
License
MIT
Dependencies
Depended by
Lastest release
version 1.0.2 on Jul 11th, 2013

Python Computer Vision Library

This library of fast computer vision algorithms (all implemented in C++) operates over numpy arrays for convenience.

Notable algorithms:
  • watershed.
  • convex points calculations.
  • hit & miss. thinning.
  • Zernike & Haralick, LBP, and TAS features.
  • freeimage based numpy image loading (requires freeimage libraries to be installed).
  • Speeded-Up Robust Features (SURF), a form of local features.
  • thresholding.
  • convolution.
  • Sobel edge detection.
  • spline interpolation

Mahotas currently has over 100 functions for image processing and computer vision and it keeps growing.

The release schedule is roughly one release a month 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). In a few unfortunate cases, there was a bug in the old code and your results will change for the better.

Please cite the mahotas paper (see details below under Citation) if you use it in a publication.

Examples

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
from scipy import ndimage
import mahotas
import pylab

img = mahotas.imread('test.jpeg')
T_otsu = mahotas.thresholding.otsu(img)
seeds,_ = ndimage.label(img > T_otsu)
labeled = mahotas.cwatershed(img.max() - img, seeds)

Here is a very simple example of using mahotas.distance (which computes a distance map):

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()

(This is under mahotas/demos/distance.py).

How to invoke thresholding functions:

import mahotas
import numpy as np
from pylab import imshow, gray, show, subplot
from os import path

photo = mahotas.imread('luispedro.org', as_grey=True)
photo = photo.astype(np.uint8)

T_otsu = mahotas.otsu(photo)
thresholded_otsu = (photo > T_otsu)

T_rc = mahotas.rc(photo)
thresholded_rc = (photo > T_rc)

Install

You will need python (naturally), numpy, and a C++ compiler. Then you should be able to either

Download the source and then run:

python setup.py install

or use one of:

pip install mahotas
easy_install mahotas

You can test your instalation by running:

python -c "import mahotas; mahotas.test()"

If something fails, you can obtain more detail by running it again in verbose mode:

python -c "import mahotas; mahotas.test(verbose=True)"

Development

Development happens on github (http://github.com/luispedro/mahotas).

You can set the DEBUG environment variable before compilation to get a debug compile. You can set it to the value 2 to get extra checks:

export DEBUG=2
python setup.py test

Be careful not to use this in production unless you are chasing a bug. The debug modes are pretty slow as they add many runtime checks.

Travis Build Status
https://travis-ci.org/luispedro/mahotas.png

Citation

If you use mahotas on a published publication, please cite:

Luis Pedro Coelho Mahotas: Open source software for scriptable computer vision in Journal of Open Research Software, 2013 (in press).

In Bibtex format:

@article{mahotas,
    author = {Luis Pedro Coelho},
    title = {Mahotas: Open source software for scriptable computer vision},
    journal = {Journal of Open Research Software},
    year = {2013},
    note = {in press},
    volume = {1}
}

You can access this information using the mahotas.citation() function.

Contacts

For bug reports and fixes, feel free to use my email: luis@luispedro.org

For more general with achieving certain tasks in Python, the pythonvision mailing list is a much better venue and generates a public discussion log for others in the future. You can use it for mahotas or general computer vision in Python questions.

Recent Changes

1.0.2 (July 10 2013)
  • Fix requirements filename
1.0.1 (July 9 2013)
  • Add lbp_transform() function
  • Add rgb2sepia function
  • Add mahotas.demos.nuclear_image() function
  • Work around matplotlib.imsave's implementation of greyscale
  • Fix Haralick bug (report & patch by Tony S Yu)
  • Add count_binary1s() function
1.0 (May 21 2013)
  • Make matplotlib a soft dependency
  • Add demos.image_path() function
  • Add citation() function
  • Fix a few corner cases in texture analysis
  • Integrate with travis
  • Update citation (include DOI)
0.99 (May 4 2013)
  • Make matplotlib a soft dependency
  • Add demos.image_path() function
  • Add citation() function

This version is 1.0 beta.

0.9.8 (April 22 2013)
  • Use matplotlib as IO backend (fallback only)
  • Compute dense SURF features
  • Fix sobel edge filtering (post-processing)
  • Faster 1D convultions (including faster Gaussian filtering)
  • Location independent tests (run mahotas.tests.run() anywhere)
  • Add labeled.is_same_labeling function
  • Post filter SLIC for smoother regions
  • Fix compilation warnings on several platforms
0.9.7 (February 03 2013)
  • Add haralick_features function
  • Add out parameter to morph functions which were missing it
  • Fix erode() & dilate() with empty structuring elements
  • Special case binary erosion/dilation in C-Arrays
  • Fix long-standing warning in TAS on zero inputs
  • Add verbose argument to tests.run()
  • Add circle_se to morph
  • Allow loc(max|min) to take floating point inputs
  • Add Bernsen local thresholding (bernsen and gbernsen functions)

See the ChangeLog for older version.

Website: http://luispedro.org/software/mahotas

API Docs: http://mahotas.readthedocs.org/

Mailing List: Use the pythonvision mailing list for questions, bug submissions, etc.

Author: Luis Pedro Coelho (with code by Zachary Pincus [from scikits.image], Peter J. Verveer [from scipy.ndimage], and Davis King [from dlib])

Subscribe to package updates

Last updated Jul 11th, 2013

Download Stats

Last month:24

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.