2008 Summer Project Week:PerformanceTuningFiducials
- BWH: Nicole Aucoin
- Isomics: Steve Pieper, Alex Yarmarkovich
- Kitware: Will Schroeder, Sebastien Barre
Increase responsiveness of fiducials in Slicer.
Our approach is to clear up issues with existing strategies, and then tune the fiducials to be efficient when there are 200 in the scene at once.
ctest -R Slicer3FiducialsTest2 or source ../Slicer3/Libs/MRML/Testing/testFiducialAdd.tcl
Our plan for the project week is to first collaborate on debugging, tracking down the causes of segmentation faults during rendering with more efficient widget management algorithms, and using the Event Broker to track cascades of events. A secondary bottleneck is in the vtkKWMultiColumnList, as updating it as fiducials are added takes a long time.
The goal is to avoid having to remove all fiducials from the scene and deleting them before readding them to reflect any changes in the MRML node.
If time permits, a redesign of the fiducials frame work will be sketched out, to take full advantage of the vtk widgets in VTK5.2.
Updated the fiducial list widget to use the event broker to add observations on the fiducial list node. Immediate result was an immense slow down. Logged to file when moving a fiducial in the 3D window and got the dot file below.
Updating MRML node, GUI and widget to not rely on Modified events.
Will is going to update the vtkSeedWidget in VTK to provide a new base platform for the fiducials. Nicole will adapt it into what Slicer3 needs. Goal: revamped and solid by RSNA.
Event Broker Output
Logging of moving a fiducial in 3D:
Graph image creation requires permission to upload.