Skip to content

Slicer module to enable Slicer extension developers to constrain and synchronize markups and control points of different nodes.

License

Notifications You must be signed in to change notification settings

KitwareMedical/SlicerMarkupConstraints

Repository files navigation

Markup Constraints Extension

MarkupConstraints is a Slicer module to enable Slicer extension developers to constrain and synchronize markups and control points of different nodes.

This extension was created during Slicer Project Week 37 for the Q3DC Extension.

See the Architecture Overview for details on the functionality and implementation of this module.

See the API Documentation for details on how to consume and extend this module.

Screenshots and Animations

Show line of projection to an axis Show mixture of arbitrary markup nodes Chain of fixed distance constraints on multiple line nodes Lock point to axis Nearest point on a model

Build and Install

The extension is not yet available on the Slicer Extension Index. The extension contains only a python scripted module; refer to the Extension Build Instructions for more details.

Scope and Limitations

The constraint system is primarily intended for refining of interactive tools, or for deterministic relative placement of control points. As such the constraint API is only intended to handle forward constraints, and there is not yet a mechanism for a constraint to propagate a change to more than one point at a time.

Inverse kinematics is not in the scope of this project; it may be possible to extend the constraint API to allow integration of an existing IK library, but there are no plans to do so for now.

Acknowledgements

  • David Allemang (Kitware Inc.)
  • Jean-Christophe Fillion-Robin (Kitware Inc.)
  • Lucia Cevidanes (University of Michigan)
  • Maxime Gillot (University of Michigan)
  • Baptiste Baquero (University of Michigan)

Work for this project originally began for the Q3DC Extension; see that extension for an example of usage of this module.

About

Slicer module to enable Slicer extension developers to constrain and synchronize markups and control points of different nodes.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published