Skip to main content

An extension module implimenting the fast marching method

Project description

scikit-fmm is an extension module which implements the fast marching method.

The fast marching method is used to model the evolution of boundaries and interfaces in a variety of application areas. More specifically, the fast marching method is a numerical technique for finding approximate solutions to boundary value problems of the Eikonal equation:

F(x) | grad T(x) | = 1.

Typically, such a problem describes the evolution of a closed curve as a function of time T with speed F(x)>0 in the normal direction at a point x on the curve. The speed function is specified, and the time at which the contour crosses a point x is obtained by solving the equation.

scikit-fmm is a simple module which provides two functions: distance(phi, dx=1.0) and travel_time(phi, speed, dx=1.0).

The functions calculate the signed distance and travel time to an interface described by the zero contour of the input array phi.

>>> import skfmm
>>> import numpy as np
>>> phi = np.ones((3, 3))
>>> phi[1, 1] = -1
>>> skfmm.distance(phi)
array([[ 1.20710678,  0.5       ,  1.20710678],
       [ 0.5       , -0.35355339,  0.5       ],
       [ 1.20710678,  0.5       ,  1.20710678]])
>>> skfmm.travel_time(phi, speed = 3.0 * np.ones_like(phi))
array([[ 0.40236893,  0.16666667,  0.40236893],
       [ 0.16666667,  0.11785113,  0.16666667],
       [ 0.40236893,  0.16666667,  0.40236893]])

The input array can be of 1, 2, 3 or higher dimensions and can be a masked array.

Documentation: http://packages.python.org/scikit-fmm

PyPI: http://pypi.python.org/pypi/scikit-fmm

Source Code: https://github.com/scikit-fmm/scikit-fmm

Requirements: Numpy and a C/C++ compiler (gcc/MinGW)

Bugs, questions, patches, feature requests:

Please use the scikit-fmm Github issue tracker. https://github.com/scikit-fmm/scikit-fmm/issues

Installing:

$ python setup.py install

Testing (requires nose):

$ python tests/test_fmm.py

Building documentation (required sphinx and numpydoc):

$ make html

Version History:

0.0.1: February 13 2012

Initial release

0.0.2: February 26th 2012

Including tests and docs in source distribution. Minor changes to documentation.

Copyright:

Copyright 2012 The scikit-fmm team.

License:

BSD-style license. See LICENSE.txt in the scipy source directory.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scikit-fmm-0.0.2.tar.gz (167.9 kB view details)

Uploaded Source

Built Distribution

scikit-fmm-0.0.2.win32-py2.7.exe (227.9 kB view details)

Uploaded Source

File details

Details for the file scikit-fmm-0.0.2.tar.gz.

File metadata

  • Download URL: scikit-fmm-0.0.2.tar.gz
  • Upload date:
  • Size: 167.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for scikit-fmm-0.0.2.tar.gz
Algorithm Hash digest
SHA256 732009588177e16871d2dff07d79a15f9e107d3e4a472297c2a2dfc7cef635d8
MD5 740281f8c18e0e367733f9e3723d6dc9
BLAKE2b-256 570a3044dd474268c03e8651670991d7c0efab0b4a12e230837c20a565291736

See more details on using hashes here.

File details

Details for the file scikit-fmm-0.0.2.win32-py2.7.exe.

File metadata

File hashes

Hashes for scikit-fmm-0.0.2.win32-py2.7.exe
Algorithm Hash digest
SHA256 6f9e236b3ff81e04eda550a16726242d1612460d53566418d2977254069eeb08
MD5 e14595d89eb12230f23114903e4775cf
BLAKE2b-256 c1692f37c529d4c34deae510aa4441c0e97a94fa4adb266e45325320ac3e3741

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page