Metadata-Version: 1.1
Name: mahotas
Version: 1.4.4
Summary: Mahotas: Computer Vision Library
Home-page: http://luispedro.org/software/mahotas
Author: Luis Pedro Coelho
Author-email: luis@luispedro.org
License: MIT
Description-Content-Type: UNKNOWN
Description: # Mahotas
        
        ## Python Computer Vision Library
        
        Mahotas is a library of fast computer vision algorithms (all implemented
        in C++ for speed) operating over numpy arrays.
        
        [![Travis](https://api.travis-ci.org/luispedro/mahotas.png)](https://travis-ci.org/luispedro/mahotas)
        [![Downloads](https://pypip.in/d/mahotas/badge.png)](https://pypi.python.org/pypi/mahotas)
        [![License](https://pypip.in/license/mahotas/badge.png)](http://opensource.org/licenses/MIT)
        [![Install with Anaconda](https://anaconda.org/conda-forge/mahotas/badges/installer/conda.svg)](https://conda.anaconda.org/conda-forge/mahotas)
        [![Join the chat at https://gitter.im/luispedro/mahotas](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/luispedro/mahotas)
        
        Python versions 2.7, 3.3+, are supported.
        
        Notable algorithms:
        
        - [watershed](http://mahotas.readthedocs.io/en/latest/distance.html)
        - [convex points calculations](http://mahotas.readthedocs.io/en/latest/polygon.html).
        - hit & miss, thinning.
        - Zernike & Haralick, LBP, and TAS features.
        - [Speeded-Up Robust Features
          (SURF)](http://mahotas.readthedocs.io/en/latest/surf.html), a form of local
          features.
        - [thresholding](http://mahotas.readthedocs.io/en/latest/thresholding.html).
        - convolution.
        - Sobel edge detection.
        - spline interpolation
        - SLIC super pixels.
        
        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](http://dx.doi.org/10.5334/jors.ac) (see
        details below under [Citation](#Citation)) if you use it in a publication.
        
        ## Examples
        
        This is a simple example (using an example file that is shipped with
        mahotas) of calling watershed using above threshold regions as a seed
        (we use Otsu to define threshold).
        
            # import using ``mh`` abbreviation which is common:
            import mahotas as mh
        
            # Load one of the demo images
            im = mh.demos.load('nuclear')
        
            # Automatically compute a threshold
            T_otsu = mh.thresholding.otsu(im)
        
            # Label the thresholded image (thresholding is done with numpy operations
            seeds,nr_regions = mh.label(im > T_otsu)
        
            # Call seeded watershed to expand the threshold
            labeled = mh.cwatershed(im.max() - im, 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 as mh
        
            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 = mh.distance(f)
            p.imshow(dmap)
            p.show()
        
        (This is under [mahotas/demos/distance.py](https://github.com/luispedro/mahotas/blob/master/mahotas/demos/distance.py).)
        
        How to invoke thresholding functions:
        
            import mahotas as mh
            import numpy as np
            from pylab import imshow, gray, show, subplot
            from os import path
        
            # Load photo of mahotas' author in greyscale
            photo = mh.demos.load('luispedro', as_grey=True)
        
            # Convert to integer values (using numpy operations)
            photo = photo.astype(np.uint8)
        
            # Compute Otsu threshold
            T_otsu = mh.otsu(photo)
            thresholded_otsu = (photo > T_otsu)
        
            # Compute Riddler-Calvard threshold
            T_rc = mh.rc(photo)
            thresholded_rc = (photo > T_rc)
        
            # Now call pylab functions to display the image
            gray()
            subplot(2,1,1)
            imshow(thresholded_otsu)
            subplot(2,1,2)
            imshow(thresholded_rc)
            show()
        
        As you can see, we rely on numpy/matplotlib for many operations.
        
        ## Install
        
        If you are using [conda](http://anaconda.org/), you can install mahotas from
        [conda-forge](https://conda-forge.github.io/) using the following commands:
        
            conda config --add channels conda-forge
            conda install mahotas
        
        ### Compilation from source
        
        You will need python (naturally), numpy, and a C++ compiler. Then you
        should be able to use:
        
            pip install mahotas
        
        You can test your installation by running:
        
            python -c "import mahotas as mh; mh.test()"
        
        If you run into issues, the manual has more [extensive documentation on
        mahotas
        installation](https://mahotas.readthedocs.io/en/latest/install.html),
        including how to find pre-built for several platforms.
        
        ## 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, vol 1, 2013.
        > [[DOI](http://dx.doi.org/10.5334/jors.ac)]
        
        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},
        >       doi = {http://dx.doi.org/10.5334/jors.ac},
        >       month = {July},
        >       volume = {1}
        >   }
        
        You can access this information using the `mahotas.citation()` function.
        
        ## Development
        
        Development happens on github
        ([http://github.com/luispedro/mahotas](https://github.com/luispedro/mahotas)).
        
        You can set the `DEBUG` environment variable before compilation to get a
        debug version:
        
            export DEBUG=1
            python setup.py test
        
        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.
        Debug level 2 is very slow as it adds many runtime checks.
        
        The `Makefile` that is shipped with the source of mahotas can be useful
        too. `make debug` will create a debug build. `make fast` will create a
        non-debug build (you need to `make clean` in between). `make test` will
        run the test suite.
        
        ## Links & Contacts
        
        *Documentation*:
        [https://mahotas.readthedocs.io/](https://mahotas.readthedocs.io/)
        
        *Issue Tracker*: [github mahotas
        issues](https://github.com/luispedro/mahotas/issues)
        
        *Mailing List*: Use the [pythonvision mailing
        list](http://groups.google.com/group/pythonvision?pli=1) for questions,
        bug submissions, etc. Or ask on [stackoverflow (tag
        mahotas)](http://stackoverflow.com/questions/tagged/mahotas)
        
        *Main Author & Maintainer*: [Luis Pedro Coelho](http://luispedro.org)
        (follow on [twitter](https://twitter.com/luispedrocoelho) or
        [github](https://github.com/luispedro)).
        
        Mahotas also includes code by Zachary Pincus [from scikits.image], Peter
        J. Verveer [from scipy.ndimage], and Davis King [from dlib], Christoph
        Gohlke, as well as
        [others](https://github.com/luispedro/mahotas/graphs/contributors).
        
        [Presentation about mahotas for bioimage
        informatics](http://luispedro.org/files/talks/2013/EuBIAS/mahotas.html)
        
        For more general discussion of computer vision in Python, the
        [pythonvision mailing
        list](http://groups.google.com/group/pythonvision?pli=1) 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
        
        ### Version 1.4.4 (Nov 5 2017)
        - Fix bug in Bernsen thresholding (issue #84)
        
        ### Version 1.4.3 (Oct 3 2016)
        - Fix distribution (add missing `README.md` file)
        
        ### Version 1.4.2 (Oct 2 2016)
        
        - Fix `resize\_to` return exactly the requested size
        - Fix hard crash when computing texture on arrays with negative values (issue #72)
        - Added `distance` argument to haralick features (pull request #76, by
          Guillaume Lemaitre)
        
        ### Version 1.4.1 (Dec 20 2015)
        
        -   Add `filter\_labeled` function
        -   Fix tests on 32 bit platforms and older versions of numpy
        
        ### Version 1.4.0 (July 8 2015)
        
        -   Added `mahotas-features.py` script
        -   Add short argument to citation() function
        -   Add max\_iter argument to thin() function
        -   Fixed labeled.bbox when there is no background (issue \#61, reported
            by Daniel Haehn)
        -   bbox now allows dimensions greater than 2 (including when using the
            `as_slice` and `border` arguments)
        -   Extended croptobbox for dimensions greater than 2
        -   Added use\_x\_minus\_y\_variance option to haralick features
        -   Add function `lbp_names`
        
        ### Version 1.3.0 (April 28 2015)
        
        -   Improve memory handling in freeimage.write\_multipage
        -   Fix moments parameter swap
        -   Add labeled.bbox function
        -   Add return\_mean and return\_mean\_ptp arguments to haralick
            function
        -   Add difference of Gaussians filter (by Jianyu Wang)
        -   Add Laplacian filter (by Jianyu Wang)
        -   Fix crash in median\_filter when mismatched arguments are passed
        -   Fix gaussian\_filter1d for ndim \> 2
        
        ### Version 1.2.4 (December 23 2014)
        
        -   Add PIL based IO
        
        ### Version 1.2.3 (November 8 2014)
        
        -   Export mean\_filter at top level
        -   Fix to Zernike moments computation (reported by Sergey Demurin)
        -   Fix compilation in platforms without npy\_float128 (patch by Gabi
            Davar)
        
        ### Version 1.2.2 (October 19 2014)
        
        -   Add minlength argument to labeled\_sum
        -   Generalize regmax/regmin to work with floating point images
        -   Allow floating point inputs to `cwatershed()`
        -   Correctly check for float16 & float128 inputs
        -   Make sobel into a pure function (i.e., do not normalize its input)
        -   Fix sobel filtering
        
        ### Version 1.2.1 (July 21 2014)
        
        -   Explicitly set numpy.include\_dirs() in setup.py [patch by Andrew
            Stromnov]
        
        ### Version 1.2 (July 17 2014)
        
        -   Export locmax|locmin at the mahotas namespace level
        -   Break away ellipse\_axes from eccentricity code as it can be useful
            on its own
        -   Add `find()` function
        -   Add `mean_filter()` function
        -   Fix `cwatershed()` overflow possibility
        -   Make labeled functions more flexible in accepting more types
        -   Fix crash in `close_holes()` with nD images (for n \> 2)
        -   Remove matplotlibwrap
        -   Use standard setuptools for building (instead of numpy.distutils)
        -   Add `overlay()` function
        
        ### Version 1.1.1 (July 4 2014)
        
        -   Fix crash in close\_holes() with nD images (for n \> 2)
        
        ### 1.1.0 (February 12 2014)
        
        -   Better error checking
        -   Fix interpolation of integer images using order 1
        -   Add resize\_to & resize\_rgb\_to
        -   Add coveralls coverage
        -   Fix SLIC superpixels connectivity
        -   Add remove\_regions\_where function
        -   Fix hard crash in convolution
        -   Fix axis handling in convolve1d
        -   Add normalization to moments calculation
        
        See the
        [ChangeLog](https://github.com/luispedro/mahotas/blob/master/ChangeLog)
        for older version.
        
Platform: Any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Image Recognition
Classifier: Topic :: Software Development :: Libraries
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: C++
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: MIT License
