1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
package require vtk
# A script to test the stencil filter.
# removes all but a sphere.
vtkPNGReader reader
reader SetDataSpacing 0.8 0.8 1.5
reader SetDataOrigin 0.0 0.0 0.0
reader SetFileName "$VTK_DATA_ROOT/Data/fullhead15.png"
reader Update
vtkSphere sphere
sphere SetCenter 128 128 0
sphere SetRadius 80
vtkImplicitFunctionToImageStencil functionToStencil
functionToStencil SetInput sphere
functionToStencil SetInformationInput [reader GetOutput]
functionToStencil Update
# test making a copying of the stencil (for coverage)
set stencilOriginal [functionToStencil GetOutput]
set stencilCopy [$stencilOriginal NewInstance]
$stencilCopy DeepCopy [functionToStencil GetOutput]
vtkImageShiftScale shiftScale
shiftScale SetInputConnection [reader GetOutputPort]
shiftScale SetScale 0.2
shiftScale Update
vtkImageStencil stencil
stencil SetInputConnection [reader GetOutputPort]
stencil SetBackgroundInputData [shiftScale GetOutput]
stencil SetStencilData $stencilCopy
$stencilCopy UnRegister stencil
vtkImageViewer viewer
viewer SetInputConnection [stencil GetOutputPort]
viewer SetZSlice 0
viewer SetColorWindow 2000
viewer SetColorLevel 1000
viewer Render
|