]> Creatis software - bbtk.git/blob - packages/demo/bbs/appli/demoViewing3.bbs
1d6464c34acf5eadec09f594cc837f2f884e0fcd
[bbtk.git] / packages / demo / bbs / appli / demoViewing3.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 load gdcmvtk
16
17 new LayoutX4 main
18
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
30 # Don't forget to comment out the following 2 lines
31 # If you want to check someting else.
32
33 include vtk/boxes/bbLoadHola
34 new LoadHola reader
35
36 # uncomment next lines to have a file selector
37 # --------------------------------------------
38 /*
39 new FileSelector openFileDialog
40 new ImageReader reader
41   connect openFileDialog.Out reader.In
42 */
43
44 # uncomment next lines to use a vtkgdcmReader
45 # -------------------------------------
46 /*
47 new FileSelector openFileDialog
48 new GetInfoGdcmReader reader
49   connect openFileDialog.Out reader.In
50 */
51
52 # uncomment next lines to use Gimmick
53 # -----------------------------------
54 /*
55 load creaImageIO
56 new Gimmick reader
57 */
58
59 # uncomment next lines to Read a MHD file (and nothing else !)
60 # ------------------------------------------------------------
61 /*
62 new FileSelector openFileDialog
63  set openFileDialog.Wildcard  "(*.mhd)|*.mhd"
64 new MetaImageReader reader
65    connect openFileDialog.Out reader.In
66 */
67
68 # uncomment the following lines to read a 3D images stack
69 # (only if file name order is meaningfull)
70 # -------------------------------------------------------
71 /*
72 // To choose the directory
73 new DirectorySelector ds
74 // To get the image names into a vector
75 new FilesFromDirectory fd
76 // To read all the files, as a bbitk::ImagePointer
77 new ImageSeriesReader reader
78 // user choosen directory as input
79 connect ds.Out fd.In
80 set fd.Recursive false
81 // list of files as input
82 #print "Files found in $ds.Out$\n
83 connect fd.Out reader.FileNames
84 */
85
86 # uncomment the following lines to read a 3D images stack
87 # (if the directory contains a 'XCoherent" Serie)
88 # -------------------------------------------------------
89 /*
90 // To choose the directory
91 new DirectorySelector ds
92 // To get the image names into a vector
93 new FilesFromDirectory fd
94 // user choosen directory as input
95 connect ds.Out fd.In 
96 // order the files, computes an accurate ZSpacing
97 new GetXCoherentInfoGdcmReader reader
98 connect fd.Out reader.In
99 */
100
101 # uncomment the following lines to read a 3D images stack
102 # (with DICOMDirReader)
103 # -------------------------------------------------------
104 /*
105 include itk/boxes/bbDICOMDirReader
106 // To choose the directory
107 new DirectorySelector ds
108 new DICOMDirReader reader
109    connect ds.Out reader.In
110 */
111
112
113 //set reader.XSpacing 23.4
114 //set reader.YSpacing 23.4
115 //set reader.ZSpacing 35
116
117 #print "Image properties : $reader.Out"
118
119 //For 3D Viewer
120
121 new ImagePlanes planes
122   connect reader.Out planes.In
123
124 new Viewer3D viewer
125   connect planes.PlaneX viewer.Obs1
126   connect planes.PlaneY viewer.Obs2
127   connect planes.PlaneZ viewer.Obs3
128
129   connect viewer.Widget main.Widget4
130
131 // For X axis
132 // ----------
133 new Viewer2D viewerUL
134   set viewerUL.BoxProcessMode Always
135   connect planes.ImageX viewerUL.In
136    # contains only one slice
137   set viewerUL.Slice 0
138   connect viewerUL.Widget upleft.Widget1
139
140  connect planes.BoxChange viewerUL.BoxExecute
141
142 print "===============planes.ImageX $planes.ImageX"
143
144 // For Y axis
145 // ----------
146 new Viewer2D viewerUR
147   set viewerUR.BoxProcessMode Always
148   connect planes.ImageY viewerUR.In
149   connect viewerUR.Widget upright.Widget1
150  # contains only one  slice
151   set viewerUR.Slice 0
152  connect planes.BoxChange viewerUR.BoxExecute
153
154  print "===============planes.ImageY $planes.ImageY"
155
156 // For Z axis
157 // ----------
158 new Viewer2D viewerDL
159   set viewerDL.BoxProcessMode Always
160   connect planes.ImageZ viewerDL.In
161   connect viewerDL.Widget downleft.Widget1
162  # contains only one  slice
163   set viewerDL.Slice 0
164   connect planes.BoxChange viewerDL.BoxExecute 
165
166  print "===============planes.ImageZ $planes.ImageZ"
167
168 set main.WinTitle "demoViewing3"
169 exec main