[vtk-developers] ARB - feature addition
Will Schroeder
will.schroeder at kitware.com
Sat Dec 6 13:02:24 EST 2003
Hi Dean-
I am very interested in following your progress. These widgets all sound
pretty nifty. It's hard to make a real judgement without actually running
them, i.e., the details of the interaction are very important and can only
be evaluated with experience. I'd suggest that you wait 'till Ken's done
with his float->double conversion and then alter your widgets accordingly.
Then check them in one or two at a time and have somebody look at them
(I'll volunteer anyone else?) and provide feedback. We can iterate, get the
first batch solid, and then move on to the next widget.
I didn't quite understand what you were proposing in the sense of having a
class in between vtk3DWidget and these new classes. I'm wondering instead
how about a vtkImageWidget or vtk2DWidget abstract superclass. Could you
explain what these new widgets have in common and what features they need
from vtk3DWidget?
A couple quick notes on your API for the ImageTraceWidget:
+ GetPolyData returns the path. Why not GetPath ?
+ You are using vtkGlyph2D to generate the glyphs. Why not generalize the
class further and allow the user to set any polydata? By default you could
depend on Glyph2D but still open it up for other choices.
Will
At 11:14 AM 11/21/2003, you wrote:
>Hi,
>
>this is not a major architectural dilemma.
>I've been tinkering for some time now on a
>widget for tracing on 2D images, got it
>up and running, and am happy to add it to
>the VTK/Hybrid widget collection. Enclosed
>is the .h file so you can have peek at the
>methods. What is potentially more interesting
>is that instead of 3D spherical handles,
>this widget uses vtkGlyphSource2D to generate
>the handle geometry, giving the users flexibility
>in customizing the widget's appearance. I have
>also created a variant of vtkSplineWidget that
>uses the same handle generation approach...So,
>one could use these two widgets in concert:
>a) define a traced line either continuously or by
>discrete snap lines by point clicking
>b) toggle between the two widgets and set the tracer
>data to the spline so that one could have a smoothed
>spline fit to the trace.
>
>There are a few other widgets I have either in development
>or already to go geared to the image processing field
>based on some of the same common elements (2D handles etc.)
>
>vtkImageROIWidget - a rotatable 2D rectangular region of interest
>vtkImageWindowLevelWidget - 2D rectangle with histogram and
>linear or spline transfer function generator tied to a vtkLookupTable
>vtkVolumeTransferFunctionWidget - similar to above but more like
>what you would see at http: //www . cs. utah . edu/~jmk/simian/
>vtkImageSplineWidget - geared to 2D ortho image planes
>vtkImageTracerWidget - can also be used for placing and moving landmarks
>on images
>
>So perhaps there should be a superclass somewhere between
>vtk3DWidget and the above.
>
>your thoughts anyone? Shall I commit vtkImageTracerWidget?
>
>Dean
>
>
>// .NAME vtkImageTracerWidget - 3D widget for tracing a free-hand/snap line.
>// .SECTION Description
>// vtkImageTracerWidget works by firing picks at the input prop. This
>// widget is particulary useful for manually tracing on image data. When
>// the widget is tied to a plane source, the intersection between the
>widget's
>// picked spherical handle and the plane generates a visible ring for
>enhanced
>// viewing.
More information about the vtk-developers
mailing list