[vtkusers] vtkVolume - Is there a way to use clipping planes on it?

Sean McInerney seanm at nmr.mgh.harvard.edu
Thu Nov 18 15:50:03 EST 2004


Hi Ramzy,

   I suggest also trying vtkVolumeRayCastIsosurfaceFunction with a 
vtkVolumeRaycastMapper to interactively explore the surface at various 
isovalues. However, I think that you may have to be more clever than the 
facilities of vtkVolume and vtkVolumeMapper allow ... clipping planes 
ain't gonna cut it if all you want is brain.

   Make sure that you are using anatomical MR data. fMRI data is going 
to look like mush unless you perform statistics through a time series of 
images. Luckily, you get great signal from soft tissue with MR and 
almost none from bone or areas where there is an air-tissue interface. 
Unfortunately, areas outside of the brain can have signal values similar 
to those within the brain. You'll have to do some filtering prior to 
display or get *very* clever by developing your own skull stripping 
algorithm. Probably the easiest approach is to use vtkContourFilter to 
get a PolyData surface that includes the region of interest (ROI). Next 
use vtkPolyDataConnectivityFilter to extract only the surface(s) 
containing the ROI. I you're lucky, the above mentioned lack of bone 
signal, combined with the fact that the brain is encased in bone, should 
leave you with with a separate surface corresponding to the brain. 
Additionally, you could manually segment or mask the image data prior to 
contouring to obtain a more refined result.

Good luck!

-Sean

Ramzy Darwish wrote:
> Hello All,
> I have been using VTK in school for a little more than a year now, and I am having some problems.
> 
> Don't worry, I am not asking anyone to do my homework.
> 
> I am doing an independent study continuing some work with medical volume rendering using the bruce gooch data set: http://www.cs.utah.edu/~bgooch/BruceBrain.html 
> 
> 
> Now, the data file he gives out is a simple list of densities.
> I was not allowed to use any vtkReaders, so I loaded the data in by hand, swapping byte-order and all that good stuff.
> 
> So I got a rendering of the head, but because I had no other information other than density, I was only able to somewhat get the brain isolated was by using the vtkVolume object with texture mapping.
> 
> This produced some nice (although not greatly useful) images, but I have always wanted to get the brain by itself.
> 
> I tried using the vtkContourFilter, which didn't seem to want to work right. Instead of leaving values all through the head in my ranges, it left sections of the entire head (i.e. I would get from the neck/chin to the nose instead of the whole head with only say, the skin removed).
> 
> I tried using a combination of vtkClipPolyData with scalar values and implicit planes, but this didn't work because after cutting, the resulting geometry would be full of holes. I think I was using it wrong.
> 
> So I went back to the drawing board and I have decided to look at the densities in the file and ignore those outside of the brain wherever possible. So now I have a range of values within to use, but I still have some extraneous (sp) pieces laying about that I might be able to remove, but I can't figure out how. Is there a way to remove chunks out of a volume? Not by scalar though. I could use a sphere or other builtin implicit function if necessary, but it seems that the other methods of doing stuff like this are not set up to work with vtkVolume's (as they are derived from vtkProp).
> 
> Can anyone point me in the direction of some more objects that I can use to interact with or modify vtkVolume objects?
> 
> Sorry this was so long, this is my first post here.
> 
> thanks,
> ramzy
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> This is the private VTK discussion list. 
> Please keep messages on-topic. Check the FAQ at: <http://www.vtk.org/Wiki/VTK_FAQ>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers



More information about the vtkusers mailing list