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