from_numpy#
- movement.io.load_poses.from_numpy(position_array, confidence_array=None, individual_names=None, keypoint_names=None, fps=None, source_software=None)[source]#
Create a
movement
poses dataset from NumPy arrays.- Parameters:
position_array (np.ndarray) – Array of shape (n_frames, n_space, n_keypoints, n_individuals) containing the poses. It will be converted to a
xarray.DataArray
object named “position”.confidence_array (np.ndarray, optional) – Array of shape (n_frames, n_keypoints, n_individuals) containing the point-wise confidence scores. It will be converted to a
xarray.DataArray
object named “confidence”. If None (default), the scores will be set to an array of NaNs.individual_names (list of str, optional) – List of unique names for the individuals in the video. If None (default), the individuals will be named “individual_0”, “individual_1”, etc.
keypoint_names (list of str, optional) – List of unique names for the keypoints in the skeleton. If None (default), the keypoints will be named “keypoint_0”, “keypoint_1”, etc.
fps (float, optional) – Frames per second of the video. Defaults to None, in which case the time coordinates will be in frame numbers.
source_software (str, optional) – Name of the pose estimation software from which the data originate. Defaults to None.
- Returns:
movement
dataset containing the pose tracks, confidence scores, and associated metadata.- Return type:
Examples
Create random position data for two individuals,
Alice
andBob
, with three keypoints each:snout
,centre
, andtail_base
. These are tracked in 2D space over 100 frames, at 30 fps. The confidence scores are set to 1 for all points.>>> import numpy as np >>> from movement.io import load_poses >>> ds = load_poses.from_numpy( ... position_array=np.random.rand(100, 2, 3, 2), ... confidence_array=np.ones((100, 2, 3)), ... individual_names=["Alice", "Bob"], ... keypoint_names=["snout", "centre", "tail_base"], ... fps=30, ... )