A template project, to enable people to build nicely structured C++ projects.
Project description
scikit-surgerygoicp
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.
- Raise issue in this project's Github Issue Tracker.
- Fork repository.
- 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. - Code on that branch.
- Push to your remote when ready.
- Create pull request.
- We will review code, suggest and required changes and merge to master when it is ready.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4bf2aba348cb567591556ac0d2a925c276b4abf8152fc7cad51f34eb76e11a4 |
|
MD5 | 4b913b61a95c79db94a52c9d14304733 |
|
BLAKE2b-256 | ad8dbbf8fe1f3c888d260bb0ab223cbb591820097316f03f7162f3e898c986e3 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52c054b771acdd8af720da19df6a4ad7b02841a2cdbbb96f857d4829ff23b5d8 |
|
MD5 | 76a247398e2d98167979fed56c616c8b |
|
BLAKE2b-256 | 16a7d30c93b5cf106c5561ed8cd22b62860d2a9c30a50d03b6f57b5c67fef6a7 |