Handedness is what 3D data is usually described by, so this says it directly rather than through three separate axis directions.
With two axes declared the third follows, and is recorded. With all three
declared, turning the handedness over reverses the depth axis — the one
pointing back or forward — and reflects that column, which is the
conventional way to convert between the two.
Right-handed is the convention across the suite, so set_handedness(data)
completes a frame the standard way. It is not assumed of a frame that has
not been asked: which side a recording was made from is a fact about the
recording, and get_handedness() reports "unknown" until it is told.
Value
The aniframe, with the axis directions that give this handedness and the depth axis reflected if it had to turn over.
Details
Two axes cannot fix a handedness, so at least two must already be declared
for the third to follow from this one. Declare them with
set_axis_directions().
Examples
af <- example_aniframe(n_obs = 3, n_individuals = 1, n_keypoints = 1)
af <- set_axis_directions(af, c(x = "right", y = "up"))
# z follows from the handedness, which defaults to right
af <- set_handedness(af)
get_axis_directions(af)
#> x y z
#> "right" "up" "back"