Skip to main content

Pure Numpy Implementation of the Coherent Point Drift Algorithm

Project description

https://travis-ci.com/siavashk/pycpd.svg?branch=master

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, referred to as the root folder. For example:

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

Install the package:

pip install .

For running sample registration examples under examples, you will need matplotlib to visualize the registration. This can be downloaded by running:

pip install matplotlib

Usage

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

python examples/fish_{Transform}_{Dimension}.py

where Transform is either rigid, affine or deformable and Dimension is either 2D or 3D. Note that examples are meant to be run from the root folder.

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-2.0.0.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

pycpd-2.0.0-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pycpd-2.0.0.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.6

File hashes

Hashes for pycpd-2.0.0.tar.gz
Algorithm Hash digest
SHA256 d0ae86c8f490d10ea9ad1d6067891197f1d5e948f23dcb7a59aadaee9ece5c9e
MD5 6bb6a81ef6b164506069a0023e2d5068
BLAKE2b-256 c7e3e867299fbc745cbec071c13d45b74e255e86752da9ebd8962bf55fc54aa4

See more details on using hashes here.

File details

Details for the file pycpd-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: pycpd-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.6

File hashes

Hashes for pycpd-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c4d80a3db47919e27e3109e7f47cb41c442babced6f9126caa728bd18a28103a
MD5 4133d00938ab5b481cf894c3bedee855
BLAKE2b-256 e84c80e9bede6ddcb5f72bfb4cce1ecf17a5199dc9de0afb8f149c0b5f7f68f5

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