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 // =====================================
16 include wxvtk/boxes/bbSimpleSlicer
19 new LayoutLine upright
21 new LayoutLine downleft
23 connect upright.Widget main.Widget1
24 connect upleft.Widget main.Widget2
25 connect downleft.Widget main.Widget3
29 include vtk/boxes/bbLoadHola
32 # uncomment next lines to have a file selector
33 # --------------------------------------------
34 #new FileSelector openFileDialog
35 #new ImageReader reader
36 # connect openFileDialog.Out reader.In
38 # uncomment next lines to use Gimmick
39 # -----------------------------------
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
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
59 #set fd.Recursive false
60 // list of files as imput
61 #connect fd.Out reader.FileNames
64 #Get image dimensions, ...
65 new ImageProperties mc
66 connect reader.Out mc.In
68 #Get number of column (X)
69 new GetVectorIntElement gveX
70 connect mc.Size gveX.In
73 #Get number of rows (Y)
74 new GetVectorIntElement gveY
75 connect mc.Size gveY.In
78 #Get number of planes (Z)
79 new GetVectorIntElement gveZ
80 connect mc.Size gveZ.In
83 #Compute the number of the 'middle' slice on X axis
85 connect gveX.Out div0.In1
88 #Compute the number of the 'middle' slice on Y axis
90 connect gveY.Out div1.In1
93 #Compute the number of the 'middle' slice on Z axis
95 connect gveZ.Out div2.In1
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"
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"
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"
141 new ImagePlanes planes
142 connect reader.Out planes.In
145 connect planes.PlaneX viewer.Obs1
146 connect planes.PlaneY viewer.Obs2
147 connect planes.PlaneZ viewer.Obs3
149 connect viewer.Widget main.Widget4
151 set main.WinTitle "demoViewing1"