Vectors
PyStages provides the pystages.Vector
for basic vector manipulation.
Querying or setting the position of stages is done with instances of
pystages.Vector
.
pos = mystage.position
print(f'Position: {pos}')
mystage.position = Vector(100e-6, 0e-6, 0e-6)
The dimension of vectors is arbitrary and depends on the number of axis of the controlled stage. In addition to indexing operator [], the fourth first elements of vectors can be accessed using the x, y, z and w attributes.
pos = mystage.position
print(f'Position: {pos[0], pos[1], pos[2]}')
print(f'Position: {pos.x, pos.y, pos.z}')
Position attribute details
The position property of stage instances return a detached
pystages.Vector
. Modifying the returned vector does not move the stage,
so the following code does not work as intended:
# Does NOT work
mystage.position.x = 100
This should be written as:
# Move the X axis
pos = mystage.position
pos.x = 100
mystage.position = pos
This is more verbose, but may prevent awkward situations where a user thinks he has a copy of the position and then starts editing it.