Skip to main content

Tools for reconstructing and matching surfaces represented as point clouds.

Project description

Logo GitHub Actions CI status Coveralls coverage status Documentation Status

Author: Matt Clarkson

scikit-surgerysurfacematch is part of the SNAPPY software project, developed at the Wellcome EPSRC Centre for Interventional and Surgical Sciences, part of University College London (UCL).

scikit-surgerysurfacematch supports Python 3.6 - 3.8

scikit-surgerysurfacematch contains algorithms that are useful in stereo reconstruction from video images, and matching to a pre-operative 3D model, represented as a point cloud.

Features

  • Base classes (pure virtual interfaces), for video segmentation, stereo reconstruction, rigid registration / pose estimation. See `sksurgerysurfacematch/algorithms`

  • A base class to handle rectification properly, and the right coordinate transformation, to save you the trouble.

  • Stereo reconstruction classes based on Stoyanov MICCAI 2010, and OpenCV SGBM reconstruction, using above interface, and both allowing for optional masking.

  • Rigid registration using PCL’s ICP implementation, which is wrapped in scikit-surgerypclcpp

  • A pipeline to combine the above, segment a video pair, do reconstruction, and register to a 3D model, where each part can then be swapped with whatever implementation you want, as long as you implement the right interface.

  • A pipeline to take multiple stereo video snapshots, do surface reconstruction, mosaic them together, and then register to a 3D model. Again, each main component (video segmentation, surface reconstruction, rigid registration) is swappable. Inspired by: [Xiaohui Zhang’s](https://doi.org/10.1007/s11548-019-01974-6) method.

Developing

Cloning

You can clone the repository using the following command:

git clone https://github.com/UCL/scikit-surgerysurfacematch

Running tests

Pytest is used for running unit tests:

pip install pytest
python -m pytest

Linting

This code conforms to the PEP8 standard. Pylint can be used to analyse the code:

pip install pylint
pylint --rcfile=tests/pylintrc sksurgerysurfacematch

Installing

You can pip install directly from the repository as follows:

pip install git+https://github.com/UCL/scikit-surgerysurfacematch

Contributing

Please see the contributing guidelines.

Acknowledgements

Supported by Wellcome and EPSRC.

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

scikit-surgerysurfacematch-0.4.5.tar.gz (32.5 kB view details)

Uploaded Source

File details

Details for the file scikit-surgerysurfacematch-0.4.5.tar.gz.

File metadata

  • Download URL: scikit-surgerysurfacematch-0.4.5.tar.gz
  • Upload date:
  • Size: 32.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.6

File hashes

Hashes for scikit-surgerysurfacematch-0.4.5.tar.gz
Algorithm Hash digest
SHA256 727e241d9ced14244c40144ec1f3c2bb16b89879ef37429b2693bddd97b68959
MD5 4340f4224af0b03d3cb0e9bc17eee695
BLAKE2b-256 72873c953d3a79cae2a029220e0599aac6907267694cd5158963fcd069ee9338

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