Author(s): Stephen Thompson; Contributor(s): Matt Clarkson, Thomas Dowrick and Miguel Xochicale
scikit-surgerycalibration is part of the SciKit-Surgery software project, developed at the Wellcome EPSRC Centre for Interventional and Surgical Sciences, part of University College London (UCL).
scikit-surgerycalibration is tested on Python 3.7.
scikit-surgerycalibration contains algorithms to perform calibrations useful during surgery, for example pointer calibration, ultrasound calibration, and camera calibration.
Please explore the project structure, and request or implement your desired functionality.
- Pivot Calibration for pivot calibration.
- Calibration of mono or stereo tracked video data, calculating camera intrinsics and handeye transformation.
You can clone the repository using the following command:
git clone https://github.com/SciKit-Surgery/scikit-surgerycalibration git clone git@github.com:SciKit-Surgery/scikit-surgerycalibration.git # Alternatively, use password-protected SSH key.
We recommend using anaconda or miniconda to create a python 3.7 environment, then using tox to install all dependencies inside a dedicated venv. We then use github actions to run a matrix of builds for Windows, Linux and Mac and various python versions.
All library dependencies are specified via requirements-dev.txt
which refers to requirements.txt
.
So, assuming either anaconda or miniconda is installed, and your current working directory is the root directory of this project:
conda create --name scikit-surgery python=3.7 conda activate scikit-surgery pip install tox tox
As the tox command runs, it will install all dependencies in a sub-directory .tox/py37
(Linux/Mac) or .tox\py37
(Windows).
tox will also run pytest and linting for you.
To run commands inside the same environment as tox, you should:
source .tox/py37/bin/activate
on Linux/Mac, or if you are Windows user:
.tox\py37\Scripts\activate
Then you can run pytest, linting, or directly run python scripts, and know that the environment was created correctly by tox.
The simplest way is again using tox.
tox -e docs
then open docs/build/html/index.html
in your browser.
Pytest is used for running unit tests:
python -m pytest pytest -v -s tests/algorithms/test_triangulate.py #example for individual tests
This code conforms to the PEP8 standard. Pylint can be used to analyse the code:
pylint --rcfile=tests/pylintrc sksurgerycalibration
You can pip install directly from the repository as follows:
pip install git+https://github.com/SciKit-Surgery/scikit-surgerycalibration
Please see the contributing guidelines.
Copyright 2020 University College London. scikit-surgerycalibration is released under the BSD-3 license. Please see the license file for details.