Skip to main content

Image-guided surgery functions, in C++, using OpenCV and wrapped in Python.

Project description

scikit-surgeryopencvcpp

Build Status Build status

scikit-surgeryopencvcpp implements image guided surgery algorithms, using OpenCV, in C++ and wrapped in Python.

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

Features

Installing

You can pip install the latest Python package as follows:

pip install scikit-surgeryopencvcpp

Examples

Surface Reconstruction

pip install pptk, opencv-python, scikit-surgeryopencvcpp
python
import sksurgeryopencvpython as skscv
import pptk
import numpy as np
import cv2
left_image = cv2.imread('Testing/Data/reconstruction/f7_dynamic_deint_L_0100.png')
right_image = cv2.imread('Testing/Data/reconstruction/f7_dynamic_deint_R_0100.png')
left_intrinsics = np.loadtxt('Testing/Data/reconstruction/calib.left.intrinsic.txt')
right_intrinsics = np.loadtxt('Testing/Data/reconstruction/calib.right.intrinsic.txt')
l2r = np.loadtxt('Testing/Data/reconstruction/calib.l2r.4x4')
rotation_matrix = l2r[0:3, 0:3]
translation_vector = l2r[0:3, 3:4]
points = skscv.reconstruct_points_using_stoyanov(left_image, left_intrinsics, right_image, right_intrinsics, rotation_matrix, translation_vector, False)
points_3d = points[:,0:3]
v = pptk.viewer(points_3d)

Developing

Cloning

You can clone the repository using the following command:

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

Build instructions

Still not for the faint-hearted. It depends if you are a C++ developer familiar with CMake or a hybrid C++/Python developer primarily interested in writing Python extensions.

The simplest advice really is to read appveyor.yml, as this will always be up to date.

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.

Dashboards

In addition to Travis and Appveyor builds, C++ results are also submitted to a public CDash dashboard.

Licensing and copyright

Copyright 2018 University College London. scikit-surgeryopencvcpp is released under the BSD-3 license. Please see the license file for details.

Acknowledgements

Supported by Wellcome and the EPSRC.

The project was generated, using CMakeCatchTemplate and CMakeTemplateRenamer.

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

If you're not sure about the file name format, learn more about wheel file names.

scikit_surgeryopencvcpp-0.0.7-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.7mmacOS 10.10+ Intel (x86-64, i386)macOS 10.10+ x86-64macOS 10.6+ Intel (x86-64, i386)macOS 10.9+ Intel (x86-64, i386)macOS 10.9+ x86-64

scikit_surgeryopencvcpp-0.0.7-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.6mmacOS 10.10+ Intel (x86-64, i386)macOS 10.10+ x86-64macOS 10.6+ Intel (x86-64, i386)macOS 10.9+ Intel (x86-64, i386)macOS 10.9+ x86-64

scikit_surgeryopencvcpp-0.0.7-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (4.7 MB view details)

Uploaded CPython 2.7mmacOS 10.10+ Intel (x86-64, i386)macOS 10.10+ x86-64macOS 10.6+ Intel (x86-64, i386)macOS 10.9+ Intel (x86-64, i386)macOS 10.9+ x86-64

File details

Details for the file scikit_surgeryopencvcpp-0.0.7-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for scikit_surgeryopencvcpp-0.0.7-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c8c0813709143715c68c3a104348e90a292c4117d2871cc6a963a4870ef1e1cd
MD5 219fde29be30808e638ba2a2601db134
BLAKE2b-256 68b46f04e168753e4c4b164f2ef10d5c8e7686ec773dec62e35d3b982f83bb37

See more details on using hashes here.

File details

Details for the file scikit_surgeryopencvcpp-0.0.7-cp37-cp37m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for scikit_surgeryopencvcpp-0.0.7-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 1469e90aa6702d0ced7e3f9af5bb06808076ef7834ec2d4b40467c5c27236ff7
MD5 5942f1a6178f849d0ac6c1bd75576503
BLAKE2b-256 a1a2a7af7c4b21d344ab9706838c135af860d689fda2f2b5f51443cd29afa6af

See more details on using hashes here.

File details

Details for the file scikit_surgeryopencvcpp-0.0.7-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.

File metadata

File hashes

Hashes for scikit_surgeryopencvcpp-0.0.7-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm Hash digest
SHA256 73c382e7355856e74e79cf0b145dea69b21b3e1abb471e0628843d73181234b8
MD5 c59cb2852d1fb257f50475628c6d183a
BLAKE2b-256 fc61364fbc699a309704d2c0f60b664909d6367b1642fa6a37ab94d1502901dd

See more details on using hashes here.

File details

