Skip to main content

Raster Restoration tools

Project description

=========================================================
RRtools - Raster Restoration Tools |build-status| |docs|
=========================================================

Overview
========

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)

Stable:

- Documentation: http://pythonhosted.org/rrtools
- Download Page: https://pypi.python.org/pypi/rrtoolbox

Latest:

- Documentation: http://rrtools.readthedocs.io/
- Project Homepage: https://github.com/davtoh/RRtools

BSD license, (C) 2015-2017 David Toro <davsamirtor@gmail.com>

Documentation
=============

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
http://rrtools.readthedocs.io/en/latest/

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_.

Installation
============
``pip install rrtools`` should work for most users.

The usual setup.py 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

Releases
========

All releases follow semantic rules proposed in https://www.python.org/dev/peps/pep-0440/
and http://semver.org/

To create executable from source code::

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


Testing and application
=======================

To test imrestore script::

$ python imrestore.py 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:

.. figure:: https://github.com/davtoh/RRtools/blob/master/tests/im1_1.jpg
:align: center
:scale: 10%

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:

.. figure:: https://github.com/davtoh/RRtools/blob/master/tests/im1_2.jpg
:align: center
:scale: 10%

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...

.. figure:: https://github.com/davtoh/RRtools/blob/master/tests/_restored_im1_1.jpg
:align: center
:scale: 10%

Rethina photo result


Usage
=====

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.

- Contributions and bug reports are appreciated.
- author: David Toro
- e-mail: davsamirtor@gmail.com
- project: https://github.com/davtoh/RRtools

.. _`documentation/index.rst`: https://github.com/davtoh/RRtools/blob/master/documentation/index.rst
.. _examples: https://github.com/davtoh/RRtools/tree/master/examples
.. _tests: https://github.com/davtoh/RRtools/tree/master/tests
.. _Python: http://python.org/
.. _Sphinx: http://sphinx-doc.org/
.. _pyinstaller: http://www.pyinstaller.org/
.. |build-status| image:: https://travis-ci.org/pyserial/pyserial.svg?branch=master
:target: https://github.com/davtoh/RRtools/releases
:alt: Build status
.. |docs| image:: https://readthedocs.org/projects/pyserial/badge/?version=latest
:target: http://rrtools.readthedocs.io/
:alt: Documentation
.. _manual: https://github.com/davtoh/RRtools/blob/master/documentation/_build/latex/RRtoolbox.pdf
.. _dissertation:
.. _demo: https://github.com/davtoh/RRtools/blob/master/ImRestore_demo.ipynb
.. _`Unofficial Windows Binaries for Python`: http://www.lfd.uci.edu/~gohlke/pythonlibs/
.. _`OpenCV linux installation`: https://github.com/davtoh/RRtools/blob/master/install_opencv.sh

Project details


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 Distribution

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

rrtools-1.1.0a1.post1-py2.py3-none-any.whl (182.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file rrtools-1.1.0a1.post1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for rrtools-1.1.0a1.post1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b5799ae834ce20bab4c2624c11b212ac37b64001b25b2d8fd9c7ac6c6eb3be9e
MD5 575178fa33374de7094b420e74db20c5
BLAKE2b-256 78f73db1e7056b7bdc7ba17b916fbbc873afed446bc448b3e289728051e9739b

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