]> Creatis software - bbtk.git/blob - packages/demo/bbs/appli/demoViewing1.bbs
Comments
[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
16 include wxvtk/boxes/bbSimpleSlicer
17
18 new LayoutX4 main
19 new LayoutLine upright
20 new LayoutLine upleft
21 new LayoutLine downleft
22
23 connect upright.Widget  main.Widget1
24 connect upleft.Widget   main.Widget2
25 connect downleft.Widget main.Widget3
26
27 # Here loads hola.mhd
28 # -------------------
29 include vtk/boxes/bbLoadHola
30 new LoadHola reader
31
32 # uncomment next lines to have a file selector
33 # --------------------------------------------
34 /*
35 new FileSelector openFileDialog
36 new ImageReader reader
37     connect openFileDialog.Out reader.In
38 */
39
40 # uncomment next lines to use Gimmick
41 # -----------------------------------
42 /*
43 load creaImageIO
44 new Gimmick reader
45 */
46
47 # uncomment next lines to Read a MHD file (and nothing else !)
48 # ------------------------------------------------------------
49 /*
50 new FileSelector openFileDialog
51 new MetaImageReader reader
52    connect openFileDialog.Out reader.In
53 */
54
55 # uncomment the following lines to read a 3D images stack
56 # (only if file name order is meaningfull)
57 # -------------------------------------------------------
58 /*
59 // To choose the directory
60 new DirectorySelector ds
61 // To get the image names into a vector
62 new FilesFromDirectory fd
63 // To read all the files, as a bbitk::ImagePointer
64 new ImageSeriesReader reader
65 // user choosen directory as input
66 connect ds.Out fd.In
67 set fd.Recursive false
68 // list of files as imput
69 #print "Files found in $ds.Out$\n
70 connect fd.Out  reader.FileNames
71 */
72
73
74 // We need that to set Sliders sizes
75
76 #Get image dimensions, ...
77 new ImageProperties mc
78    connect reader.Out mc.In
79
80 #print "Image properties : $reader.Out"
81
82 #Get number of column (X)
83 new GetVectorIntElement gveX
84    connect mc.Size gveX.In
85    set gveX.I 0
86
87 #Get number of rows (Y)
88 new GetVectorIntElement gveY
89    connect mc.Size gveY.In
90    set gveY.I 1
91
92 #Get number of planes  (Z)
93 new GetVectorIntElement gveZ
94    connect mc.Size gveZ.In
95    set gveZ.I 2
96
97 #Compute the number of the 'middle' slice on X axis
98 new Div div0
99   connect   gveX.Out div0.In1
100   set div0.In2 2
101
102 #Compute the number of the 'middle' slice on Y axis
103 new Div div1
104   connect   gveY.Out div1.In1
105   set div1.In2 2
106
107 #Compute the number of the 'middle' slice on Z axis
108 new Div div2
109   connect   gveZ.Out div2.In1
110   set div2.In2 2
111
112
113 // For X axis
114 new SimpleSlicer viewerUL
115   connect reader.Out viewerUL.In
116   connect viewerUL.Widget upleft.Widget1
117   #initial slice is the middle one
118   connect div0.Out viewerUL.Slice
119   #Slider size is the number of planes
120   connect  gveX.Out viewerUL.SliderSize
121   set viewerUL.SliderReactiveOnTrack 1
122   set viewerUL.Orientation 0
123   set viewerUL.SliderOrientation H
124   set viewerUL.SliderTitle "Planes YZ"
125
126 // For Y axis
127 new SimpleSlicer viewerUR
128   connect reader.Out viewerUR.In
129   connect viewerUR.Widget upright.Widget1
130   #initial slice is the middle one
131   connect div1.Out viewerUR.Slice
132   #Slider size is the number of planes
133   connect  gveY.Out viewerUR.SliderSize
134   set viewerUR.SliderReactiveOnTrack 1
135   set viewerUR.SliderOrientation H
136   set viewerUR.Orientation 1
137   set viewerUR.SliderTitle "Planes XZ"
138
139 // For Z axis
140 new SimpleSlicer viewerTD
141   connect reader.Out viewerTD.In
142   connect viewerTD.Widget downleft.Widget1
143   #initial slice is the middle one
144   connect div2.Out viewerTD.Slice
145   #Slider size is the number of planes
146   connect  gveZ.Out viewerTD.SliderSize
147   set viewerTD.SliderReactiveOnTrack 1
148   set viewerTD.SliderOrientation H
149   set viewerTD.Orientation 2
150   set viewerTD.SliderTitle "Planes XY"
151
152 //For 3D Viewer
153
154 new ImagePlanes planes
155    connect reader.Out planes.In
156
157 new Viewer3D viewer
158    connect planes.PlaneX viewer.Obs1
159    connect planes.PlaneY viewer.Obs2
160    connect planes.PlaneZ viewer.Obs3
161
162    connect viewer.Widget main.Widget4
163        
164 set main.WinTitle "demoViewing1"
165 exec main
166 exec viewerTD
167
168