Image-X-Institute / IntERAct

The Robotic Motion Phantom application provides methods to accurately reproduce the full range and rate of patient-measured tumour motion using a robotically controlled phantom to provide precise 6 DoF geometric quality assurance for advanced radiotherapy approaches.
https://image-x.sydney.edu.au/
12 stars 4 forks source link

(1D Platform Integration) - Translation plot improvements (WIP) #22

Open AbbasZahr opened 9 months ago

AbbasZahr commented 9 months ago

Due to general feedback, the following improvements to the Realtime plots would be ideal to achieve:

  1. Reduce the x-axis scaling for the plot in order to make the plot less busy, allowing for space to add a new plot in the same chart. Currently, the x-axis (time) has the range from 0 seconds to the max length of the trace.
  2. Implement the translation plots of the 1D robot on the same graph as the 6DOF robot.
  3. While reducing the x-axis scaling for the translational plot, implement auto scrolling so that the whole trace file is able to be viewed from beginning to end. the scale for the x axis should have a range of 10-20 seconds max.
  4. Allow to toggle between the 6DOF trace, 1D trace or both traces
AbbasZahr commented 8 months ago

UPDATE - 27/02/2024

  1. Reduce the x-axis scaling for the plot in order to make the plot less busy, allowing for space to add a new plot in the same chart. Currently, the x-axis (time) has the range from 0 seconds to the max length of the trace. (COMPLETED: Implemented range adjustment, zooming and panning).

Before: image

After: image As you can see on the right, there is a range slider which will adjust how far from the start the user wants to view the trace. This is most useful when playing the motion trace and viewing the real time output plots. Additional: Also added Reset Zoom button. Since zooming and panning is also implemented (with click and drag, scroll wheel etc), the user may want to reset the plot zoom.

  1. While reducing the x-axis scaling for the translational plot, implement auto scrolling so that the whole trace file is able to be viewed from beginning to end. the scale for the x axis should have a range of 10-20 seconds max. (COMPLETED: When playing a trace, the range can be adjusted from 0 to the max time possible from the trace; it will now follow the Realtime data being plotted too. Range can be adjusted by the slider on the right hand side.

  2. Implement the translation plots of the 1D robot on the same graph as the 6DOF robot. (COMPLETED: Implemented 1D robot input plots and real-time feedback/output plots on the same translation chart)

  3. Allow to toggle between the 6DOF trace, 1D trace or both traces. (COMPLETED: Implemented buttons to toggle between 6DOF, 1D or Both traces)

Both: image

Toggle 6DOF: image

Toggle 1D: image

Additional Notes:

  1. Improved and cleaned up UI. Buttons colours and positioning.
  2. Improved how the UI buttons, controls and plots scale according to screen size. This works fine with any resolution however if the user's display scaling is not set at 100%, there could be scaling issues. To check, go into Display Settings on your device (currently implemented for Motion Control tab only, not the Log or Settings tab).
  3. (WIP) Plotting the 1D optical feedback onto the translation chart.