1package require vtk
2
3# This script is for testing the 3D threshold filter.
4
5# Image pipeline
6
7vtkRenderWindow imgWin
8  imgWin SetSize 192 256
9
10vtkImageReader reader
11  reader ReleaseDataFlagOff
12  reader SetDataByteOrderToLittleEndian
13  reader SetDataExtent 0 63 0 63 1 93
14  reader SetDataSpacing 3.2 3.2 1.5
15  reader SetFilePrefix "$VTK_DATA_ROOT/Data/headsq/quarter"
16  reader SetDataMask 0x7fff
17
18set outputtype(1) SetOutputScalarTypeToSignedChar
19set outputtype(2) SetOutputScalarTypeToUnsignedChar
20set outputtype(3) SetOutputScalarTypeToLong
21set outputtype(4) SetOutputScalarTypeToUnsignedLong
22set outputtype(5) SetOutputScalarTypeToInt
23set outputtype(6) SetOutputScalarTypeToUnsignedInt
24set outputtype(7) SetOutputScalarTypeToShort
25set outputtype(8) SetOutputScalarTypeToUnsignedShort
26set outputtype(9) SetOutputScalarTypeToDouble
27set outputtype(10) SetOutputScalarTypeToFloat
28set outputtype(11) SetOutputScalarTypeToDouble
29set outputtype(12) SetOutputScalarTypeToFloat
30
31set replacein "ReplaceInOn ReplaceInOff"
32set replaceout "ReplaceOutOn ReplaceOutOff"
33set thresholds [list "ThresholdByLower 800" "ThresholdByUpper 1200" "ThresholdBetween 800 1200"]
34set k 1
35foreach rin $replacein {
36  foreach rout $replaceout {
37    foreach t $thresholds {
38      vtkImageThreshold thresh$k
39        thresh$k SetInValue 2000
40        thresh$k SetOutValue 0
41        thresh$k $rin
42        thresh$k $rout
43        thresh$k SetInputConnection [reader GetOutputPort]
44        eval thresh$k $t
45        thresh$k $outputtype($k)
46      vtkImageMapper map$k
47        map$k SetInputConnection [thresh$k GetOutputPort]
48        if {$k < 3} {
49          map$k SetColorWindow 255
50          map$k SetColorLevel 127.5
51         } else {
52           map$k SetColorWindow 2000
53           map$k SetColorLevel 1000
54         }
55      vtkActor2D act$k
56        act$k SetMapper map$k
57      vtkRenderer ren$k
58        ren$k AddActor2D act$k
59      imgWin AddRenderer ren$k
60      incr k
61      }
62  }
63}
64ren1 SetViewport   0       0   .33333  .25
65ren2 SetViewport  .33333   0   .66667  .25
66ren3 SetViewport  .66667   0   1       .25
67ren4 SetViewport   0       .25   .33333  .5
68ren5 SetViewport  .33333   .25   .66667  .5
69ren6 SetViewport  .66667   .25    1      .5
70ren7 SetViewport   0       .5   .33333  .75
71ren8 SetViewport  .33333   .5   .66667  .75
72ren9 SetViewport  .66667   .5    1      .75
73ren10 SetViewport   0       .75   .33333  1
74ren11 SetViewport  .33333   .75   .66667  1
75ren12 SetViewport  .66667   .75    1      1
76
77imgWin Render
78