pulse2percept.topography.retina.montesano2020
Module Attributes
Radial support of the packaged field (dva); identity at and beyond it. |
Classes
|
Converts between visual angle and retinal eccentricity using two-dimensional RGC displacement [Montesano2020] |
- pulse2percept.topography.retina.montesano2020.SUPPORT_MAX_DVA = 15.0
Radial support of the packaged field (dva); identity at and beyond it.
- class pulse2percept.topography.retina.montesano2020.Montesano2020Map(**params)[source]
Converts between visual angle and retinal eccentricity using two-dimensional RGC displacement [Montesano2020]
Retinal ganglion cell (RGC) bodies are displaced centrifugally from the receptive fields (RFs) they serve. The displacement depends on meridian as well as eccentricity. This map applies the [Montesano2020] field in degrees of visual angle (dva), then converts the displaced location to microns with
Watson2014Map.Displacement is radial: the visual-field polar angle is preserved. The anatomical meridian only selects which profile applies. The zone reaches 14.10 dva temporally and superiorly, 10.52 dva inferiorly, 9.54 dva nasally. Beyond 15 dva the map is the identity.
Added in version 0.11.0.
- Parameters:
eye ({'right', 'left'}, optional) – Retinal laterality. Nasal retina is the positive-x visual field in a right eye, the negative-x one in a left eye; positive y is inferior retina in both. Case-insensitive on input; stored lowercase. Defaults to
'right'.
Notes
An independent reconstruction of [Montesano2020] as opposed to a port of the original code. The implementation was validated against that paper’s published figures and E2v fits, and cross-checked against the
visualFieldsimplementation by the same group, which it matches to 0.07 dva inside the displacement zone. Seetools/generate_montesano2020_map.py.This is based on population anatomy [Curcio1990] and not to be interpreted as a subject-specific eye.
- property eye
Eye whose nasal/temporal anatomy is used
- dva_to_ret(xdva, ydva, coords='cart')[source]
Converts dva to retinal coords
Displaces RF to soma in the visual field, then converts to microns with Eq. A5 of [Watson2014].
- Parameters:
xdva (double or array-like) – x,y coordinates in dva
ydva (double or array-like) – x,y coordinates in dva
coords ({'cart', 'polar'}) – Whether to return the result in Cartesian or polar coordinates
- Returns:
xret, yret – Corresponding x,y coordinates in microns
- Return type:
double or array-like
- from_dva()[source]
Returns a dict containing the region(s) that this visuotopy maps to, and the corresponding mapping function(s).
- get_param_units()[source]
Return storage units for physical parameters.
Subclasses should extend this mapping. Parameters not listed here take plain dimensionless values.
Added in version 0.10.0.
- ret_to_dva(xret, yret, coords='cart')[source]
Converts retinal coords to dva
Inverts
dva_to_ret(). Eq. A5 of [Watson2014] is inverted numerically, so this does not reproduceWatson2014Map.ret_to_dva(), which evaluates Eq. A6.- Parameters:
xret (double or array-like) – x,y coordinates in microns
yret (double or array-like) – x,y coordinates in microns
coords ({'cart', 'polar'}) – Whether to return the result in Cartesian or polar coordinates
- Returns:
xdva, ydva – Corresponding x,y coordinates in dva
- Return type:
double or array-like