[vtkusers] image masking pb
    dean.inglis at camris.ca 
    dean.inglis at camris.ca
       
    Mon Dec 15 23:26:36 EST 2003
    
    
  
Hi David,
I tried vtkImplicitSelectionLoop in a tcl/tk
tester pipeline:
vtkPolyData spoly
vtkPoints spoints
vtkImplicitSelectionLoop loop
  loop SetLoop spoints
  loop SetNormal 1 0 0
  loop AutomaticNormalGenerationOn  
vtkImplicitFunctionToImageStencil if2is
  if2is SetInput loop
vtkImageStencil stencil
    stencil SetInput [extract GetOutput]
    stencil SetStencil [if2is GetOutput] 
    stencil ReverseStencilOn
    stencil SetBackgroundValue 128
    stencil ReleaseDataFlagOff 
which gets passed onto a vtkImageActor when
the points making up the loop are defined by a 
closed splinewidget.  The stencil works once and
either it or the vtkImageActor refuses to update
when the points change (their number is the same
but their positions change).  
What seems to work faster and does update with 
changed point positions is this pipeline:
vtkPolyData spoly
vtkLinearExtrusionFilter extrude
  extrude SetInput spoly
  extrude SetScaleFactor 1 
  extrude SetExtrusionTypeToNormalExtrusion 
  extrude SetVector 1 0 0 
vtkPolyDataToImageStencil dataToStencil
dataToStencil SetInput [extrude GetOutput]
vtkImageStencil stencil
stencil SetInput [extract GetOutput]
stencil SetStencil [dataToStencil GetOutput]
stencil ReverseStencilOff
stencil SetBackgroundValue 128
Any idea why the first pipeline refuses to
update?
thanks for your help,
Dean
> 
> The vtkImplicitSelectionLoop works good for this, but it there isn't
> any filter to convert a vtkPolyData into a SelectionLoop, you have to
> do it by hand.
> 
> Once you have a vtkImplicitSelectionLoop, you can convert it into a
> "stencil" with the vtkImplicitFunctionToImageStencil filter.  A "stencil"
> is essentially a masked region that has been compressed into run-lengths,
> a few of the image filters take a stencil as an additional input.
> 
> There is also a vtkPolyDataToImageStencil filter, but it is meant for
> closed polyhedral surfaces, not for closed 2D polygons.
> 
>  - David
    
    
More information about the vtkusers
mailing list