*************************************************************************
************		Welcome to VirtualRetina	*****************
************			version 2.1	 	*****************
*************************************************************************

		Spiking, large-scale retina simulation software.

			Author : Adrien Wohrer
			Institution : ODYSSEE, INRIA Sophia Antipolis
			Contact : Adrien.Wohrer@sophia.inria.fr
			Project started december 2004.





********* GOALS, SCOPE OF USE *****

These programs were written to simulate retinal processing on an input video sequence, in a -hopefully- customizable fashion ranking from simple spatio-temporal linear filtering on the input sequence to a precise 'biologically-inspired' model.


All this is described in the attached 'tutorial.pdf'. You should start off with that !




********* INSTALLATION *************

See 'tutorial.pdf'.

==> Other libraries required by the software must be installed first on the machine :

* you can use the provided script download_build_libs.sh --> local installation

* or you can manually install these libs, or part of them if you already have the others


==> VirtualRetina is configured with CMake

* install cmake if it is not present yet on your machine (automatically done by script download_build_libs.sh )

* launch cmake on file CMakeLists.txt in the VirtualRetina root directory

* then you can type 'make'


==> If you proceed to manual installation and want to change paths for the external libraries

* use program the cmake GUI (program ccmake) to change the different paths

* OR: directly modify the paths in CMakeLists.txt and launch the configuration again

* Paths /usr/lib and /usr/local/lib are tested by default, so require no change.


==> That's all folks



********* OH YEAH, BY THE WAY *****

For the occasion, I implemented some generic tools that could possibly be used in a more global context than the retina itself  (at least by myself :-) ). These tools include:

1) temporal linear recursive filtering objects that can deal with temporal signals and/or spatio-temporal sequences.

2) spatially-variant filtering maps that implement approximations of gaussian blurs with radially-varying scales, in a recursive fashion (Deriche-like filters).

3) definition of arrays of spiking neurons, possibly with radially-variant density.

4) relatively user-friendly c++ tools to attach the RELEVANT parameters of a c++ object to an xml file, and hence to save/load this object to xml.

5) a model for analogic synapes, and the structure to handle different synaptic ports, associated to direct current inputs or to synaptic conductances.

6) Already have all this, huh? Oh well...