File: TestSeparableFilter.tcl

package info (click to toggle)
vtk 5.0.2-4
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 51,080 kB
  • ctags: 67,442
  • sloc: cpp: 522,627; ansic: 221,292; tcl: 43,377; python: 14,072; perl: 3,102; java: 1,436; yacc: 1,033; sh: 469; lex: 248; makefile: 181; asm: 154
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