[IGSTK-Users] Receiving the image from Spatial Object

Luis Ibanez luis.ibanez at kitware.com
Thu May 24 17:46:52 EDT 2007


Hi Ionut,


Thanks for letting us know of your results.
They look great.


1) You could have indeed used the vtkCut filter
    and then follow it with the vtkDelaunay2D filter,
    in order to generate a triangulation of the contour.
    This will work fine as long as the contour is convex.


2) I would encourage you to share this class with the
    community. We could rename it and put it in the
    IGSTK Sandbox. If you found this class useful, it is
    very likely that others will do so too. By sharing the
    code, you will also benefit from improvements that other
    may make to the class.


3) RequestSetImage() in the ImageSpatialObject is declared
    private for safety reasons. The purpose is to ensure that
    *only* image readers can put an image in an ImageSpatialObject.
    That is, ImageReaders are the *only trusted* source of images.

    Remember that the purpose of IGSTK is to provide image
    guidance during a surgery. We don't expect that you are
    going to do Image Segmentation in the middle of a surgery.

    That will be overly optimistic, and border in irresponsible.

    We anticipate that you will perform segmentation as part
    of *planning* the surgery. (e.g. days or at least hours,
    before the actual surgical intervention). You wil save
    those segmentations as images or as meshes, and at the
    time of the surgery you will only *read* those segmentation
    into the scene.


    Why is that your image is not being provided by a Reader ?



  Please let us know,


     Thanks


       Luis



------------------------
ionut iorgovan wrote:
> Hi Luis,
>  
> I implemented this using my idea.The reason I didn't use vtkCut is I 
> dont think I can use vtkCut to display tumors except as contours not as 
> filled polygon.(Can I do that with vtkCut?)
>  
> _http://isiswiki.georgetown.edu/teo/rfacolor.jpg_
> __ 
> But I didn't implemented it as a separated 
> igstkImageContourSpatialObjectRepresentation as you suggested , I just 
> modified the igstkImageSpatialObjectRepresentation :(.(because only is 
> for my own usage)
>  
> My only concern is the RequestSetImage() method from 
> igstkImageSpatialObject require that my application is a friend of that 
> class.I dont understand why this method cannot be accessed directly ?
>  
> Teo
> 
> */Luis Ibanez <luis.ibanez at kitware.com>/* wrote:
> 
> 
>     Hi Teo,
> 
>     Implementing this functionality by redrawing an image
>     is a bit of an overkill. You can do it in a simpler
>     way by using creating a new image representation class
>     and using a vtkContour + a vtkCut filter inside.
> 
> 
>     1) You can implement this functionality as a new type
>     of ImageRepresentation class.
> 
>     2) If you start from the current class:
> 
>     igstkImageSpatialObjectRepresentation.
> 
>     and create a new class, with (for example) name
> 
>     igstkImageContourSpatialObjectRepresentation.
> 
>     3) Inside that new class you remove the
> 
>     vtkImageActor
>     vtkLookupTable
>     vtkImageMapToColors
> 
>     and replace them with a vtkContour filter and
>     a normal vtkActor.
> 
> 
>     4) Then setup a similar pipeline to the one illustrated
>     in the ITK example:
> 
>     InsightApplications/Auxiliary/vtk
>     itkReadITKImage3DSegmentShowVTK.cxx
> 
>     5) The image that you need to pass to the vtkContour filter
>     is the vtkImageData that you get from the VTKImageObserver.
> 
> 
> 
>     The reason behind the apparently complicated way of passing
>     images is that IGSTK does not expose ITK or VTK classes in
>     order to increase the safety of the software applications.
> 
> 
>     The igstkImage class contains internally an ITK image, and
>     using an ITK export + VTK import filter, it reuses the pixel
>     data in order to create a vtkImageData object that you can
>     pass to a VTK pipeline.
> 
> 
> 
>     Please let us know if you find any difficulties implementing
>     the igstkImageContourSpatialObjectRepresentation class.
> 
> 
> 
>     Thanks
> 
> 
> 
>     Luis
> 
> 
> 
> 
>     ------------------------
>     ionut iorgovan wrote:
>      > Hi,
>      >
>      > I want to display the contour of a segmented object in
>     Axial,Sagittal
>      > and Coronal Views using igstk.
>      > I saw there are implemented in IGSTK sandbox some classes that start
>      > with Contour but they suport only mesh representation and also
>     there is
>      > no documentation how to use them, and what goes were.
>      >
>      > Therefore I tried to implement my own classes.
>      > I wanted to display a second transparent slice(above the CT data)
>     that
>      > shows a rasterized contour rather than a 3d object.
>      >
>      > So I wrote my own SpatialObject and SpatialObjectRepresentation.
>      > My workflow goes like this:
>      > 1.Create an empty 3D image(vtk or itk) that has the same
>     dimension like
>      > CTSpatialObject internal image data.
>      > 2.Draw my countours inside this image
>      > 3.Pass the image to my SpatialObject in a similar fashion with
>      > CTImageSpatialObject.
>      >
>      > My problem is the RequestGetITKImage() with afferent event
>      > ITKImageModifiedEvent is not fully implemented so I
>      > used RequestGetVTKImage() instead and then get the
>     dimensions,spacing
>      > from the vtk image and create a new itk image.
>      >
>      > My questions are
>      > 1.How can I display contours in igstk(the book offers no clue on
>     how I
>      > can do this)?
>      > 2.Why the class has a RequestGetITKImage() and no event
>      > ITKImageModifiedEvent?
>      > 3.What is the reason behind this very complicated way of passing
>     image
>      > data between classes?
>      > 4.Is isgtk keeping an internal copy of the 3d data in each class?
>      > 5.How a user is supposed to use correctly an Igstk
>      > component(methods,event,states-look in constructor for allowed
>     requests,
>      > look for allowed events)?
>      >
>      > Teo
>      >
>      >
>     ------------------------------------------------------------------------
>      > Luggage? GPS? Comic books?
>      > Check out fitting gifts for grads
>      >
>      > at Yahoo! Search.
>      >
>      >
>      >
>     ------------------------------------------------------------------------
>      >
>      > _______________________________________________
>      > IGSTK-Users mailing list
>      > IGSTK-Users at public.kitware.com
>      > http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-users
> 
> 
> ------------------------------------------------------------------------
> Get your own web address. 
> <http://us.rd.yahoo.com/evt=49678/*http://smallbusiness.yahoo.com/domains/?p=BESTDEAL>
> Have a HUGE year through Yahoo! Small Business. < 
> http://us.rd.yahoo.com/evt=49678/*http://smallbusiness.yahoo.com/domains/?p=BESTDEAL> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> IGSTK-Users mailing list
> IGSTK-Users at public.kitware.com
> http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-users



More information about the IGSTK-Users mailing list