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
- Full details are in the paper: Sterratt, D. C., Lyngholm, D.,
Willshaw, D. J. and Thompson, I. D. (2013). Standard Anatomical and
Visual Space for the Mouse Retina: Computational Reconstruction and
Transformation of Flattened Retinae with the Retistruct Package. PLoS
Computational Biology 9:e1002921.
- This poster and this YouTube
video, presented at the 2012 Neuroinformatics Meeting in Munich,
has more details and examples of reconstructions and projections
into visual space.
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.
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.
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.
As well as the built-in demo data, there are some sample images to
- Beginner: SMI-32 stained retina. As described in
the User Guide, the outline can be
marked up in ImageJ and
imported into Retistruct.
- 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
- Sondereker, K. B., Stabio, M. E., Jamil, J. R., Tarchick, M. J. and Renna, J. M. (2018) “Where You Cut Matters: A Dissection and Analysis Guide for the Spatial Orientation of the Mouse Retina from Ocular Landmarks”. J Vis. Exp. 138 DOI: 10.3791/57861
- Stabio, M. E., Sondereker K. B., Haghgou S. D., Day, B. L., Chidsey, B., Sabbah, S. and Renna, J. M. (2018) “A novel map of the mouse eye for orienting retinal topography in anatomical space”.
J. Comp. Neurol. 526:1749-1759. DOI: 10.1002/cne.24446
- Smodlaka, H., Khamas, W. A., Palmer, L., Lui, B.,
Borovac, J. A., Cohn, B. A. and Schmitz, L. (2016) “Eye Histology
and Ganglion Cell Topography of Northern Elephant Seals (Mirounga
angustirostris)” Anat. Rec. (Hoboken)
6: 798-805. DOI: 10.1002/ar.23342
- Cohn, B. A., Collin, S. P., Wainwright, P. C. and Schmitz,
L. (2015) “Retinal topography maps in R: new tools for the analysis
and visualization of spatial retinal data”. J. Vis.
15: 19. DOI:
- Flinn, J. M., Kakalec P., Tappero, R.,
Jones, B. and Lengyel, I. (2014) “Correlations in distribution and
concentration of calcium, copper and iron with zinc in isolated
extracellular deposits associated with age-related macular
6: 1223-1228. DOI:
- Bleckert, A., Schwartz, G. W., Turner, M.H., Rieke, F. and Wong,
R. O. L. (2014) “Visual space is represented by nonmatching
topographies of distinct mouse retinal ganglion cell
types”. Current Biology 24: 310-315.
- December 2019
- Retistruct 0.6.1 and 0.6.2 is out. This reinstates sphericalplots and the saving of reconstructed data. New features include allowing resizing of windows so plots can be larger, allowing data counts to be read in using ijroi and csv formats and exposing some features in the API. Version 0.6.2 fixes a small issue and adds much better documentation for developers. See the NEWS file
for more information.
- July 2019
- Retistruct 0.6.0 is out. The big change in this version is a
complete refactor of the code, which should enable future enhancements
to happen more quickly. The stitching algorithm is improved. There are
major improvments in image rendering, which should be a lot faster
thanks to the tsearch algorithm in 0.4.x of the geometry package, and
able to deal with high-resolution images.
- 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.
The development of the initial version of Retistruct was supported by
a Programme Grant from the UK Wellcome Trust (G083305) from
Improvements to image handing and refactoring the code (released in
v0.6.0) were supported by The Jackson Laboratory (Bar Harbor, ME, USA)
Scientific Services Innovation Fund from 2016-2017 and an NIH R21
grant (EY027894–01A1) from 2018-2020 to Dr. Mark P. Krebs, The Jackson