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.