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