Difference between revisions of "2010 Summer Project Week Breakout Session:VTK Widget"
From NAMIC Wiki
(→Agenda) |
(→Agenda) |
||
| (2 intermediate revisions by 2 users not shown) | |||
| Line 15: | Line 15: | ||
** surface model vertex inspector (contrained to surface, updating text box) | ** surface model vertex inspector (contrained to surface, updating text box) | ||
** Use cases | ** Use cases | ||
| + | * miAnnotation status report | ||
* Wish list items | * Wish list items | ||
| + | ===Notes=== | ||
| + | |||
| + | Notes taken by Nicole, to be cleaned up: | ||
| + | <pre> | ||
| + | |||
| + | - kitware general questions to the vtk list, special features to JC | ||
| + | - make sure that have a test, baseline etc. | ||
| + | - slicer vtk git copy | ||
| + | - two branches of vtk git, one tracking / cherry picking branches from vtk, one patches that we want to do | ||
| + | - git client for svn only works on master, not branch | ||
| + | - branches for each patch that want to apply | ||
| + | - vtk to git way of thinking: master branch, next branch, maint branch | ||
| + | - changes to widget to support the annotaion project (rubber band lines, click to place, etc), annot project has to drive the changes | ||
| + | - if some missing methods or things not exposed, both namic funded widget development and fixes to current widgets in same repository | ||
| + | - vtk data is in a git repository, need to fork vtkdata | ||
| + | - making basic widgets work versus new widgets wishlist | ||
| + | - fixes can be at vtk level or slicer application | ||
| + | - create pure vtk tests to show issues | ||
| + | - getting widgets to work in 2d and 3d (some only have reps in one of the two) | ||
| + | - 2d handles versus 3d handles (2d are fixed to a plane) | ||
| + | - like to do at vtk level: | ||
| + | - depth sorting of widgets (can't pick the "top" one, picks the first added to the renderer) | ||
| + | - vtk performance esp the vtkseedwidget when have lots of actors | ||
| + | - very specific ways to interact with widgets that are opaque to users | ||
| + | - getting stuck in reformat widget trnaslate | ||
| + | - moving fids: have to be in plane perpendictular to view ray (show an axis?) | ||
| + | - rotate the view to constrain to surface | ||
| + | - widgets calling render directly too often | ||
| + | - vtk widget designer | ||
| + | - want to see a consistent way to tell if something can be selectged, is selected, what it's manipulating | ||
| + | - wendy do a spec for kitware | ||
| + | - how to tell something is selected | ||
| + | - wiki page | ||
| + | - slicer 3.6 fine tuning + miAnnotation larger scope | ||
| + | - new widgets | ||
| + | - Sudhir from Univ of Pittsburgh, endocopy apps for neurosurgeons, widget can control a cylinder width and length to quantify how much damage done to fibres | ||
| + | - needs the graphics, and the interaction | ||
| + | - use for clipping/volume rendering visib inside/out? | ||
| + | - field of view/cone | ||
| + | - cylinder widget, as it moves, it updates fibre tracking | ||
| + | - see transform widget in Maya | ||
| + | - move along a curve to snap to surface/transition animation | ||
| + | |||
| + | - can put a ruler widget three ways | ||
| + | - create anode and put the ruler in the scene | ||
| + | - two fids and get a ruler | ||
| + | - click, get rubber bandk, click | ||
| + | - if when make the first click, get an overlay to show which click you're on | ||
| + | - can we get a Qt programmable 3d cursor? yes | ||
| + | - need to get at hover? state? application from widget | ||
| + | |||
| + | - miAnnotaion | ||
| + | - overlay annotation like siemens workstation, ie to pick a vtk widget (can do some of it in Qt) | ||
| + | - transition between 2d and 3d | ||
| + | - can do a lot of the 2d stuff in Qt | ||
| + | - what do you want to drive the 3d renderer? | ||
| + | - right click on a widget to get a menu to configure | ||
| + | - decision tree: waht do we want to do? which widget should we use? debug the widget to get it working like we wish | ||
| + | |||
| + | - check that | ||
| + | |||
| + | - vtk widget and qt level mrml nodes that are of annotation types | ||
| + | - architecture evolved | ||
| + | - synch between mrml nodes and manifestations in qt or vtk | ||
| + | - create a Libs/ library that is LibsMRMLRenderManager | ||
| + | - when you have a scene, new nodes are added, of type you're interested in, cases where there's a bulk change to the scene, app level know it's a bulk change (ie new scene), manager will be told that the mrml scene is now null, remove stuff, then given a new scene | ||
| + | - testing need to test on scene close, load | ||
| + | - on scene close, all managers told null scene | ||
| + | - as move to slicer4 arch, how divy up work | ||
| + | - jc doing prototype arch - superclass and slice node | ||
| + | - for 3d box, lettes, there's a node (view node now), have a manager to deal with it | ||
| + | - daniel working with kilian in Penn in July working up then in aug workingin bosotn, daneil and I work on how to do the translation | ||
| + | - alex working with jc on superclass and then on the model | ||
| + | - daniel and I will split up miAnnot and fids and rulers etc. | ||
| + | - libs/mrmllogic, libs/vtkmrml, Libs/DisplayableManager/vtkMRMLAbstractDisplayableManager.h vtkmrmlmodeldisplayablemanager.h | ||
| + | - vtk mrml displayable manager in the lib | ||
| + | - vtk mrml annotations displaybale manager | ||
| + | - renaming, ie vtkslicerslicelogic to vtkmrmlslicelogic? at the slicer4 migration step | ||
| + | - in transition, what ot do with miAnnotation | ||
| + | - steve proposes that htey work on the vtk level, quantify examples, look and feel debugging | ||
| + | - when daniel and I sit down, we work on the port | ||
| + | - reuse the measurements and fids modules or do the annotation rewrite? | ||
| + | - alex can do the ROI manager, but with the annotation roi node | ||
| + | - need mrml backward compatibility | ||
| + | - freeze the fids and measurements and get the miannotation fully functionally | ||
| + | - steve proposes that we change UI to Annotation, agreed | ||
| + | - ifdef on Slicer3_use_qt, try to transfrer to the superclass of the manager | ||
| + | |||
| + | </pre> | ||
===Attendees=== | ===Attendees=== | ||
| − | * Kilian | + | * Kilian Pohl |
| − | * Nicole | + | * Nicole Aucoin |
| − | |||
* Daniel H | * Daniel H | ||
| − | * Wendy | + | * Wendy Plesniak |
* JC | * JC | ||
| − | * Steve | + | * Steve Pieper |
| + | * Sudhir Pathak | ||
Latest revision as of 22:43, 24 June 2010
Home < 2010 Summer Project Week Breakout Session:VTK WidgetBack to Project Week Agenda
Session Leaders: Kilian Pohl, Nicole Aucoin
Agenda
- Fiducials - integration into miAnnotation
- Mouse modes
- hover zone size versus pick zone size
- click to place on rulers and angles as well as being able to turn that off
- Currently used VTK Widgets
- Debugging
- miAnnotation status report
- VTK Widgets being incorporated soon
- surface model vertex inspector (contrained to surface, updating text box)
- Use cases
- miAnnotation status report
- Wish list items
Notes
Notes taken by Nicole, to be cleaned up:
- kitware general questions to the vtk list, special features to JC
- make sure that have a test, baseline etc.
- slicer vtk git copy
- two branches of vtk git, one tracking / cherry picking branches from vtk, one patches that we want to do
- git client for svn only works on master, not branch
- branches for each patch that want to apply
- vtk to git way of thinking: master branch, next branch, maint branch
- changes to widget to support the annotaion project (rubber band lines, click to place, etc), annot project has to drive the changes
- if some missing methods or things not exposed, both namic funded widget development and fixes to current widgets in same repository
- vtk data is in a git repository, need to fork vtkdata
- making basic widgets work versus new widgets wishlist
- fixes can be at vtk level or slicer application
- create pure vtk tests to show issues
- getting widgets to work in 2d and 3d (some only have reps in one of the two)
- 2d handles versus 3d handles (2d are fixed to a plane)
- like to do at vtk level:
- depth sorting of widgets (can't pick the "top" one, picks the first added to the renderer)
- vtk performance esp the vtkseedwidget when have lots of actors
- very specific ways to interact with widgets that are opaque to users
- getting stuck in reformat widget trnaslate
- moving fids: have to be in plane perpendictular to view ray (show an axis?)
- rotate the view to constrain to surface
- widgets calling render directly too often
- vtk widget designer
- want to see a consistent way to tell if something can be selectged, is selected, what it's manipulating
- wendy do a spec for kitware
- how to tell something is selected
- wiki page
- slicer 3.6 fine tuning + miAnnotation larger scope
- new widgets
- Sudhir from Univ of Pittsburgh, endocopy apps for neurosurgeons, widget can control a cylinder width and length to quantify how much damage done to fibres
- needs the graphics, and the interaction
- use for clipping/volume rendering visib inside/out?
- field of view/cone
- cylinder widget, as it moves, it updates fibre tracking
- see transform widget in Maya
- move along a curve to snap to surface/transition animation
- can put a ruler widget three ways
- create anode and put the ruler in the scene
- two fids and get a ruler
- click, get rubber bandk, click
- if when make the first click, get an overlay to show which click you're on
- can we get a Qt programmable 3d cursor? yes
- need to get at hover? state? application from widget
- miAnnotaion
- overlay annotation like siemens workstation, ie to pick a vtk widget (can do some of it in Qt)
- transition between 2d and 3d
- can do a lot of the 2d stuff in Qt
- what do you want to drive the 3d renderer?
- right click on a widget to get a menu to configure
- decision tree: waht do we want to do? which widget should we use? debug the widget to get it working like we wish
- check that
- vtk widget and qt level mrml nodes that are of annotation types
- architecture evolved
- synch between mrml nodes and manifestations in qt or vtk
- create a Libs/ library that is LibsMRMLRenderManager
- when you have a scene, new nodes are added, of type you're interested in, cases where there's a bulk change to the scene, app level know it's a bulk change (ie new scene), manager will be told that the mrml scene is now null, remove stuff, then given a new scene
- testing need to test on scene close, load
- on scene close, all managers told null scene
- as move to slicer4 arch, how divy up work
- jc doing prototype arch - superclass and slice node
- for 3d box, lettes, there's a node (view node now), have a manager to deal with it
- daniel working with kilian in Penn in July working up then in aug workingin bosotn, daneil and I work on how to do the translation
- alex working with jc on superclass and then on the model
- daniel and I will split up miAnnot and fids and rulers etc.
- libs/mrmllogic, libs/vtkmrml, Libs/DisplayableManager/vtkMRMLAbstractDisplayableManager.h vtkmrmlmodeldisplayablemanager.h
- vtk mrml displayable manager in the lib
- vtk mrml annotations displaybale manager
- renaming, ie vtkslicerslicelogic to vtkmrmlslicelogic? at the slicer4 migration step
- in transition, what ot do with miAnnotation
- steve proposes that htey work on the vtk level, quantify examples, look and feel debugging
- when daniel and I sit down, we work on the port
- reuse the measurements and fids modules or do the annotation rewrite?
- alex can do the ROI manager, but with the annotation roi node
- need mrml backward compatibility
- freeze the fids and measurements and get the miannotation fully functionally
- steve proposes that we change UI to Annotation, agreed
- ifdef on Slicer3_use_qt, try to transfrer to the superclass of the manager
Attendees
- Kilian Pohl
- Nicole Aucoin
- Daniel H
- Wendy Plesniak
- JC
- Steve Pieper
- Sudhir Pathak