1 description "3 slicers and a 3D view"
2 author "jpr@creatis.insa-lyon.fr"
5 // To show how easy it is to add smthing
6 // =====================================
14 include wxvtk/boxes/bbSimpleSlicer
17 new LayoutLine upright
21 connect upright.Widget main.Widget1
22 connect upleft.Widget main.Widget2
23 connect down.Widget main.Widget3
27 include vtk/boxes/bbLoadHola
30 # uncomment next lines to have a file selector
31 # --------------------------------------------
32 #new FileSelector openFileDialog
33 #new ImageReader reader
34 # connect openFileDialog.Out reader.In
36 # uncomment next lines to use Gimmick
37 # -----------------------------------
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
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
56 #print "Image properties : $reader.Out"
58 #Get image dimensions, ...
59 new ImageProperties mc
60 connect reader.Out mc.In
62 #Get number of column (X)
63 new GetVectorIntElement gveX
64 connect mc.Size gveX.In
67 #Get number of rows (Y)
68 new GetVectorIntElement gveY
69 connect mc.Size gveY.In
72 #Get number of planes (Z)
73 new GetVectorIntElement gveZ
74 connect mc.Size gveZ.In
77 #Compute the number of the 'middle' slice on X axis
79 connect gveX.Out div0.In1
82 #Compute the number of the 'middle' slice on Y axis
84 connect gveY.Out div1.In1
87 #Compute the number of the 'middle' slice on Z axis
89 connect gveZ.Out div2.In1
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"
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"
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"
135 new ImagePlanes planes
136 connect reader.Out planes.In
139 connect planes.PlaneX viewer.Obs1
140 connect planes.PlaneY viewer.Obs2
141 connect planes.PlaneZ viewer.Obs3
143 connect viewer.Widget main.Widget4
145 set main.WinTitle "demoViewing1"