Skip to main content
Warning: You are using the test version of PyPI. This is a pre-production deployment of Warehouse. Changes made here affect the production instance of TestPyPI (testpypi.python.org).
Help us improve Python packaging - Donate today!

A compact GUI application for optical distortion calibration of endoscopes

Project Description
# endocal

endocal is a compact GUI application for optical distortion calibration of endoscopes. It uses the [OpenCV camera calibration module](http://docs.opencv.org/2.4/doc/tutorials/calib3d/camera_calibration/camera_calibration.html) under the hood.

endocal was developed by Dzhoshkun I. Shakir as part of the [GIFT-Surg project](http://www.gift-surg.ac.uk/) at the [Translational Imaging Group](http://cmictig.cs.ucl.ac.uk/) in the [Centre for Medical Image Computing](http://www.ucl.ac.uk/cmic/homepage) at [University College London (UCL)](http://www.ucl.ac.uk/).

# License
Copyright (c) 2016, [University College London](http://www.ucl.ac.uk/). endocal is available as free open-source software under a BSD 3-Clause Licence.

# System requirements
* [OpenCV 2.4](http://docs.opencv.org/2.4/doc/tutorials/introduction/table_of_content_introduction/table_of_content_introduction.html)
* [pip](https://pip.pypa.io/en/stable/installing/)
* For online calibration, frame-grabber hardware supported by [OpenCV](http://docs.opencv.org/2.4/modules/highgui/doc/reading_and_writing_images_and_video.html#videocapture)

# Installation
1. Install endocal by running `pip install endocal`.
1. Test your installation by running `endocal-test`:
* See [this screenshot](endocal/res/screenshot-start.png) for what to expect on launching the application.
* To perform an optical distortion calibration, follow the instructions shown in red on top of the window. While acquiring calibration data, detected calibration pattern blobs will be emphasized with a virtual overlay as in [this screenshot](endocal/res/screenshot-detection.png).
* All data for each calibration will be saved in the sub-folder of a folder called `tmp-sample_001`, created within the current folder. These include:
* Calibration parameters saved as `calibration.yml`
* Frames used for calibration saved as indexed image files, e.g. `frame_009.jpg`
* After performing a calibration, the application will automatically show the undistorted images to the right as shown in [this screenshot](endocal/res/screenshot-undistort.png).

# Removing
`pip uninstall endocal`

# How to use
`endocal --help` will show details of what input parameters are expected. Examples include:

* Using all frames stored as indexed files e.g. `frame_009.jpg`:
```
endocal --pattern-specs 3 11 3 1 --output-folder ./calibration-results --input /home/dzhoshkun/offline-calibration-data/frame_%3d.jpg
```

* Using online video stream from a frame-grabber (attached to an endoscope) that is mounted as `/dev/video0` on Linux:
```
endocal --input 0 --pattern-specs 3 11 3 1 --output-folder ./calibration-results
```

* Using a `700 x 700` sub-frame of the whole endoscopic video frame (`1920 x 1080`):
```
endocal --input 0 --pattern-specs 3 11 3 1 --output-folder ./calibration-results --roi 620 200 700 700
```

# Supported platforms
endocal was tested only on Linux (Ubuntu 14.04 LTS) so far. However it is highly likely that it will work on other platforms as well, due to the small number of dependencies.
Release History

Release History

History Node

16.10rc1

History Node

16.9.22rc3

This version
History Node

16.8.10

History Node

16.8.8rc17

History Node

16.8.8rc16

History Node

16.8.8rc15

History Node

16.8.8rc14

History Node

16.8.8rc13

History Node

16.8.8rc12

History Node

16.8.8rc11

History Node

16.8.8rc10

History Node

16.8.8rc9

History Node

16.8.8rc8

History Node

16.8.8rc7

History Node

16.8.8rc6

History Node

16.8.8rc5

History Node

16.8.8rc4

History Node

16.8.8rc3

History Node

16.8.8rc2

History Node

16.8.8rc1

History Node

16.8

History Node

16.8rc30

History Node

16.8rc29

History Node

16.8rc28

History Node

16.8rc27

History Node

16.8rc26

History Node

16.8rc25

History Node

16.8rc24

History Node

16.8rc23

History Node

16.8rc22

History Node

16.8rc21

History Node

16.8rc20

History Node

16.8rc19

History Node

16.8rc18

History Node

16.8rc17

History Node

16.8rc16

History Node

16.8rc15

History Node

16.8rc14

History Node

16.8rc13

History Node

16.8rc12

History Node

16.8rc11

History Node

16.8rc10

History Node

16.8rc9

History Node

16.8rc8

History Node

16.8rc7

History Node

16.8rc6

History Node

16.8rc5

History Node

16.8rc4

History Node

16.8rc3

History Node

16.8rc2

History Node

16.8rc1

History Node

16.7.28rc23

History Node

16.7.28rc22

History Node

16.7.28rc21

History Node

16.7.28rc20

History Node

16.7.28rc19

History Node

16.7.28rc18

History Node

16.7.28rc17

History Node

16.7.28rc16

History Node

16.7.28rc15

History Node

16.7.28rc14

History Node

16.7.28rc13

History Node

16.7.28rc12

History Node

16.7.28rc11

History Node

16.7.28rc10

History Node

16.7.28rc9

History Node

16.7.28rc8

History Node

16.7.28rc7

History Node

16.7.28rc6

History Node

16.7.28rc5

History Node

16.7.28rc4

History Node

16.7.28rc3

History Node

16.7.28rc2

History Node

16.7.28rc1

History Node

16.7.27rc6

History Node

16.7.27rc5

History Node

16.7.27rc4

History Node

16.7.27rc3

History Node

16.7.27rc2

History Node

16.7.27rc1

History Node

16.7.23

History Node

16.7.22

History Node

16.7.22rc3

History Node

16.7.22rc2

History Node

16.7.22rc1

History Node

16.7rc16

History Node

16.7rc15

History Node

16.7rc14

History Node

16.7rc13

History Node

16.7rc12

History Node

16.7rc11

History Node

16.7rc10

History Node

16.7rc9

History Node

16.7rc8

History Node

16.7rc7

History Node

16.7rc6

History Node

16.7rc5

History Node

16.7rc4

History Node

16.7rc3

History Node

16.7rc2

History Node

16.7rc1

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
endocal-16.8.10-py2-none-any.whl (1.4 MB) Copy SHA256 Checksum SHA256 py2 Wheel Jul 22, 2016
endocal-16.8.10.tar.gz (1.4 MB) Copy SHA256 Checksum SHA256 Source Jul 22, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting