[IGSTK-Developers] Cross Hairs: vtkImagePlaneWidget &vtkImageOrthoPlanes

Luis Ibanez luis.ibanez at kitware.com
Fri Aug 17 12:16:49 EDT 2007


Hi Torleif,

Thanks for taking a look at the VTK image widgets.

1) I agree with you that the Axial, Coronal, Sagittal
    views should not rotate. This shouldn't be a problem
    since, presumably, you will use View2D classes for
    those windows, and therefore the mouse interactions
    for rotation will already be disabled.

2) Currently the vtkImagePlaneWidget always disable the
    cross hair when the left mouse button is released.
    We could derive from this class, overload the method
    StopCursor() and modify it to not call ActivateCursor(0)
    and ActivateText(0).  That should keep the latest
    position of the cross hair in the widget.

3) Regarding the synchronization. We will still need an
    extra class for it. Something along the lines of an
    Observer that listens to the N instances of the planes,
    and dispatch messages to all of them would probably
    do the trick.

4) I'm wondering if this should simply be added as
    a functionality to the current ImageSpatialObject
    Representation class...


    Luis



-------------------------
Torleif Sandnes wrote:
> 
> On Jul 12, 2007, at 4:46 AM, Luis Ibanez wrote:
> 
>>
>> As we discussed during the tcon,
>> it may be useful to look at the following VTK classes:
>>
>>          vtkImagePlaneWidget
>>          vtkImageOrthoPlanes
>>
>>  http://www.vtk.org/doc/nightly/html/classvtkImagePlaneWidget.html
>>  http://www.vtk.org/doc/nightly/html/classvtkImageOrthoPlanes.html
>>
>>
>> in order to gather feedback for the Cross Hairs class.
> 
> 
> Thanks for the pointers.
> I have experimented with vtkImagePlaneWidget and it looks good except  
> for a few things:
> 1. I don't want the user to be able to rotate the plane. the acs view  
> should be entirely 2D
> 2. I want the crosshair indicating position to be present at all times.
> 
> The drawback with vtkImageOrthoPlanes is that it isn't able to  
> synchronize a 3D view in addition to three 2D views.
> 
> I had a look at vtkInria3D as Ziv suggested and the synchronizedviews  
> example. This is exactly what I wanted in my application. I think  
> something like the vtkImageView/2D/3D should be a part of igstk.  While 
> I agree with you that synchronization should occur between  
> representations and not views, I strongly believe that functionality  
> like this in some form is something that will be needed over and over  
> again in IGS applications.
> I guess you get the general idea from the attached screenshot: an  axis 
> indicates position and position is updated in all four views.  position, 
> window level/width slize and zoom can be synchronized.
> 
> What do you think?
> 
> 
> ------------------------------------------------------------------------
> 
> 
> Regards,
> Torleif
> 



More information about the IGSTK-Developers mailing list