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