New vtkVolumeTextureMapper2D class behaviour

Jorrit Schaap jorrit at lkeb.azl.nl
Fri Sep 24 04:26:28 EDT 1999


Hi , I'll try to clearify it with this drawing.

z axis
|
|
|----------------------------------
|                   /\ thickness of slice
|-------------|-------------------- z -position of the plane with texture
|                   \/
|----------------------------------
|
|
|________________________________________ x axis


suppose you have a vtkStructuredPoints with N slices, and a spacing (in the z
direction) of 10.
I would place every plane (with texture) at n*10 with n = 0 .. N-1. Every plane
would get a thickness of 10, so the first plane (with a thickness) would occupy
the z space from -5 to +5, the second from 5 to 15 etc... up until (N-0.5)*10 So
at both ends of the volume it would 'stick out half a slice thickness' instead of
at one end a whole slice thickness.

How would you treat data with overlaping slices? In medical datasets (especially
CT) it is common to have slices that overlap. In MRI it is common to have a slight
gap between the slices... I'm sorry, i know it is very tough to handle these
problems.

by the way, my compliments for this new class. If it is combined with the new
vtkLODProp3D it works great. Thanks a lot.

Jorrit

Lisa Sobierajski Avila wrote:

> Hello Jorrit,
>
> I didn't see your attached image....
>
> Let me see if I understand what you are suggesting - if we have a dataset
> that has 10 sample along the Z axis, and a spacing of 1.0, you would like
> the z dimension of that dataset to be 10 units, not 9 as it currently is,
> with the first z plane being 1/2 unit from the z origin. This would not
> match the way we treat vtkImageData (or vtkStructuredPoints) in VTK - since
> we consider that first sample to be at the origin. Of course, with a
> nearest neighbor sampling (which is essentially what you get along the
> major axis with a 2D texture mapping technique) it means the first and last
> planes of data either represent half as much 3D space as the other planes,
> or that the extent of the data goes beyond the bounds of the data. Also,
> this changes based on the interpolation strategy. Maybe the best thing to
> do is to space the planes at the centers of the 10 boxes that are places in
> the 9 units of length - the first one then starting 9/20 of a unit in, with
> each plane separated by 9/10 units. Any other comments?
>
> One other thing to note is that the selection of major direction is not
> implemented correctly yet - I have not figured out what the best strategy
> is for this. Perspective definitely complicated the issue, but even with
> orthographic projections there is the issue of the aspect of the data set,
> where it is in the view box (or view frustum in perspective), how it is
> being cropped and clipped, etc. For most datasets the current simple
> strategy will work, but sometimes you can really see those 2D planes (and
> wish they were going another way!) with thin slab rendering.
>
> Lisa
>
> At 05:45 PM 9/23/99 +0200, Jorrit Schaap wrote:
> >Hi,
> >
> >I have tried the new vtkVolumeTextureMapper2D class, and it works great
> >(on an SGI 320 ;-) ). I noticed one thing though: It appears that the
> >volume is 'sliced' and rendered with textures, and that the position of
> >the planes (slices) has an offset in the z-direction of one spacing
> >unit.
> >
> >In medical imaging it is custom to position the planes at half a spacing
> >unit, and give it a thickness of one spacing unit.
> >
> >I attached an image to clarify my point.
> >
> >Did anyone else notice this, and has some opinios about this?
> >
> >Greetings,
> >Jorrit Schaap.
> >
> >
> >
> >
> >-----------------------------------------------------------------------------
> >This is the private VTK discussion list.  Please keep messages on-topic.
> >Check the FAQ at: <http://www.automatrix.com/cgi-bin/vtkfaq>
> >To UNSUBSCRIBE, send message body containing "unsubscribe vtkusers" to
> ><majordomo at gsao.med.ge.com>.  For help, send message body containing
> >"info vtkusers" to the same address.     Live long and prosper.
> >-----------------------------------------------------------------------------
>
> -----------------------------------------------------------------------------
> This is the private VTK discussion list.  Please keep messages on-topic.
> Check the FAQ at: <http://www.automatrix.com/cgi-bin/vtkfaq>
> To UNSUBSCRIBE, send message body containing "unsubscribe vtkusers" to
> <majordomo at gsao.med.ge.com>.  For help, send message body containing
> "info vtkusers" to the same address.     Live long and prosper.
> -----------------------------------------------------------------------------



-----------------------------------------------------------------------------
This is the private VTK discussion list.  Please keep messages on-topic.
Check the FAQ at: <http://www.automatrix.com/cgi-bin/vtkfaq>
To UNSUBSCRIBE, send message body containing "unsubscribe vtkusers" to
<majordomo at gsao.med.ge.com>.  For help, send message body containing
"info vtkusers" to the same address.     Live long and prosper.
-----------------------------------------------------------------------------





More information about the vtkusers mailing list