File: TestSeparableFilter.tcl

package info (click to toggle)
paraview 3.2.2-1
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 124,600 kB
  • ctags: 133,728
  • sloc: cpp: 958,817; ansic: 509,658; tcl: 45,787; xml: 23,401; python: 19,574; perl: 3,112; yacc: 1,787; java: 1,517; sh: 665; asm: 471; lex: 400; makefile: 168; objc: 28
file content (42 lines) | stat: -rw-r--r-- 975 bytes parent folder | download | duplicates (20)
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
package require vtk

# Image pipeline

vtkPNGReader reader
reader SetFileName "$VTK_DATA_ROOT/Data/fullhead15.png"

# Take the gradient in X, and smooth in Y

# Create a simple gradient filter
vtkFloatArray kernel
kernel SetNumberOfTuples 3
kernel InsertValue 0 -1
kernel InsertValue 1  0
kernel InsertValue 2  1

# Create a gaussian for Y
set sigma 1.5
set sigma2 [expr $sigma * $sigma]
vtkFloatArray gaussian
gaussian SetNumberOfTuples 31
for { set i 0 } { $i < 31 } { incr i } {
  set x [expr $i - 15]
  set g [expr exp ( - ( $x * $x ) / (2.0 * $sigma2) ) / ( sqrt ( 2.0 * 3.1415 ) * $sigma ) ]
  gaussian InsertValue $i $g
}

vtkImageSeparableConvolution convolve
convolve SetInputConnection [reader GetOutputPort]
convolve SetDimensionality 2
convolve SetXKernel kernel
convolve SetYKernel gaussian

vtkImageViewer viewer
#viewer DebugOn
viewer SetInputConnection [convolve GetOutputPort]
viewer SetColorWindow 500
viewer SetColorLevel 100

wm withdraw .

viewer Render