View Issue Details

IDProjectCategoryView StatusLast Update
0004669Slicer4Module Markupspublic2019-01-03 15:18
Reporterjamesobutler Assigned Tonicole  
PrioritynormalSeverityminorReproducibilitysometimes
Status acknowledgedResolutionopen 
PlatformWindowsOSWindows 10 HomeOS Version1809
Product Version 
Target VersionFixed in Version 
Summary0004669: Loaded fiducials move on mouse hover
Description

Loaded fiducials will sometimes move position when the mouse is hovered over them. This problem exists in Slicer 4.8.1, Slicer 4.10.0 and Slicer 4.11.0-2018-12-30. I have posted about this on the discourse forum (https://discourse.slicer.org/t/place-fiducials/5178/3?u=jamesobutler)

Not all loaded fiducials will change position. Sometimes it is only 1 loaded fiducial that will change position on mouse hover. Though I have observed multiple loaded fiducials change position on mouse hover.

The FCSV file is attached. This file was saved using Slicer 4.11.0-2018-12-30. Saved version in Slicer 4.8.1 also had the same issue when loaded in.

For example:
F-1 with RAS of (35.374, 46.183, 0.000) moved to RAS position of (35.908, 45.732, 0.000).
F-3 with RAS of (-42.850, 0.983, 0.000) moved to RAS position of (-42.005, 0.339, 0.000).

Steps To Reproduce
  1. Open Slicer.
  2. Place 3 fiducials in the scene.
  3. Save F CSV file.
  4. Close Scene/(Close Slicer and restart).
  5. Load F CSV file.
  6. Go to Markups module.
  7. Hover mouse over fiducial points and observe position change for some fiducials.
TagsNo tags attached.

Activities

jamesobutler

jamesobutler

2019-01-02 15:14

reporter  

F.fcsv (397 bytes)
pieper

pieper

2019-01-02 16:30

administrator   ~0016234

I believe what is happening is that the Fiducials code is getting an event from the vtk widget and then the fiducial snaps to the slice plane. There's an inherent issue that Fiducials are displayed within a tolerance of the slice location but then they are dragged they are updated to be exactly in the slice plane and this may be triggered even if they fiducial isn't moved.

jamesobutler

jamesobutler

2019-01-03 14:01

reporter   ~0016235

@pieper Would this vtk event likely be taking place in something like vtkMRMLMarkupsFiducialDisplayableManager2D.cxx or vtkMRMLAnnotationFiducialDisplayableManager.cxx?

pieper

pieper

2019-01-03 15:18

administrator   ~0016236

@jamesobutler I believe the problem is in this code: https://github.com/Slicer/Slicer/blob/b0443c748cb51904dfd82fa603b4353a335e3364/Modules/Loadable/Markups/MRMLDM/vtkMRMLMarkupsFiducialDisplayableManager2D.cxx#L82

As I recall Nicole said that hover was considered an InteractionEvent so the code that restricts to the scan plane gets invoked.

If this is the case, then maybe this code needs to be updated to take into account for the case where the fiducial was actually some distance away from the slice plane.

https://github.com/Slicer/Slicer/blob/b0443c748cb51904dfd82fa603b4353a335e3364/Modules/Loadable/Markups/MRMLDM/vtkMRMLMarkupsDisplayableManager2D.cxx#L1287

Issue History

Date Modified Username Field Change
2019-01-02 15:14 jamesobutler New Issue
2019-01-02 15:14 jamesobutler Status new => assigned
2019-01-02 15:14 jamesobutler Assigned To => nicole
2019-01-02 15:14 jamesobutler File Added: F.fcsv
2019-01-02 16:30 pieper Status assigned => acknowledged
2019-01-02 16:30 pieper Note Added: 0016234
2019-01-03 14:01 jamesobutler Note Added: 0016235
2019-01-03 15:18 pieper Note Added: 0016236