Skip to main content

Pure Numpy Implementation of the Coherent Point Drift Algorithm

Project description

Pure Numpy Implementation of the Coherent Point Drift Algorithm.

MIT License.

Introduction

This is a pure numpy implementation of the coherent point drift CPD algorithm by Myronenko and Song. It provides three registration methods for point clouds: 1) Scale and rigid registration; 2) Affine registration; and 3) Gaussian regularized non-rigid registration.

The CPD algorithm is a registration method for aligning two point clouds. In this method, the moving point cloud is modelled as a Gaussian Mixture Model (GMM) and the fixed point cloud are treated as observations from the GMM. The optimal transformation parameters maximze the Maximum A Posteriori (MAP) estimation that the observed point cloud is drawn from the GMM.

The registration methods work for 2D and 3D point clouds. For more information, please refer to my blog

Pip Install

$ pip install pycpd

Installation From Source

Clone the repository to a location in your home directory. For example:

$ git clone https://github.com/siavashk/pycpd.git $HOME/pycpd

Install the package:

$ pip install .

For running sample registration examples under /tests, you will need two additional packages.

Scipy (for loading .mat files) and matplotlib (for visualizing the reigstration). These can be downloaded by running:

$ pip install -r requirements.txt

Usage

Each registration method is contained within a single class inside the pycpd subfolder. To try out the registration, you can simply call:

$ python examples/fish{Transform}{Dimension}.py

where Transform is either Rigid, Affine or Deformable and Dimension is either 2D or 3D.

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

pycpd-0.4.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

pycpd-0.4-py2.py3-none-any.whl (9.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pycpd-0.4.tar.gz.

File metadata

  • Download URL: pycpd-0.4.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pycpd-0.4.tar.gz
Algorithm Hash digest
SHA256 df2c629f9150a70146c5296a0634cc2f040bd30f7d0ca77c9cd60f98545ba392
MD5 1e845d23bd3a592531c54139d1956776
BLAKE2b-256 ae3936bf0778d21c1363989df77bd213c104a2e84cc28ce9606e6c4354d76994

See more details on using hashes here.

File details

Details for the file pycpd-0.4-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pycpd-0.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 103f3e7f4fc5e154441298f0c05d05b2197363a417d3d4f18ee35e8c1f800476
MD5 62da4c5e13910364a80c445eb9ae95c8
BLAKE2b-256 e1d2f5e1ea951f67e5c316163286ab95ca1a6cefc40bda791a305cc14d42822c

See more details on using hashes here.

Supported by

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