Details for the file scikit_surgeryopencvcpp-0.0.7-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for scikit_surgeryopencvcpp-0.0.7-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 0aa2f61ce7d0700f7c9b5847591e6a2bad61074aab58be84e7af281bd99340ee
MD5 5a472ca277a8d0da0834a89434b1c57a
BLAKE2b-256 e9f6cd9ae395e75331af095e2f1f48ae8527873fd4d10075da931d97970209b6

See more details on using hashes here.

File details

Details for the file scikit_surgeryopencvcpp-0.0.7-cp36-cp36m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for scikit_surgeryopencvcpp-0.0.7-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 049bd12babbc6a1d359adfd4e337dd39e79f3e3d0de7e088a9d33650c1090ae5
MD5 8908995bf57c415d70d467edad155865
BLAKE2b-256 28d47718a81f1ea4c4c50cf57426b77ef2ab99b5e7c8da7b12438cb98509f353

See more details on using hashes here.

File details

Details for the file scikit_surgeryopencvcpp-0.0.7-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.

File metadata

File hashes

Hashes for scikit_surgeryopencvcpp-0.0.7-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm Hash digest
SHA256 d7380d9d35d688f8608beb39df8b7a7eb07eff6668147bd605f332b1fb54550e
MD5 06ae675d85618d8aeed6f08cf99aff1d
BLAKE2b-256 bca6fa58495a0a342b3157aa0d3a201a2c09bea489d3d79dac7b4407095448a3

See more details on using hashes here.

File details

Details for the file scikit_surgeryopencvcpp-0.0.7-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for scikit_surgeryopencvcpp-0.0.7-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 91fdb15a948c77fac0a24ecd2a9358ab5d4516818ed37fe172e28d1fa4068c50
MD5 a34aa7d07cb6a657058b1ee406318405
BLAKE2b-256 6bf7ccfac6edea1f81d0082c13ce78b263e9e871950d98066bf237171b264360

See more details on using hashes here.

File details

Details for the file scikit_surgeryopencvcpp-0.0.7-cp35-cp35m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for scikit_surgeryopencvcpp-0.0.7-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 b824571ee9666e5b153d52f49e4b9c427ed562343618206bed9277d4dae66a5c
MD5 2dc3014f9b4b99133038ddc63be648e2
BLAKE2b-256 0e3152c9a2850397c679b42eaa7c65edf5c90e6f312fa2ec528ca124ab9bf82a

See more details on using hashes here.

File details

Details for the file scikit_surgeryopencvcpp-0.0.7-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for scikit_surgeryopencvcpp-0.0.7-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 91c7619f133e916ccc36d93088f38ece6fec7ddd13b89574e07f6d876f6fa2bd
MD5 65212b127ca46e3d1993f11449b794f9
BLAKE2b-256 176434eb10401be9d49a2aeba26e7c6105c3246629414532fc35682c7fcc8fd8

See more details on using hashes here.

File details

Details for the file scikit_surgeryopencvcpp-0.0.7-cp27-cp27mu-manylinux1_i686.whl.

File metadata

File hashes

Hashes for scikit_surgeryopencvcpp-0.0.7-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 5dd82e1087ebf699401de7323a3203bd1e00eae419c57c8209de312950f57172
MD5 44a0fb4bfdd8f8e1c47274a7d4054521
BLAKE2b-256 1ad6c979ffa925b470bcb20649a97ed3ab33012fbfbf52acb4c9572580a9b11b

See more details on using hashes here.

File details

Details for the file scikit_surgeryopencvcpp-0.0.7-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for scikit_surgeryopencvcpp-0.0.7-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 1914c4c9a0a17c36b0482802a9346ec70d064e8c20ff0f11f1e73bad822a4cc2
MD5 8501aedc2aed45a65cf783a7ee40b48d
BLAKE2b-256 f8ae214d4690b888dc5230273a1b4fc23db7f7f4c39d98a41640236a1ad0dd10

See more details on using hashes here.

File details

Details for the file scikit_surgeryopencvcpp-0.0.7-cp27-cp27m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for scikit_surgeryopencvcpp-0.0.7-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 ce8615c1d83f7d93d891ae0beacb0278a953a6951a56d3c6fbc97c2f4a45817b
MD5 bc3bbc84f9d70143ef0711179bbedc9e
BLAKE2b-256 868aa160003e9fa283ab37a65476eb85cf004c0d2c137821fb69e974f2a67ec6

See more details on using hashes here.

File details

Details for the file scikit_surgeryopencvcpp-0.0.7-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl.

File metadata

File hashes

Hashes for scikit_surgeryopencvcpp-0.0.7-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
Algorithm Hash digest
SHA256 028a66ed982cc4794230617542e5ed53c8fc8ed6ee93967511b0074300f344a3
MD5 a5533042f6c26cfe479b40a05c6eb785
BLAKE2b-256 999273b9d4ec4b3ce30f6be2e0d7d37a5074b7347d7eb9d80472953e50e4502d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page