]> Creatis software - bbtk.git/blob - packages/demo/bbs/appli/demoViewing1.bbs
Input Proportion works !!!
[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 load wxvtk
8 include wx
9 load vtk
10 load std
11 load itkvtk
12 load itk
13 include wxvtk/boxes/bbSimpleSlicer
14
15 new LayoutX4 main
16 new LayoutLine upright
17 new LayoutLine upleft
18 new LayoutLine down
19
20 connect upright.Widget main.Widget1
21 connect upleft.Widget main.Widget2
22 connect down.Widget main.Widget3
23
24 # Here loads hola.mhd
25 include vtk/boxes/bbLoadHola
26 new LoadHola reader
27 # uncomment next lines to have a file selector
28 #new FileSelector openFileDialog
29 #new ImageReader reader
30 #    connect openFileDialog.Out reader.In
31  
32    
33 #Get image dimensions, ...
34 new ImageProperties mc
35    connect reader.Out mc.In
36
37 #Get number of column (X)
38 new GetVectorIntElement gveX
39    connect mc.Size gveX.In
40    set gveX.I 0
41    
42 #Get number of rows (Y)
43 new GetVectorIntElement gveY
44    connect mc.Size gveY.In
45    set gveY.I 1
46         
47 #Get number of planes  (Z)
48 new GetVectorIntElement gveZ
49    connect mc.Size gveZ.In
50    set gveZ.I 2
51
52 #Compute the number of the 'middle' slice on X axis
53 new Div div0
54   connect   gveX.Out div0.In1
55   set div0.In2 2    
56
57 #Compute the number of the 'middle' slice on Y axis
58 new Div div1
59   connect   gveY.Out div1.In1
60   set div1.In2 2  
61
62 #Compute the number of the 'middle' slice on Z axis
63 new Div div2
64   connect   gveZ.Out div2.In1
65   set div2.In2 2 
66   
67   
68 // For X axis
69 new SimpleSlicer viewerUL
70   connect reader.Out viewerUL.In
71   connect viewerUL.Widget upleft.Widget1
72   #initial slice is the middle one
73   connect div0.Out viewerUL.Slice
74   #Slider size is the number of planes
75   connect  gveX.Out viewerUL.SliderSize
76   set viewerUL.SliderReactiveOnTrack 1
77   set viewerUL.Orientation 0
78   set viewerUL.SliderOrientation H
79   set viewerUL.SliderTitle "Planes YZ"  
80
81
82 // For Y axis
83 new SimpleSlicer viewerUR
84   connect reader.Out viewerUR.In
85   connect viewerUR.Widget upright.Widget1
86   #initial slice is the middle one
87   connect div1.Out viewerUR.Slice
88   #Slider size is the number of planes
89   connect  gveY.Out viewerUR.SliderSize
90   set viewerUR.SliderReactiveOnTrack 1
91   set viewerUR.SliderOrientation H
92   set viewerUR.Orientation 1
93   set viewerUR.SliderTitle "Planes XZ" 
94   
95 // For Z axis
96 new SimpleSlicer viewerTD
97   connect reader.Out viewerTD.In
98   connect viewerTD.Widget down.Widget1
99   #initial slice is the middle one
100   connect div2.Out viewerTD.Slice
101   #Slider size is the number of planes
102   connect  gveZ.Out viewerTD.SliderSize
103   set viewerTD.SliderReactiveOnTrack 1
104   set viewerTD.SliderOrientation H
105   set viewerTD.Orientation 2
106   set viewerTD.SliderTitle "Planes XY"
107
108 //For 3D Viewer
109
110 new ImagePlanes planes
111    connect reader.Out planes.In
112    
113 new Viewer3D viewer
114    connect planes.PlaneX viewer.Obs1
115    connect planes.PlaneY viewer.Obs2
116    connect planes.PlaneZ viewer.Obs3
117
118    connect viewer.Widget main.Widget4
119        
120 set main.WinTitle "demoViewing1"
121 exec main
122 exec viewerTD
123
124