GithubHelp home page GithubHelp logo

coherent-point-drift's Introduction

Coherent Point Drift

Build Status codecov

A python implementation of rigid and affine alignment using the coherent point drift algorithm. Includes brute-force search for rigid alignment in global rotation space.

Installation

Installing the package via setup.py is the recommended usage. This provides the executable cpd. Detailed instructions can be found in the official documentation. It can also be run from the source directory with python3 -m coherent_point_drift.main.

Dependencies

Python 3 and Numpy. Numpy is available from PyPI and can be installed as described in the pip documentation. To support plotting, matplotlib is required. To support MATLAB compatible output, scipy is required. These are all available from PyPI.

Usage

Detailed instructions and lists of supported formats are available with the --help option, but general use is as follows:

cpd align reference.csv points.csv

This will produce a transform to align the points in points.csv to the points in reference.csv (other input formats are supported).

To save the resulting transform (e.g. for plotting), specify the --format argument. Then, redirect the output into your target file:

cpd align reference.csv points.csv --format pickle > xform.pickle

The alignment can be visualized with the plot command:

cpd plot reference.csv points.csv xform.pickle

Or, it can be applied to an arbitrary set of points with the xform command:

cpd xform points.csv xform --format txt

Note --format specifies the format of the output, the input format is guessed from the file extension.

Demo

Some sample points and a transform can be found in the tests/fixtures directory, as ref.pickle, deg.pickle and xform.pickle respectively.

coherent-point-drift's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.