API Reference#
- class pupil_labs.surface_tracker.Camera(camera_matrix: numpy.ndarray, distortion_coefficients: numpy.ndarray)#
Bases:
object- distort_and_project(points: numpy.ndarray)#
- class pupil_labs.surface_tracker.CoordinateSpace(value)#
Bases:
enum.EnumAn enumeration.
- IMAGE_DISTORTED = 'image-distorted'#
- IMAGE_UNDISTORTED = 'image-undistorted'#
- SURFACE_DISTORTED = 'surface-distorted'#
- SURFACE_UNDISTORTED = 'surface-undisitorted'#
- class pupil_labs.surface_tracker.CornerId(value)#
Bases:
enum.EnumAn enumeration.
- BOTTOM_LEFT = (0, 1)#
- BOTTOM_RIGHT = (1, 1)#
- TOP_LEFT = (0, 0)#
- TOP_RIGHT = (1, 0)#
- static all_corners(starting_with: Optional[pupil_labs.surface_tracker.corner.CornerId] = None, clockwise: bool = True)#
Enumerate all corners.
- Args:
starting_with: First CornerId in the returned list. clockwise: Direction of the returned list.
- Returns:
List of CornerId
- class pupil_labs.surface_tracker.Marker#
Bases:
abc.ABC- abstract property coordinate_space: pupil_labs.surface_tracker.coordinate_space.CoordinateSpace#
- abstract static from_dict(value: dict) pupil_labs.surface_tracker.marker.Marker#
- static from_vertices(uid: MarkerId, undistorted_image_space_vertices: List[Tuple[int, int]], starting_with: pupil_labs.surface_tracker.corner.CornerId, clockwise: bool) pupil_labs.surface_tracker.marker.Marker#
- pupil_labs.surface_tracker.MarkerId(x)#
- class pupil_labs.surface_tracker.Surface#
Bases:
abc.ABC- abstract static from_dict(value: dict) pupil_labs.surface_tracker.surface.Surface#
- abstract property orientation: pupil_labs.surface_tracker.orientation.SurfaceOrientation#
- class pupil_labs.surface_tracker.SurfaceHeatmap(surface_uid: SurfaceId)#
Bases:
object- image(size: Tuple[int, int], color_format: Optional[pupil_labs.surface_tracker.heatmap.SurfaceHeatmap.ColorFormat] = None) numpy.ndarray#
- pupil_labs.surface_tracker.SurfaceId(x)#
- class pupil_labs.surface_tracker.SurfaceImageCrop(crop_size_in_image_space: Tuple[int, int], perspective_transform: numpy.ndarray)#
Bases:
object- apply_to_image(image: numpy.ndarray) numpy.ndarray#
- class pupil_labs.surface_tracker.SurfaceLocation#
Bases:
abc.ABC- abstract static from_dict(value: dict) pupil_labs.surface_tracker.location.SurfaceLocation#
- abstract property transform_matrix_from_image_to_surface_undistorted: numpy.ndarray#
- abstract property transform_matrix_from_surface_to_image_undistorted: numpy.ndarray#
- class pupil_labs.surface_tracker.SurfaceOrientation(surface_start_with: pupil_labs.surface_tracker.corner.CornerId = CornerId.TOP_LEFT, clockwise: bool = True)#
Bases:
object- property clockwise#
- static from_dict(value: dict) pupil_labs.surface_tracker.orientation.SurfaceOrientation#
- get_relative_rotation(clockwise=True)#
- get_visual_anchor_surface_space()#
- map_surface_corners_to_default(corner_dict)#
- map_surface_corners_to_rotation(corner_dict)#
- property surface_start_with#
- class pupil_labs.surface_tracker.SurfaceTracker#
Bases:
object- add_markers_to_surface(surface: pupil_labs.surface_tracker.surface.Surface, location: pupil_labs.surface_tracker.location.SurfaceLocation, markers: List[pupil_labs.surface_tracker.marker.Marker], ignore_location_staleness: bool = False)#
- define_surface(name: str, markers: List[pupil_labs.surface_tracker.marker.Marker]) Optional[pupil_labs.surface_tracker.surface.Surface]#
- get_relative_rotation(surface: pupil_labs.surface_tracker.surface.Surface) int#
- locate_surface(surface: pupil_labs.surface_tracker.surface.Surface, markers: List[pupil_labs.surface_tracker.marker.Marker]) Optional[pupil_labs.surface_tracker.location.SurfaceLocation]#
Computes a SurfaceLocation based on a list of visible markers
- locate_surface_image_crop(surface: pupil_labs.surface_tracker.surface.Surface, location: pupil_labs.surface_tracker.location.SurfaceLocation, camera: pupil_labs.surface_tracker.camera.Camera, width: Optional[int] = None, height: Optional[int] = None) pupil_labs.surface_tracker.image_crop.SurfaceImageCrop#
- locate_surface_image_crop_with_heatmap(surface: pupil_labs.surface_tracker.surface.Surface, location: pupil_labs.surface_tracker.location.SurfaceLocation, camera: pupil_labs.surface_tracker.camera.Camera, points: List[Tuple[int, int]], width: Optional[int] = None, height: Optional[int] = None) -> (<class 'pupil_labs.surface_tracker.image_crop.SurfaceImageCrop'>, <class 'pupil_labs.surface_tracker.heatmap.SurfaceHeatmap'>)#
- locate_surface_visual_anchors(surface: pupil_labs.surface_tracker.surface.Surface, location: pupil_labs.surface_tracker.location.SurfaceLocation) Optional[pupil_labs.surface_tracker.visual_anchors.SurfaceVisualAnchors]#
- move_surface_corner_positions_in_image_space(surface: pupil_labs.surface_tracker.surface.Surface, location: pupil_labs.surface_tracker.location.SurfaceLocation, new_positions: Mapping[pupil_labs.surface_tracker.corner.CornerId, Tuple[int, int]], ignore_location_staleness: bool = False)#
- remove_markers_from_surface(surface: pupil_labs.surface_tracker.surface.Surface, location: pupil_labs.surface_tracker.location.SurfaceLocation, marker_uids: List[MarkerId], ignore_location_staleness: bool = False)#
- set_orientation(surface: pupil_labs.surface_tracker.surface.Surface, starting_with: pupil_labs.surface_tracker.corner.CornerId, clockwise: bool = True)#
- surface_corner_positions_in_image_space(surface: pupil_labs.surface_tracker.surface.Surface, location: pupil_labs.surface_tracker.location.SurfaceLocation, corners: List[pupil_labs.surface_tracker.corner.CornerId]) Mapping[pupil_labs.surface_tracker.corner.CornerId, Tuple[int, int]]#
Return the corner positions in image space.
- surface_points_in_image_space(surface: pupil_labs.surface_tracker.surface.Surface, location: pupil_labs.surface_tracker.location.SurfaceLocation, points: List[Tuple[float, float]]) List[Tuple[int, int]]#
Transform a list of points in surface space into a list of points in image space.