]> Creatis software - bbtk.git/blob - packages/demo/bbs/appli/demoViewing1.bbs
f74b23451bf07f4312de33b860beb1fbaeed157a
[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 #new FileSelector openFileDialog
35 #new ImageReader reader
36 #    connect openFileDialog.Out reader.In
37
38 # uncomment next lines to use Gimmick
39 # -----------------------------------
40 #load creaImageIO
41 #new Gimmick reader
42
43 # uncomment next lines to Read a MHD file (and nothing else !)
44 # ------------------------------------------------------------
45 #new FileSelector openFileDialog
46 #new MetaImageReader reader
47 #   connect openFileDialog.Out reader.In 
48
49 # uncomment the following lines to read a 3D images stack
50 # -------------------------------------------------------
51 // To choose the directory
52 #new DirectorySelector ds
53 // To get the image names into a vector
54 #new FilesFromDirectory fd
55 // To read all the files, as a bbitk::ImagePointer
56 #new ImageSeriesReader reader
57 // user choosen directory as input
58 #connect ds.Out fd.In
59 #set fd.Recursive false
60 // list of files as imput
61 #connect fd.Out  reader.FileNames
62
63
64 #Get image dimensions, ...
65 new ImageProperties mc
66    connect reader.Out mc.In
67
68 #Get number of column (X)
69 new GetVectorIntElement gveX
70    connect mc.Size gveX.In
71    set gveX.I 0
72
73 #Get number of rows (Y)
74 new GetVectorIntElement gveY
75    connect mc.Size gveY.In
76    set gveY.I 1
77
78 #Get number of planes  (Z)
79 new GetVectorIntElement gveZ
80    connect mc.Size gveZ.In
81    set gveZ.I 2
82
83 #Compute the number of the 'middle' slice on X axis
84 new Div div0
85   connect   gveX.Out div0.In1
86   set div0.In2 2
87
88 #Compute the number of the 'middle' slice on Y axis
89 new Div div1
90   connect   gveY.Out div1.In1
91   set div1.In2 2
92
93 #Compute the number of the 'middle' slice on Z axis
94 new Div div2
95   connect   gveZ.Out div2.In1
96   set div2.In2 2
97
98
99 // For X axis
100 new SimpleSlicer viewerUL
101   connect reader.Out viewerUL.In
102   connect viewerUL.Widget upleft.Widget1
103   #initial slice is the middle one
104   connect div0.Out viewerUL.Slice
105   #Slider size is the number of planes
106   connect  gveX.Out viewerUL.SliderSize
107   set viewerUL.SliderReactiveOnTrack 1
108   set viewerUL.Orientation 0
109   set viewerUL.SliderOrientation H
110   set viewerUL.SliderTitle "Planes YZ"
111
112
113 // For Y axis
114 new SimpleSlicer viewerUR
115   connect reader.Out viewerUR.In
116   connect viewerUR.Widget upright.Widget1
117   #initial slice is the middle one
118   connect div1.Out viewerUR.Slice
119   #Slider size is the number of planes
120   connect  gveY.Out viewerUR.SliderSize
121   set viewerUR.SliderReactiveOnTrack 1
122   set viewerUR.SliderOrientation H
123   set viewerUR.Orientation 1
124   set viewerUR.SliderTitle "Planes XZ"
125
126 // For Z axis
127 new SimpleSlicer viewerTD
128   connect reader.Out viewerTD.In
129   connect viewerTD.Widget downleft.Widget1
130   #initial slice is the middle one
131   connect div2.Out viewerTD.Slice
132   #Slider size is the number of planes
133   connect  gveZ.Out viewerTD.SliderSize
134   set viewerTD.SliderReactiveOnTrack 1
135   set viewerTD.SliderOrientation H
136   set viewerTD.Orientation 2
137   set viewerTD.SliderTitle "Planes XY"
138
139 //For 3D Viewer
140
141 new ImagePlanes planes
142    connect reader.Out planes.In
143    
144 new Viewer3D viewer
145    connect planes.PlaneX viewer.Obs1
146    connect planes.PlaneY viewer.Obs2
147    connect planes.PlaneZ viewer.Obs3
148
149    connect viewer.Widget main.Widget4
150        
151 set main.WinTitle "demoViewing1"
152 exec main
153 exec viewerTD
154
155