[prev in list] [next in list] [prev in thread] [next in thread] 

List:       vtkusers
Subject:    [vtkusers] Displaying planes from a volume
From:       "John Wilson" <jpw () creare ! com>
Date:       2001-04-30 18:15:05
Message-ID: 000901c0d1a1$7b73f270$945b50c0 () jpw ! creare ! com
[Download RAW message or body]

In my Tcl program I read in a series of TIFF image slices, create a volume,
and then display three orthogonal cut planes through the data.  Here is a
piece of code that I use to extract a Z slice in the XY plane.  I present 2
different options for extracting the slice:

----------------------------------------

if { 1 } {
      #
	# Option 1: Use a plane source to extract data of interest
      #
    vtkExtractVOI xySection
        xySection SetVOI $x_sliceMin $x_sliceMax $y_sliceMin $y_sliceMax
$z_sliceNumber $z_sliceNumber
        xySection SetInput [reader GetOutput]
    # This vtkTexture provides the color mapping for displaying the data
    vtkTexture xyTexture
        xyTexture SetInput [xySection GetOutput]
        xyTexture InterpolateOn
        xyTexture SetLookupTable bwLut
        xyTexture MapColorScalarsThroughLookupTableOn
    vtkPlaneSource xyPlane
        xyPlane SetXResolution 1
        xyPlane SetYResolution 1
	    xyPlane SetOrigin $x_sliceMin.0 $y_sliceMin.0 $z_sliceNumber.0
        xyPlane SetPoint1 $x_sliceMin.0 $y_sliceMax.0 $z_sliceNumber.0
        xyPlane SetPoint2 $x_sliceMax.0 $y_sliceMin.0 $z_sliceNumber.0
    vtkPolyDataMapper xyMapper
        xyMapper SetInput [xyPlane GetOutput]
        xyMapper ImmediateModeRenderingOn
    vtkActor xyActor
        xyActor SetMapper xyMapper
        xyActor SetTexture xyTexture
} else {
      #
	# Option 2: Use a geometry filter to extract data of interest
      #
	vtkStructuredPointsGeometryFilter xyPlaneData
        xyPlaneData SetInput [reader GetOutput]
	    xyPlaneData SetExtent $x_sliceMin $x_sliceMax $y_sliceMin $y_sliceMax
$z_sliceNumber $z_sliceNumber
    vtkPolyDataMapper xyMapper
        xyMapper SetInput [xyPlaneData GetOutput]
        xyMapper ImmediateModeRenderingOn
    vtkActor xyActor
        xyActor SetMapper xyMapper
}

--------------------------------------------

A couple questions about the 2 different options I use:

1. The data rendered using Option 2 (uses vtkStructuredPointsGeometryFilter)
is rotated 90 degress from that displayed with Option 1 (uses
vtkPlaneSource).  Does anyone know why?

2. Rendering is very speedy using Option 1 (uses vtkPlaneSource ) compared
to Option 2 (uses vtkStructuredPointsGeometryFilter).  Is this because
Option 2 uses ray tracing for rendering the plane?

Thanks -

John



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic