Skip to main content

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.

Metadata

Release files for scikit-surgerygoicp 0.2.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for scikit-surgerygoicp 0.2.5
File Interpreter ABI Platform
scikit_surgerygoicp-0.2.5-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details
scikit_surgerygoicp-0.2.5-cp37-cp37m-macosx_10_9_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64 Details

Total release size: 228.1 kB

Release files / scikit_surgerygoicp-0.2.5-cp38-cp38-macosx_10_9_x86_64.whl

Download URL scikit_surgerygoicp-0.2.5-cp38-cp38-macosx_10_9_x86_64.whl
Size 114.7 kB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
e4bf2aba348cb567591556ac0d2a925c276b4abf8152fc7cad51f34eb76e11a4
BLAKE2b-256 checksum
How to use checksums
ad8dbbf8fe1f3c888d260bb0ab223cbb591820097316f03f7162f3e898c986e3
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / scikit_surgerygoicp-0.2.5-cp37-cp37m-macosx_10_9_x86_64.whl

Download URL scikit_surgerygoicp-0.2.5-cp37-cp37m-macosx_10_9_x86_64.whl
Size 113.3 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
52c054b771acdd8af720da19df6a4ad7b02841a2cdbbb96f857d4829ff23b5d8
BLAKE2b-256 checksum
How to use checksums
16a7d30c93b5cf106c5561ed8cd22b62860d2a9c30a50d03b6f57b5c67fef6a7
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.2.5 This release

2 release files

0.2.4

13 release files

0.2.3

9 release files

0.2.2

9 release files

0.2.1

9 release files

0.2

9 release files

0.1.9

6 release files

0.1.5

3 release files

0.1.4

6 release files

0.1.3

9 release files

0.1.2

6 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page