-- computational reconstruction and transformation of flattened retinae

Retistruct is an R package to morph a flat surface with cuts (a dissected flat-mount retina) onto a curvilinear surface (the a standard retinal shape). It can estimate the position of a point on the intact adult retina to within 8° of arc (3.6% of nasotemporal axis). The coordinates in reconstructed retinae can be transformed to visuotopic coordinates.

How Retistruct works

Reconstruction is achieved by: stitching the marked-up cuts of the flat-mount outline; dividing the stitched outline into a mesh whose vertices then are mapped onto a curtailed sphere; and finally moving the vertices so as to minimise a physically-inspired deformation energy function.

Installation and documentation

Retistruct has been tested on GNU/Linux (Ubuntu 12.04), Mac OS X 10.8 and Microsoft Windows Vista. Installing the graphical user interface on Mac OS X 10.9 (Mavericks) and 10.10 (Yosemite) is possible, but requires the GTK library to be installed first; see Chris von Csefalvay's instructions.

Stable version

To install the stable version of Retistruct hosted on CRAN, follow the instructions in the User Guide. The installation contains a number of demonstration retinae, and instructions for how to handle retinal flat-mount images in Retistruct.

Development version

The development version of Retistruct contains the most recent bug fixes and improvements, but is not stable. Builds of the package are usually available on R-forge and can be installed using the R install command given there. If the R-forge packages are not available, you will have to build from the source code using R CMD build.

Source code

The source code can be checked out from the R-forge subversion repository or Github.

Reference publication code

For reference purposes, this zip file contains the version of Retistruct that generated the reconstructions in Sterratt & al. (2013; PLoS Computational Biology 9). The file also contains some Matlab code to read data directories contained by Retistruct.

Sample data

As well as the built-in demo data, there are some sample images to practise on:

  1. Beginner: SMI-32 stained retina. As described in the User Guide, the outline can be marked up in ImageJ and imported into Retistruct.
  2. More advanced: TIFF files (left and right), each containing a stack of three images corresponding to Figure 6 of the manuscript: retinae labelled with Fluoro-Emerald, Fluoro-Ruby and a brightfield image. As described in the User Guide, use ImageJ to mark up the outline on the brightfield image, and then use ImageJ's particle analyser to find the locations of the stained cells.


If you encounter issues using Retistruct please either:

Work using Retistruct


March 2015
Brian Cohn has pointed out a precursor paper to Retistruct, which we weren't aware of when developing Retistruct, or writing the paper:

Authors and funding

Retistruct was written by David Sterratt at the University of Edinburgh, and tested by Daniel Lyngholm and Ian Thompson at the MRC Centre for Developmental Neurobiology, KCL.

This work was supported by a Programme Grant from the Wellcome Trust (G083305).