Skip to main content

A template project, to enable people to build nicely structured C++ projects.

Project description

scikit-surgerygoicp

Build Status Build Status

Purpose

This is a re-wrapping of the GoICP algorithm in https://github.com/aalavandhaann/go-icp_cython using PyBind11.

pip install scikit-surgerygoicp

Working on Ubunutu (Python 3.6, 3.7, 3.8), Mac (3.6, 3.7, 3.8) and Windows (3.6, 3.7)

Usage

Only the below classes have been wrapped:

  • GoICP
  • POINT3D
  • ROTNODE
  • TRANSNODE

A simplified usage is shown below. See Testing/test.py for a full example.

import numpy as np;
from sksurgerygoicppython import GoICP, POINT3D, ROTNODE, TRANSNODE;

def loadPointCloud(filename):
    pcloud = np.loadtxt(filename, skiprows=1);
    plist = pcloud.tolist();
    p3dlist = [];
    for x,y,z in plist:
        pt = POINT3D(x,y,z);
        p3dlist.append(pt);
    return pcloud.shape[0], p3dlist;

goicp = GoICP();
Nm, a_points = loadPointCloud('./Testing/Data/model_bunny.txt');
Nd, b_points = loadPointCloud('./Testing/Data/data_bunny.txt');
goicp.loadModelAndData(Nm, a_points, Nd, b_points);
goicp.setDTSizeAndFactor(300, 2.0);
goicp.BuildDT();
goicp.Register();
print(goicp.optimalRotation()); # A python list of 3x3 is returned with the optimal rotation
print(goicp.optimalTranslation());# A python list of 1x3 is returned with the optimal translation

Credits

https://github.com/aalavandhaann/go-icp_cython https://github.com/yangjiaolong/Go-ICP

Preferred Branching Workflow for Contributions.

We welcome contributions to this project. Please use the following workflow.

  1. Raise issue in this project's Github Issue Tracker.
  2. Fork repository.
  3. Create a feature branch called <issue-number>-<some-short-description> replacing <issue-number> with the Github issue number and <some-short-description> with your description of the thing you are implementing.
  4. Code on that branch.
  5. Push to your remote when ready.
  6. Create pull request.
  7. We will review code, suggest and required changes and merge to master when it is ready.

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

scikit_surgerygoicp-0.2.5-cp38-cp38-macosx_10_9_x86_64.whl (114.7 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

scikit_surgerygoicp-0.2.5-cp37-cp37m-macosx_10_9_x86_64.whl (113.3 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

File details

Details for the file scikit_surgerygoicp-0.2.5-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: scikit_surgerygoicp-0.2.5-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 114.7 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12

File hashes

Hashes for scikit_surgerygoicp-0.2.5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e4bf2aba348cb567591556ac0d2a925c276b4abf8152fc7cad51f34eb76e11a4
MD5 4b913b61a95c79db94a52c9d14304733
BLAKE2b-256 ad8dbbf8fe1f3c888d260bb0ab223cbb591820097316f03f7162f3e898c986e3

See more details on using hashes here.

File details

Details for the file scikit_surgerygoicp-0.2.5-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: scikit_surgerygoicp-0.2.5-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 113.3 kB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.12

File hashes

Hashes for scikit_surgerygoicp-0.2.5-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 52c054b771acdd8af720da19df6a4ad7b02841a2cdbbb96f857d4829ff23b5d8
MD5 76a247398e2d98167979fed56c616c8b
BLAKE2b-256 16a7d30c93b5cf106c5561ed8cd22b62860d2a9c30a50d03b6f57b5c67fef6a7

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