Edit this page

NA-MIC Project Weeks

Back to Projects List

QuickAlign Refinement

Key Investigators

Presenter location: In-person

Project Description

QuickAlign is a SlicerMorph module used to temporarily fix alignment in two 3D viewers. The user aligns the view in each viewer and then applies the linking. If the nodes are Markups, then joint editing of the point lists can be enabled. We plan to make usability improvements.

Objective

  1. Address of issue object size/zoom
  2. Assess implementations for transforming multiple nodes in scene
  3. Discuss whether this may be a useful feature outside SlicerMorph

Approach and Plan

  1. Develop plan for correcting for object size/zoom
  2. Discuss alternate implementations using camera transforms

Progress and Next Steps

  1. Implemented and tested alternative methods based on (a) camera event updates from camera instead of 3D view linking and (b) transforming the camera instead of the linked nodes.
  2. Identified a more robust solution where camera positions are tracked and updated on interaction events applying a transform. This is likely the best solution if the feature will be integrated in the core and will support alignment of views with multiple nodes. Refer to Endoscopy and ViewPoint examples for camera update.
  3. Identified a short-term solution for the SlicerMorph extension where an approximate zoom factor is calculated from the initial camera parameters and object position, then applied as a scaling factor to the aligned object node. The scale factor could be provided as a slider in the QuickAlign module so the zoom could be adjusted both jointly (in the scene) and independently (via the scaling factor).
  4. Zoom-factor solution pushed to SlicerMorph repo for testing

Illustrations

quickAlignedSkulls unalignedSkulls

Background and References

Endoscopy example

ViewPoint example