pyemd - Fast EMD for Python: a wrapper for Pele and Werman's C++ implementation of the Earth Mover's Distance metric

  •        144

PyEMD is a Python wrapper for Ofir Pele and Michael Werman's implementation of the Earth Mover's Distance that allows it to be used with NumPy. If you use this code, please cite the papers listed at the end of this document. Returns: (float) The EMD value.



Related Projects

SciPy - software for Mathematics, Science, and Engineering

  •    Python

SciPy (pronounced "Sigh Pie") is open-source software for mathematics, science, and engineering. The SciPy library is built to work with NumPy arrays, and provides many user-friendly and efficient numerical routines such as routines for numerical integration and optimization.

NumPy - fundamental package for scientific computing with Python

  •    Python

NumPy is the fundamental package needed for scientific computing with Python. Numerical Python adds a fast and sophisticated N-dimensional array facility to the Python language. NumPy can also be used as an efficient multi-dimensional container of generic data. Arbitrary data-types can be defined. This allows NumPy to seamlessly and speedily integrate with a wide variety of databases.

TeDi: test suite for distance transforms

  •    C

A test suite and benchmark for exact Euclidean distance transform algorithms used in Image Processing and computational geometry. It evaluates the exactness and speed of algorithms for a large number of test cases. Results can be visualized in Scilab.

Accord.NET - Machine learning, Computer vision, Statistics and general scientific computing for .NET

  •    CSharp

The Accord.NET project provides machine learning, statistics, artificial intelligence, computer vision and image processing methods to .NET. It can be used on Microsoft Windows, Xamarin, Unity3D, Windows Store applications, Linux or mobile.

Scirust - Scientific Computing Library in Rust

  •    Rust

SciRust is a Scientific computing library written in Rust programming language. The objective is to design a generic library which can be used as a backbone for scientific computing. Its current areas of focus includes Matrices, Linear algebra, Statistics, and Signal processing.

jQuery-Store-Locator-Plugin - A store locator plugin using Google Maps API version 3

  •    Javascript

This jQuery plugin takes advantage of Google Maps API version 3 to create an easy to implement store locator. No back-end programming is required, you just need to feed it KML, XML, or JSON data with all the location information. How you create the data file is up to you. I originally created this for a company that didn’t have many locations, so I just used a static XML file. You will need to geocode your locations beforehand or use a geocoding API service if you want to try to do it on the fly. The reason for this is that all free geocoding APIs have strict limits that would easily be exceeded. In the end, you're much better off storing the coordinates versus having to look them up for each location on each request. A note on the distance calculation: this plugin currently uses a distance function that I found on the blog of Chris Pietschmann. Google Maps API version 3 does include a distance calculation service (Google Distance Matrix API) but I decided not to use it because of the current request limits, which seem somewhat low. For v2 I also tried experimenting with the Directions API to request distances but also found the limits to be too restrictive. So, the distance calculation is “as the crow flies” instead of a road distance calculation. However, if you use the inline directions option that does provide the distance that's returned via the directions request.

textdistance - Compute distance between sequences

  •    Python

TextDistance -- python library for comparing distance between two or more sequences by many algorithms. Work in progress. Now all algorithms compare two strings as array of bits.

science.js - Scientific and statistical computing in JavaScript.

  •    Javascript

Scientific and statistical computing in JavaScript.


  •    Python

Spyder is a Python development environment with advanced editing, interactive testing, debugging and introspection features. It is especially recommended for scientific computing thanks to NumPy (linear algebra), SciPy (signal and image processing), matplotlib (interactive 2D/3D plotting) and MayaVi’s mlab (interactive 3D visualization) support.

quil - Main repo. Quil source code.

  •    Clojure

Quil looked up in shock to see Bigelow floating high in the clouds, his balloons rustling merrily in the wind. He gruffed to her from above, "This truly is a party!". Image after image, vista after vista, passed furry Bige's wide-open eyes. A deep underlying beauty unfolded before him. A flock of bezier gulls whistled past. Beneath his dangling paws a distant shepherd called his scribbly sheep in for re-sketching. Goading him from the distance, wooden letters of so many different fonts mocked PERLIN-WOULD from the hilltops. In one hand Quil holds Processing, a carefully crafted API for making drawing and animation extremely easy to get your biscuit-loving chops around. In the other she clutches Clojure, an interlocking suite of exquisite language abstractions forged by an army of hammocks and delicately wrapped in flowing silky parens of un-braided joy.

Stdlib - Standard library for JavaScript and Node.js.

  •    Javascript

Stdlib is a standard library for JavaScript and Node.js, with an emphasis on numeric computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more.

ND4j - Scientific Computing for the JVM (NDArrays)

  •    Java

ND4J is an open-sourced scientific computing library for the JVM. Its features include Versatile n-dimensional array object, Multiplatform functionality including GPUs Linear algebra and signal processing functions and lot more.

Gridcoin - Cryptocurrency, Rewards Volunteer Distributed Computing

  •    C++

Gridcoin is a POS-based cryptocurrency that rewards users for participating on the BOINC network. Gridcoin uses peer-to-peer technology to operate with no central authority: managing transactions, issuing money and contributing to scientific research are carried out collectively by the network.


  •    CSharp

Filters is a image processing library: filter sobel,convolution,morphology,vectorization,segmentation,blob,blur,histogram,susan,threshold,texture,contrast,standard deviation,canny,distance map,matrix,contour,edge,rotation,correlation,gradient anisotropic

PyCNN - Image Processing with Cellular Neural Networks in Python

  •    Python

Cellular Neural Networks (CNN) [wikipedia] [paper] are a parallel computing paradigm that was first proposed in 1988. Cellular neural networks are similar to neural networks, with the difference that communication is allowed only between neighboring units. Image Processing is one of its applications. CNN processors were designed to perform image processing; specifically, the original application of CNN processors was to perform real-time ultra-high frame-rate (>10,000 frame/s) processing unachievable by digital processors. This python library is the implementation of CNN for the application of Image Processing.

xarray - N-D labeled arrays and datasets in Python

  •    Python

xarray (formerly xray) is an open source project and Python package that aims to bring the labeled data power of pandas to the physical sciences, by providing N-dimensional variants of the core pandas data structures. Our goal is to provide a pandas-like and pandas-compatible toolkit for analytics on multi-dimensional arrays, rather than the tabular data for which pandas excels. Our approach adopts the Common Data Model for self- describing scientific data in widespread use in the Earth sciences: xarray.Dataset is an in-memory representation of a netCDF file.

imagej - :sparkler: Open scientific N-dimensional image processing :microscope:

  •    Java

ImageJ is an open source Java image processing program inspired by NIH Image for the Macintosh.