Skip to main content

Raster Restoration tools

Project description


This module encapsulates algorithms for the restoration of images and it is specialized in retinal images.

RRtoolbox is a python package which contains source code designed to process images built mainly using OpenCV.

RRtoolFC is a development tool using sequential function charts (FC stands for Function Chart)

Imrestore is an application to restore images in general but in this case is configured to restore retinal images. Because it is still in development it is the alpha program for testing and to let the users find out about its utilities. Do not hesitate to share it to the world, let everyone know how awesome it is!! (be warned that it is for research purposes)



BSD license, (C) 2015-2017 David Toro <>


For API documentation, usage and examples see files in the “documentation” directory. The “.rst” files can be read in any text editor or being converted to HTML or PDF using Sphinx. A HTML version is online at

Read RRtoolbox (Retinal Restauration Toolbox) manual or the dissertation which made this project possible with all the concepts.

Examples are found in the directory examples and unit tests in tests.


pip install rrtools should work for most users.

The usual for Python libraries are used for the source distribution. But OpenCV must be installed separately usually compiled from source. However RRtoolbox has a mock module for cv2 called cv2_mock to let the user use the functions that do not need OpenCV. Notice that this imports RRtoolbox.cv2_mock as cv2.

To install OpenCV without much hassle I recommend installing the binaries from the Unofficial Windows Binaries for Python and for Debian distributions I provide the bash OpenCV linux installation so that the user can compile openCV (it can take some time). Bear in mind that for Linux it downloads the latest 2.9 version instead of the new OpenCV version 3 because it does not consent to using non-free sources. So you must accept the terms for OpenCV 2.9.

Once rrtools is successfully installed you can import the toolbox in python as:

>>>> import RRtoolbox as rr


All releases follow semantic rules proposed in and

To create executable from source code:

$ pyinstaller -p ./ -n imrestore -F ./ --version-file=version

Testing and application

To test imrestore script:

$ python tests/im1*

To test imrestore executable:

$./dist/imrestore tests/im1*

To test imrestore executable if in dist folder:

$ ./imrestore ../tests/im1*

A basic usage would be typing ./imrestore tests/im1* --lens in the terminal which species to imrestore to load from the test path images that start with im1 specified by the wildcard ‘*’ and the option --lens adds, as its name implies, lens to the retinal area.

  • So, it loads this image which presents some flares and noise:

Retina photo 1

  • The second image is from a different perspective of the same retinal area but has information that the other does not have:

Retina photo 2

  • And Voilà they are merged into one! notice how the flares tend to disappear and the lens were added too! Because it is in development it still is not that pretty…

Rethina photo result


For help just type in ./imrestore --help, it could not be easier than that! but a demo is available using the jupyter notebook to generate the desired commands to learn or use in the console while still running the program.

Download files

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

Files for rrtools, version 1.1.0a1.post1
Filename, size File type Python version Upload date Hashes
Filename, size rrtools-1.1.0a1.post1-py2.py3-none-any.whl (182.4 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page