degs = RetinalMMToDegrees(mm,eyeLengthMM,[fulltrig])
Convert fovela extent in mm of retina in the fovea to degrees of visual
This is implemented by default as a simple linear scaling based on the
appropriate conversion for small angles. It does not take the
non-linearity of the tangent for larger angles into account, nor the
actual shape and optics of the eye. Interestingly, although the trig
calculation would be exactly correct for pinhole camera and a planar
retina oriented orthogonal to the optical axis, it deviates more from
what the real eye does than the linear approximation.
In addition, this routine is implemented as the exact inverse of what
DegreesToRetinalMM does, rather than having the two routines do
independent forward and backward linear approximations.
If optional argument fulltrig is passed as true (it is false by default),
then it uses the inverse tangent on the actuall passed mm. This was the
behavior prior to July 2015. This behavior does not exactly self invert
with DegreesToRetinalMM. Nor does it account for the shape and optics of
Routine EyeLength returns posterior nodal eye lengths for various species
and sources. Use ‘Human’ and ‘Rodieck’ to get the eye lenght implicit in
RetinalEccentricityMMToDegrees and DegreesToRetinalEccentricityMM for
human, and similarly ‘Rhesus’ and ‘PerryCowey’ for rhesus.
7/15/03 dhb Wrote it.
7/01/15 dhb Update comments, change default behavior, preserve old behavior optionally.