]> Creatis software - bbtk.git/blob - packages/demo/bbs/appli/demo3Viewers2D1Viewer3D.bbs
demo
[bbtk.git] / packages / demo / bbs / appli / demo3Viewers2D1Viewer3D.bbs
1 description "Little Demo of the box <a href=#Viewer2D>Viewer2D</a>."
2 author "info-dev@creatis.insa-lyon.fr"
3 category "demo"
4
5 #Should probabely moved to 'Applications'
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 new FileSelector openFileDialog
25     
26 new ImageReader reader
27     connect openFileDialog.Out reader.In
28     
29 #Get image dimensions, ...
30 new ImageProperties mc
31    connect reader.Out mc.In
32
33 #Get number of column (X)
34 new GetVectorIntElement gveX
35    connect mc.Size gveX.In
36    set gveX.I 0
37    
38 #Get number of rows (Y)
39 new GetVectorIntElement gveY
40    connect mc.Size gveY.In
41    set gveY.I 1
42         
43 #Get number of planes  (Z)
44 new GetVectorIntElement gveZ
45    connect mc.Size gveZ.In
46    set gveZ.I 2
47
48 #Compute the number of the 'middle' slice on X axis
49 new Div div0
50   connect   gveX.Out div0.In1
51   set div0.In2 2    
52
53 #Compute the number of the 'middle' slice on Y axis
54 new Div div1
55   connect   gveY.Out div1.In1
56   set div1.In2 2  
57
58 #Compute the number of the 'middle' slice on Z axis
59 new Div div2
60   connect   gveZ.Out div2.In1
61   set div2.In2 2 
62   
63   
64 // For X axis
65 new SimpleSlicer viewerUL
66   connect reader.Out viewerUL.In
67   connect viewerUL.Widget upleft.Widget1
68   #initial slice is the middle one
69   connect div0.Out viewerUL.Slice
70   #Slider size is the number of planes
71   connect  gveX.Out viewerUL.SliderSize
72   set viewerUL.SliderReactiveOnTrack 1
73   set viewerUL.Orientation 0
74   set viewerUL.SliderOrientation H
75   set viewerUL.SliderTitle "Planes YZ"  
76
77
78 // For Y axis
79 new SimpleSlicer viewerUR
80   connect reader.Out viewerUR.In
81   connect viewerUR.Widget upright.Widget1
82   #initial slice is the middle one
83   connect div1.Out viewerUR.Slice
84   #Slider size is the number of planes
85   connect  gveY.Out viewerUR.SliderSize
86   set viewerUR.SliderReactiveOnTrack 1
87   set viewerUR.SliderOrientation H
88   set viewerUR.Orientation 1
89   set viewerUR.SliderTitle "Planes XZ" 
90   
91 // For Z axis
92 new SimpleSlicer viewerTD
93   connect reader.Out viewerTD.In
94   connect viewerTD.Widget down.Widget1
95   #initial slice is the middle one
96   connect div2.Out viewerTD.Slice
97   #Slider size is the number of planes
98   connect  gveZ.Out viewerTD.SliderSize
99   set viewerTD.SliderReactiveOnTrack 1
100   set viewerTD.SliderOrientation H
101   set viewerTD.Orientation 2
102   set viewerTD.SliderTitle "Planes XY"
103
104 //For 3D Viewer
105
106 new ImagePlanes planes
107    connect reader.Out planes.In
108    
109 new Viewer3D viewer
110    connect planes.PlaneX viewer.Obs1
111    connect planes.PlaneY viewer.Obs2
112    connect planes.PlaneZ viewer.Obs3
113
114    connect viewer.Widget main.Widget4
115        
116 exec main
117 exec viewerTD
118
119