Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improved object and tracker fiducial registration UI #786

Open
wants to merge 13 commits into
base: master
Choose a base branch
from

Conversation

Rakhesis
Copy link
Collaborator

New class for creating fiducial buttons and keeping track of which button to set next: used to reimplement fiducial buttons for object and tracker.

Object fiducials:

  • Register fiducials with a single click
  • Colored buttons

Tracker fiducials:

  • Changed fiducial registration order to left ear, nasion, right ear.
  • Allow changing default fiducial registration order through constants.py.
  • Allow setting fiducials outside default order.
  • Improved code structure.

New class OrderedFiducialButtons for creating fiducial buttons and keeping track of which button to set next.
Implement object registration using OrderedFiducialButtons.

Fiducial buttons now colored like with tracker fiducials for improved clarity. Less clicking required to record fiducials.
Use OrderedFiducialButtons class for tracker fiducials.

Changed fiducial registration order from LE, RE, NA to LE, NA, RE.

Fiducial registration order can now be changed more easily through constants.py.

Can click on fiducial buttons to record fiducials out of default order.
@Rakhesis Rakhesis added enhancement ui/ux Bug or enhancement related to user interface and user experience labels Jun 10, 2024
@Rakhesis Rakhesis requested a review from vhosouza June 10, 2024 13:59
@vhosouza
Copy link
Member

vhosouza commented Jun 11, 2024

Thanks for the great PR. A couple of edits more:

In the Coil registration dialog:

  1. Change the behavior of the dialog such that:
  • If the tracker type is any of the Polhemus or if it's any of the Debug trackers: show the "Fixed" button and its coordinates and show the drop down menu of "Sensor 3" and Dynamic ref.
  • For all other trackers (Claron, NDI, and Optitrack), hide the "Fixed" coordinate which corresponds to the current coordinate of the sensor 3 and collect this coordinate at the same time the button "Anterior" is pressed. This will reduce one click which is causing a lot of confusion to most of our users. Also Hide the "Dynamic ref" button which is not necessary.
  1. Apply the same colors of the buttons to the 3D balls in the VTK scene of the coil.
  2. Create a Reset button, similar to the one in the Tracker registration tab
  3. Change all labels from "Stimulator" to "TMS coil"

In the Tracker registration tab:

  1. Rename "Tracker" to "Patient"
  2. There is a strange behavior after I have done the Patient registration once, if I click "Start patient registration" again it requires me to click "Reset" before starting the collection. I think this is a bit unintuitive. When clicking the "Start" button we should automatically reset the registration.

Changed labels in GUI:
Stimulator -> TMS Coil
Tracker Registration -> Patient Registration

Enhanced tooltips.
"Fixed fiducial" for coil registration now collected automatically after collecting the anterior fiducial for certain trackers.

Added list of trackers with which to collect the fixed coordinate separately to constants.py.

Fixed coordinate hidden from GUI when not needed. Hiding the Fastrak sensor port and the dynamic reference combobox now use the same condition.
OrderedFiducialButtons now colors the fiducial ball and text actors to match the buttons.

Use colorblind-friendly colors for ball and text actors.
@vhosouza
Copy link
Member

@Rakhesis I remember other tiny fix that can be added here.

In Image coregistration, after all 3 buttons have been recorded, disable the "Start registration". When it is kept enabled, it will also keep the "cross" enabled which prevents the use of other buttons, like measurement and brightness adjustment.

It's nearly impossible for the user to realize that the "Start registration" in the Image panel should be manually stopped.

@vhosouza
Copy link
Member

In the Patient registration tab, the UI is still not updating in MacOS after the "Record fiducial" button is pressed. The UI is only updated after hiding and showing the tab again, or minimizing and maximizing the window. Some "Refresh" command is missing.

@vhosouza vhosouza requested a review from rmatsuda June 28, 2024 09:04
@vhosouza
Copy link
Member

@rmatsuda

In this PR, @Rakhesis made a fix to hide the "Fixed" coordinate for Polaris and Optitrack and record the necessary coordinate already with the other clicks. It also hides the dynamic and sensor icons for these specific trackers.

Could you test with your navigation setup there that all is working fine. I tested the basic UI and all is correct, except for a minor update issue in MacOS.

@rmatsuda
Copy link
Collaborator

Hey @vhosouza and @Rakhesis! I tested the navigation setup with polaris and its working fine. Thanks for the PR @Rakhesis

…ation

Using the cross tool toggle button will automatically disable image registration. This will prevent the cross tool from getting stuck turned on.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement ui/ux Bug or enhancement related to user interface and user experience
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants