Skip to main content

A package providing functionality to estimate the shape of continuum robots using the Iterative Closest Point algorithm.

Project description

Iterative Closest Point Reconstructor for Continuum Robots

This repository provides the implementations and examples used in our publication "An iterative closest point algorithm for marker-free 3D shape registration of continuum robots". All of the implementations were done in Python.

Overview

This project arose from our work "An iterative closest point algorithm for marker-free 3D shape registration of continuum robots", available on arXiv, on the shape estimation of continuum robots (CR), more precisely concentric tube continuum robots we plan on using for minimally invasive neurosurgery procedures. The reconstruction of CRs involves finding the backbone -- the central line -- of the robot.

Here, we aim to provide tools and methods for reproducing the results from our work and to enable other's to find their robot's shape. This package is built up in an object-oriented manner, so that user's can easily implement compatible sub-modules, backbone models and algorithms

Installation

This package is available via PyPI:

pip install icpReconstructor

It requires the following packages:

  • PyTorch
  • CasADi
  • NumPy
  • torchdiffeq
  • scikit-learn
  • scikit-image
  • tqdm
  • NetworkX
  • SciPy

Prerequisites

This package requires you to provide the parameters of a camera-calibration, in particular the following:

  • A: The cameras' intrinsic matrices (3x3) including focal lengths and principal point.
  • dist: The distortion coefficients (k1, k2, p1, p2, k3) for radial and tangential distortion.
  • P: The projection matrix (3x4) used to project 3D camera coordinates onto the image plane.
  • R: The rotation matrix (3x3) describing the orientation of the first camera in world coordinates.
  • T: The translation vector (3x1) describing the position of the first camera in world coordinates.

We chose these formulations to be in line with the camera calibration implementation of OpenCV for stereo calibration. A tutorial can also the found there.

Documentation

For in-depth information about the algorithms and APIs used in CTCR reconstruction, refer to our Github Wiki and our work.

Examples

Within this repository, we provide a set of examples on one set of binary images of a simulated concentric tube continuum robot. These include the One-Step and Multi-Step algorithms presented in our work, but also different ways of warmstarting using image-processing algorithms and space-carving.

How to Cite

If you find our project valuable for your research or work, please consider citing it using the following format: Hoffmann, M., Mühlenhoff, J., Ding, Z., Sattel T. , Flaßkamp, K., "An iterative closest point algorithm for marker-free 3D shape registration of continuum robots" arXiv preprint arXiv:2405.15336 (2024).

Acknowledgments

This project was developed during my time at Saarland University in the group Systems Modeling and Simulation.

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

icpReconstructor-0.1.4.tar.gz (46.8 kB view details)

Uploaded Source

Built Distribution

icpReconstructor-0.1.4-py3-none-any.whl (47.1 kB view details)

Uploaded Python 3

File details

Details for the file icpReconstructor-0.1.4.tar.gz.

File metadata

  • Download URL: icpReconstructor-0.1.4.tar.gz
  • Upload date:
  • Size: 46.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for icpReconstructor-0.1.4.tar.gz
Algorithm Hash digest
SHA256 ef5acf77b2046cfd3c8f69f2aa81a2dec5c3333ad7bab5f81c81bbdc22d61ce1
MD5 b78bcc21cc75fde78b3a9556db75fd77
BLAKE2b-256 5a6726a4a37df2dcbcceac90fafc46220aec74176d270a5d20d57416df91b3fc

See more details on using hashes here.

File details

Details for the file icpReconstructor-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for icpReconstructor-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d9fdba0c5fc3c9d1c5df19b104113ad78810b5a5b921eebe986beb06550aa5b9
MD5 9a340e551cef0a96300065305386a7eb
BLAKE2b-256 844d907c492e150e2141bd056dc8e8d6d2c657cf2558a98e762fb91365aa3372

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