AllenNeuralDynamics / voxel

General purpose microscope control repository
MIT License
3 stars 2 forks source link

Refactor stage class #25

Open adamkglaser opened 3 months ago

adamkglaser commented 3 months ago

Proposing that the parent stage device contain:

axis_map of {instrument axis: hardware axis} (required) joystick_map of {instrument axis: joystick setting} (optional)

This gets input into any subdevice so that the subdevice knows the complete axis and joystick mapping

micahwoodard commented 1 month ago

Is your feature request related to a problem? Please describe. Logic and organization of stage is confusing

Describe the solution you'd like For the asi stages in the exaspim, we construct the yaml with a parent TigerboxController and then create subsequent children axes with the axis mapping passed in. Additionally, a joystick device is created and the axis map is passed in again. See here. A StageController device should be added to voxel to handle the axis mapping which would reduce overhead in initializing axes and other components. There is one in spim-core called Pose which is similar to what we would want. Then, we could rewrite axes and joystick drivers to obtain the axis mapping from StageController parent.

Acceptance Criteria