FOVEA: a new program to standardize the measurement of foveal pit morphology

The fovea is one of the most studied retinal specializations in vertebrates, which consists of an invagination of the retinal tissue with high packing of cone photoreceptors, leading to high visual resolution. Between species, foveae differ morphologically in the depth and width of the foveal pit and the steepness of the foveal walls, which could influence visual perception. However, there is no standardized methodology to measure the contour of the foveal pit across species. We present here FOVEA, a program for the quantification of foveal parameters (width, depth, slope of foveal pit) using images from histological cross-sections or optical coherence tomography (OCT). FOVEA is based on a new algorithm to detect the inner retina contour based on the color variation of the image. We evaluated FOVEA by comparing the fovea morphology of two Passerine birds based on histological cross-sections and its performance with data from previously published OCT images. FOVEA detected differences between species and its output was not significantly different from previous estimates using OCT software. FOVEA can be used for comparative studies to better understand the evolution of the fovea morphology in vertebrates as well as for diagnostic purposes in veterinary pathology. FOVEA is freely available for academic use and can be downloaded at: http://estebanfj.bio.purdue.edu/fovea.


Initial Fovea Image Directory
The first step is selecting the directory of fovea images. All images in the directory will be shown. By clicking on one of the red boxes you indicate the fovea image directory: After that, you will see the image files (red box):

Load and View a Fovea Image
After selecting one of the image files, the image is loaded and displayed on main workspace: You can maximize the image view (see the red box below the image).

Edit image
If the background of the image is too noisy, you may clean it before further processing. There are three options.
First, when you are only interested in a part of image, then you can cut the image.
Click the red box icon. And in the workspace, you can "mouse left click and drag" the region of interest (ROI). Then click the "Enter" key.
The region of interest stays and the outside of ROI is removed.
If you want to make squared ROI image choose the icon below.
Then, "mouse-left click and drag" only creates square-size ROI region. Then click the "Enter" key.
Unnecessary parts of the image can be erased.
The above icon shows the function to "clear image" icon. Similarly, when you "mouse left click and drag" the region that is not related to fovea, then click "Delete" key in your keyboard. The selected region will be removed. The actual fovea region should not be erased by this functionality.

Detection of the Retina Contour
Click above icon, and selected a region (may include a bit of noise). To detect the retina contour correctly, the background color variance (noise) of an image should be calculated first. If the color variance is less than the given value, it will not be considered as boundary edge.
Then click "Detect Max Color Distance" button in the Property Widget. Then "Max Color Distance" (blue box in the image) value, below the button, is changed. The default value is 30. Suggested value is less than 80, because higher negatively values influence the amount of noise.
Then click "Detect Retina Contour" button in Property Widget.
The outline of the retina is detected. However, in this example, two points of noise are also detected. They can be manually deleted by "Mouse left click and drag the two points", and clicking the "Delete" key.
So, the two noise points are erased.
Next, click "Make Curve" button in the Property Widget.
The curve is created, but it may be too rough (as shown in above image, sharp changes in the boundary curve exist). To calculate local minimum and maximum precisely, the curve should be smooth that is achieved by using the function "Smooth Contour". "Smooth Contour" can be applied several times until the boundary line is smooth enough and still fits the real boundary of the retina. In the image above, the smoothing has been applied 3x. In general case, applying 2-3x is enough.

Adding a Reference Curve
In order to detect local maxima and minima from the fovea images, a piece-wise linear reference to the boundary line is needed. The foveal depth and width are based on the distance from the reference curve to the detected boundary line. The reference curve should be drawn along the boundary of outer segments of the photoreceptor layer. The reference curve is manually inserted, since its edges are frequently not clear.
Click on the above icon to add the reference curve. Double-clicking mouse left button will add a point for the reference curve. The reference curve is the collection of lines that connects all points. You may need to do "double-click" several times to create a fitting reference line.
In the above image, the green dots and yellow curve encompass the reference curve. Users can add as many points as they wanted to refine the reference line.

Calculating the foveal width and depth
By pressing "detect depth and width" the application calculates the foveal depth and width.
It is done in the following way 1) The points , , and are calculated as well as their counterparts on the bottom denoted , , and .
2) The retina is then put in the center of the coordinate system and de-rotated. We put the point to the center of the coordinate system and the -axis is aligned to the line given by points and .The -axis points to the right. Note, it does not need to go through the point and in the image above it is just accidental.
3) Then the points and as well as and are calculated. They are significant points for necessary to determine the curvature of the fovea.
4) The foveal width is then calculated as the distance of points and .
5) The foveal depth is the distance of the point from the line given by points and .
6) In the next step, the slope of the various points on is calculated. The slope is the angle given by a line and the -axis of the coordinate system.
a. Local slope is the angle between the tangent vector in a point and the -axis. It is calculated for all top points.
b. Line slope is the angle given by a pair of points and the -axis and it is calculated for pairs , , and .

Add Unit Measurement
The images are in the pixel space and they need to be converted to actual micrometers. To add the measurement unit, select in the icon below.
Most of fovea images show their own unit scale in the image. In the right corner of the below image, the unit measurement is presented (144 micrometer in this case). By simply drawing the line over the unit and typing the value, the pixels will be converted to the actual distance in micrometers Users can add the unit measurement by "mouse left clicking and dragging".
Then, in the property widget, we type that the actual micron distance of indicated line (red box in the image below).

Additional Information
There is additional information that the program provides.
The icon above shows the "distance graph". The distance graph shows distance from the retina contour to the reference curve (pixel unit). The red dots indicate points and . Green dots show points and . Blue dot is the point . If the distance graph is not continuous and is not smooth they user may need to redraw the reference curve or smooth the retina contour.
The "differentiation graph" (icon below) shows the second order derivative of the original graph.