Edit this page

NA-MIC Project Weeks

Back to Projects List

Translation/rotation of select points in a list

Key Investigators

Presenter location: In-person

Project Description

The goal of this project is to facilitate selection and independent manipulation of points in a list.

This can currently be done in the Markups module by copying the points to a new list, translating/rotating the points, and copying the point positions back to the original node. However this process is tedious and error-prone.

The initial motivation for this project was to simplify creation of synthetic data from landmark transforms by transforming an original set of landmarks into the target landmark set.

Objective

  1. Discuss overlapping goals between related projects (SlicerMorph, Slicer-Liver)
  2. Develop strategy for implementation

Approach and Plan

Two possible solutions have been discussed for the implementation:

  1. Add functions to Markups Editor module in the SlicerMorph extension
  2. Add to Slicer core in the Markups module. Currently the interaction handles are disabled if any point is locked. This can be modified so that locked points remain fixed and unlocked points move when using a markup’s interaction handles. This solution will not allow scaling since this is not currently supported for most Markup types.

Progress and Next Steps

  1. Met to discuss use cases and overlap in needs between SlicerMorph and SlicerLiver Groups
  2. Built working prototype of changes to the Markups module in 3D Slicer that meets the needs of both groups
  3. Testing by remote team members identified bug in the movement of the center of rotation/translation
  4. Identified and addressed issues with unplaced points and position of interaction handles with Kyle Sunderland and Andras Lasso
  5. Submitted a pull request adding this new function to the Markups module.

Illustrations

pointManipulation1

pointManipulation2

Background and References

  1. Forum post here discussing the issue and possible solutions.