Difference between revisions of "2017 Winter Project Week/SlicerGeometryModifier"

From NAMIC Wiki
Jump to: navigation, search
(Created page with "__NOTOC__ <gallery> Image:PW-Winter2017.png|link=2017_Winter_Project_Week#Projects|Projects List <!-- Use the "Upload file" link on the l...")
 
 
(12 intermediate revisions by 2 users not shown)
Line 2: Line 2:
 
<gallery>
 
<gallery>
 
Image:PW-Winter2017.png|link=2017_Winter_Project_Week#Projects|[[2017_Winter_Project_Week#Projects|Projects List]]
 
Image:PW-Winter2017.png|link=2017_Winter_Project_Week#Projects|[[2017_Winter_Project_Week#Projects|Projects List]]
 +
Image:InterfaceExample.png|Mock-up of an interface in Slicer as of now.
 +
Image:TranslationInBender.png|Example Of Translation in Blender.
 +
Image:RotationInBender.png|Example Of Rotation in Blender.
 +
Image:ScalingInBender.png|Example Of Scaling Blender.
 
<!-- Use the "Upload file" link on the left and then add a line to this list like "File:MyAlgorithmScreenshot.png" -->
 
<!-- Use the "Upload file" link on the left and then add a line to this list like "File:MyAlgorithmScreenshot.png" -->
 
</gallery>
 
</gallery>
Line 7: Line 11:
 
==Key Investigators==
 
==Key Investigators==
 
<!-- Add a bulleted list of investigators and their institutions here -->
 
<!-- Add a bulleted list of investigators and their institutions here -->
 +
* Johan Andruejol (Kitware, Inc.)
 +
* Beatriz Paniagua (Kitware, Inc.)
  
 
==Project Description==
 
==Project Description==
Line 16: Line 22:
 
|
 
|
 
<!-- Objective bullet points -->
 
<!-- Objective bullet points -->
*  
+
* Slicer lacks interactive support for moving, rotating and scaling objects in the user interface. It would be nice to be able to interact directly with an object.
 +
* The main objective of this project would be to allow user to change a transform parameters with through interaction. The objects under that transform should be automatically updated accordingly and the interaction representation should always match the transform properties.
 +
* We would also like to explore adding new markup types in Slicer such as planes and paths. Those would be integrated using the infrastructure in place.
 
|
 
|
 
<!-- Approach and Plan bullet points -->
 
<!-- Approach and Plan bullet points -->
*  
+
* Add a translation widget which:
 +
** Allows the user to move the objects under a transform.
 +
** Updates the transform interactively.
 +
** Updates itself whenever the transform is changed.
 +
** At this point, we would ask for feedback to the community.
 +
* Explore the addition of a simple markup type like a plane.
 
|
 
|
 
<!-- Progress and Next steps bullet points (fill out at the end of project week) -->
 
<!-- Progress and Next steps bullet points (fill out at the end of project week) -->
*
+
* Discussions about design and what the feature should ultimately look like:
 +
** The 3D widget should encompass all the nodes that are about to be transformed (around their bounding box).
 +
** The 2D widget should be fairly simple, like an ROI around the node to be transformed
 +
** Interaction between interaction widgets and transform vizualisation to be determined once the feature is more mature.
 +
* Proof of concept: [[File:ProofOfConcept.gif|thumbnail|Proof of concept]]
 
|}
 
|}
  
 
==Background and References==
 
==Background and References==
 
<!-- Use this space for information that may help people better understand your project, like links to papers, source code, or data -->
 
<!-- Use this space for information that may help people better understand your project, like links to papers, source code, or data -->
 +
* Other good examples
 +
** https://threejs.org/editor/
 +
** http://download.autodesk.com/us/maya/2010help/index.html?url=Transforming_objects_Use_manipulators.htm,topicNumber=d0e65921
 +
** http://download.autodesk.com/us/maya/2010help/index.html?url=Transforming_objects_Use_the_Universal_Manipulator.htm,topicNumber=d0e66424

Latest revision as of 16:33, 13 January 2017

Home < 2017 Winter Project Week < SlicerGeometryModifier

Key Investigators

  • Johan Andruejol (Kitware, Inc.)
  • Beatriz Paniagua (Kitware, Inc.)

Project Description

Objective Approach and Plan Progress and Next Steps
  • Slicer lacks interactive support for moving, rotating and scaling objects in the user interface. It would be nice to be able to interact directly with an object.
  • The main objective of this project would be to allow user to change a transform parameters with through interaction. The objects under that transform should be automatically updated accordingly and the interaction representation should always match the transform properties.
  • We would also like to explore adding new markup types in Slicer such as planes and paths. Those would be integrated using the infrastructure in place.
  • Add a translation widget which:
    • Allows the user to move the objects under a transform.
    • Updates the transform interactively.
    • Updates itself whenever the transform is changed.
    • At this point, we would ask for feedback to the community.
  • Explore the addition of a simple markup type like a plane.
  • Discussions about design and what the feature should ultimately look like:
    • The 3D widget should encompass all the nodes that are about to be transformed (around their bounding box).
    • The 2D widget should be fairly simple, like an ROI around the node to be transformed
    • Interaction between interaction widgets and transform vizualisation to be determined once the feature is more mature.
  • Proof of concept:
    Proof of concept

Background and References