]> Creatis software - bbtk.git/blob - packages/demo/bbs/appli/demoViewing1.bbs
d6b4afa79076328535b9fcfcaf9c68609fa039b4
[bbtk.git] / packages / demo / bbs / appli / demoViewing1.bbs
1 description "3 slicers and a 3D view"
2 author "jpr@creatis.insa-lyon.fr"
3 category "demo"
4
5 // To show how easy it is to add smthing
6 // =====================================
7
8 load vtk
9 include wxvtk
10 load std
11 load itk
12 include vtk
13 include wx
14 load itkvtk
15 load gdcmvtk
16
17 include wxvtk/boxes/bbSimpleSlicer
18
19 new LayoutX4 main
20
21 new LayoutLine  upright
22 new LayoutLine  upleft
23 new LayoutLine  downleft
24 new LayoutSplit downright
25    set downright.Proportion 85
26
27 connect upright.Widget   main.Widget1
28 connect upleft.Widget    main.Widget2
29 connect downleft.Widget  main.Widget3
30 connect downright.Widget main.Widget4
31
32 # Here loads 'hola.mhd'
33 # ---------------------
34
35 include vtk/boxes/bbLoadHola
36 new LoadHola reader
37
38 # Have a look at exampleViewing1.1.bbs
39 # If you want to know how to read different images.
40
41 // We need that to set Sliders sizes
42
43 #Get image dimensions, ...
44 new ImageProperties mc
45    connect reader.Out mc.In
46
47 #Get number of column (X)
48 new GetVectorIntElement gveX
49    connect mc.Size gveX.In
50    set gveX.I 0
51
52 #Get number of rows (Y)
53 new GetVectorIntElement gveY
54    connect mc.Size gveY.In
55    set gveY.I 1
56
57 #Get number of planes  (Z)
58 new GetVectorIntElement gveZ
59    connect mc.Size gveZ.In
60    set gveZ.I 2
61 //print "Dim Z $gveZ.Out"
62
63 #Compute the number of the 'middle' slice on X axis
64 new Div div0
65   connect   gveX.Out div0.In1
66   set div0.In2 2
67
68 #Compute the number of the 'middle' slice on Y axis
69 new Div div1
70   connect   gveY.Out div1.In1
71   set div1.In2 2
72
73 #Compute the number of the 'middle' slice on Z axis
74 new Div div2
75   connect   gveZ.Out div2.In1
76   set div2.In2 2
77
78 // For X axis
79 new SimpleSlicer viewerUL
80   connect reader.Out viewerUL.In
81   connect viewerUL.Widget upleft.Widget1
82   #initial slice is the middle one
83   connect div0.Out viewerUL.Slice
84   #Slider size is the number of planes
85   connect  gveX.Out viewerUL.SliderSize
86   set viewerUL.SliderReactiveOnTrack 1
87   set viewerUL.Orientation 0
88   set viewerUL.SliderOrientation H
89   set viewerUL.SliderTitle "Planes YZ"
90
91 // For Y axis
92 new SimpleSlicer viewerUR
93   connect reader.Out viewerUR.In
94   connect viewerUR.Widget upright.Widget1
95   #initial slice is the middle one
96   connect div1.Out viewerUR.Slice
97   #Slider size is the number of planes
98   connect  gveY.Out viewerUR.SliderSize
99   set viewerUR.SliderReactiveOnTrack 1
100   set viewerUR.SliderOrientation H
101   set viewerUR.Orientation 1
102   set viewerUR.SliderTitle "Planes XZ"
103
104 // For Z axis
105 new SimpleSlicer viewerTD
106   connect reader.Out viewerTD.In
107   connect viewerTD.Widget downleft.Widget1
108   #initial slice is the middle one
109   connect div2.Out viewerTD.Slice
110   #Slider size is the number of planes
111   connect  gveZ.Out viewerTD.SliderSize
112   set viewerTD.SliderReactiveOnTrack 1
113   set viewerTD.SliderOrientation H
114   set viewerTD.Orientation 2
115   set viewerTD.SliderTitle "Planes XY"
116
117 //For 3D Viewer
118
119 new ImagePlanes planes
120   connect reader.Out planes.In
121
122 new Viewer3D viewer
123   connect planes.PlaneX viewer.Obs1
124   connect planes.PlaneY viewer.Obs2
125   connect planes.PlaneZ viewer.Obs3
126
127 new CheckBox   chkbox
128   set chkbox.Title "Interpolate Pixels (in '2D' images)"
129   set chkbox.In 1
130   connect chkbox.BoxChange   viewerUL.BoxExecute
131   connect chkbox.BoxChange   viewerUR.BoxExecute
132   connect chkbox.BoxChange   viewerTD.BoxExecute
133
134   connect viewer.Widget downright.Widget1
135   connect chkbox.Widget downright.Widget2
136
137   connect chkbox.Out viewerUL.Interpolate
138   connect chkbox.Out viewerUR.Interpolate
139   connect chkbox.Out viewerTD.Interpolate
140
141 set main.WinTitle "demoViewing1"
142 exec main
143 exec viewerTD