Retistruct 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 16.04), Mac OS X 10.8 and Microsoft Windows 7. 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 this issue on Github for more help.

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 and source code

The development version of Retistruct contains the most recent bug fixes and improvements, but may not be stable. To install it follow the instructions on the Retistruct Github repository, where the source code can also be checked out.

Reference publication

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


July 2017
Retistruct 0.5.11 is out. The CSV input format can now take a file of counts (or “grouped”) data and there are a number of bug fixes; see the NEWS file for more information.
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:
  • Curcio, C.A., Sloan, K. R. and Meyers, D. (1989) “Computer methods for sampling, reconstruction, display and analysis of retinal whole mounts”. Vision Res. 29(5):529-40. Pubmed

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