pulse2percept.topography.base¶
Classes
CoordinateGrid (x, y[, z]) |
Datatype for storing a grid of coordinates Basically an overriden namedtuple with custom __eq__ method |
Grid2D (x_range, y_range[, step, grid_type]) |
2D spatial grid |
VisualFieldMap (**params) |
Base template class for a visual field map (retinotopy) |
-
class
pulse2percept.topography.base.
CoordinateGrid
(x, y, z=None)[source]¶ Datatype for storing a grid of coordinates Basically an overriden namedtuple with custom __eq__ method
-
class
pulse2percept.topography.base.
Grid2D
(x_range, y_range, step=1, grid_type='rectangular')[source]¶ 2D spatial grid
This class generates and stores 2D mesh grids of coordinates across different regions (visual field, retina, cortex). The grid is uniform in visual field, and transformed with a retinotopic mapping to obtain the grid in other regions.
New in version 0.6.
Parameters: - x_range ((x_min, x_max)) – A tuple indicating the range of x values (includes end points)
- y_range (tuple, (y_min, y_max)) – A tuple indicating the range of y values (includes end points)
- step (int, double, tuple) – Step size. If int or double, the same step will apply to both x and y ranges. If a tuple, it is interpreted as (x_step, y_step).
- grid_type ({'rectangular', 'hexagonal'}) – The grid type
Notes
- The grid uses Cartesian indexing (
indexing='xy'
for NumPy’smeshgrid
function). This implies that the grid’s shape will be (number of y coordinates) x (number of x coordinates). - If a range is zero, the step size is irrelevant.
Examples
You can iterate through a grid as if it were a list. Notice, the grid is indexed in (x, y) order, starting in the upper left of the grid (following image convention)
>>> grid = Grid2D((0, 1), (2, 3)) >>> for x, y in grid: ... print(x, y) 0.0 3.0 1.0 3.0 0.0 2.0 1.0 2.0
-
plot
(style='hull', autoscale=True, zorder=None, ax=None, figsize=None, fc=None, use_dva=False, legend=False, surface=None)[source]¶ Plot the extension of the grid
Parameters: - style ({'hull', 'scatter', 'cell'}, optional) –
- ‘hull’: Show the convex hull of the grid (that is, the outline of the smallest convex set that contains all grid points).
- ’scatter’: Scatter plot all grid points
- ’cell’: Show the outline of each grid cell as a polygon. Note that this can be costly for a high-resolution grid.
- autoscale (bool, optional) – Whether to adjust the x,y limits of the plot to fit the implant
- zorder (int, optional) – The Matplotlib zorder at which to plot the grid
- ax (matplotlib.axes._subplots.AxesSubplot, optional) – A Matplotlib axes object. If None, will either use the current axes (if exists) or create a new Axes object
- figsize ((float, float), optional) – Desired (width, height) of the figure in inches
- fc (str or valid matplotlib color, optional) – Facecolor, or edge color if style=scatter, of the plotted region Defaults to gray
- use_dva (bool, optional) – Whether dva or transformed points should be plotted. If True, will not apply any transformations, and if False, will apply all transformations in self.vfmap
- legend (bool, optional) – Whether to add a plot legend. The legend is always added if there are 2 or more regions. This only applies if there is 1 region.
- surface (str, optional) – Name of the surface to plot (only for vfmaps that accept a surface argument)
- style ({'hull', 'scatter', 'cell'}, optional) –
-
plot3D
(style='scatter', ax=None, surface='midgray', color_by='region', **kwargs)[source]¶ Plots grid points in 3D space. Note, you must have a 3D visual field map to use this method. :param style:
- ‘scatter’: Scatter plot all grid points
- ‘cell’: Show the outline of each grid cell as a polygon. Note that this can be costly for a high-resolution grid.
Parameters: - ax (matplotlib.axes._subplots.AxesSubplot, optional) – A Matplotlib axes object. If None, will either use the current axes (if exists) or create a new Axes object
- surface (str, optional) – Name of the cortical surface to plot (only with neuropythy vfmap)
- color_by (str, optional) – What to color the points by. Options are ‘region’ (default), ‘eccentricity’, or ‘angle’
- kwargs (dict) – Additional keyword arguments to pass to plt.figure() (figsize) or ax.scatter() or ax.plot_trisurf()
-
class
pulse2percept.topography.base.
VisualFieldMap
(**params)[source]¶ Base template class for a visual field map (retinotopy)
-
build
(**build_params)[source]¶ Build the model
Every model must have a
`build
method, which is meant to perform all expensive one-time calculations. You must callbuild
before callingpredict_percept
.Important
Don’t override this method if you are building your own model. Customize
_build
instead.Parameters: build_params (additional parameters to set) – You can overwrite parameters that are listed in get_default_params
. Trying to add new class attributes outside of that will cause aFreezeError
. Example:model.build(param1=val)
-
from_dva
()[source]¶ Returns a dict containing the region(s) that this visuotopy maps to, and the corresponding mapping function(s).
-
is_built
¶ A flag indicating whether the model has been built
-