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 // =====================================
17 include wxvtk/boxes/bbSimpleSlicer
20 new LayoutLine upright
22 new LayoutLine downleft
24 connect upright.Widget main.Widget1
25 connect upleft.Widget main.Widget2
26 connect downleft.Widget main.Widget3
30 include vtk/boxes/bbLoadHola
33 # uncomment next lines to have a file selector
34 # --------------------------------------------
36 new FileSelector openFileDialog
37 new ImageReader reader
38 connect openFileDialog.Out reader.In
41 # uncomment next lines to use Gimmick
42 # -----------------------------------
48 # uncomment next lines to Read a MHD file (and nothing else !)
49 # ------------------------------------------------------------
51 new FileSelector openFileDialog
52 set openFileDialog.Wildcard "(*.mhd)|*.mhd"
53 new MetaImageReader reader
54 connect openFileDialog.Out reader.In
57 # uncomment the following lines to read a 3D images stack
58 # (only if file name order is meaningfull)
59 # -------------------------------------------------------
61 // To choose the directory
62 new DirectorySelector ds
63 // To get the image names into a vector
64 new FilesFromDirectory fd
65 // To read all the files, as a bbitk::ImagePointer
66 new ImageSeriesReader reader
67 // user choosen directory as input
69 set fd.Recursive false
70 // list of files as input
71 #print "Files found in $ds.Out$\n
72 connect fd.Out reader.FileNames
75 # uncomment the following lines to read a 3D images stack
76 # (if the directory contains a 'XCoherent" Serie)
77 # -------------------------------------------------------
79 // To choose the directory
80 new DirectorySelector ds
81 // To get the image names into a vector
82 new FilesFromDirectory fd
83 // user choosen directory as input
85 // order the files, computes an accurate ZSpacing
86 new GetXCoherentInfoGdcmReader reader
87 connect fd.Out reader.In
90 # uncomment the following lines to read a 3D images stack
91 # (with DICOMDirReader)
92 # -------------------------------------------------------
94 include itk/boxes/bbDICOMDirReader
95 // To choose the directory
96 new DirectorySelector ds
97 new DICOMDirReader reader
98 connect ds.Out reader.In
101 // We need that to set Sliders sizes
103 #Get image dimensions, ...
104 new ImageProperties mc
105 connect reader.Out mc.In
107 #print "Image properties : $reader.Out"
109 #Get number of column (X)
110 new GetVectorIntElement gveX
111 connect mc.Size gveX.In
114 #Get number of rows (Y)
115 new GetVectorIntElement gveY
116 connect mc.Size gveY.In
119 #Get number of planes (Z)
120 new GetVectorIntElement gveZ
121 connect mc.Size gveZ.In
123 print "Dim Z $ gveZ.Out"
125 #Compute the number of the 'middle' slice on X axis
127 connect gveX.Out div0.In1
130 #Compute the number of the 'middle' slice on Y axis
132 connect gveY.Out div1.In1
135 #Compute the number of the 'middle' slice on Z axis
137 connect gveZ.Out div2.In1
141 new SimpleSlicer viewerUL
142 connect reader.Out viewerUL.In
143 connect viewerUL.Widget upleft.Widget1
144 #initial slice is the middle one
145 connect div0.Out viewerUL.Slice
146 #Slider size is the number of planes
147 connect gveX.Out viewerUL.SliderSize
148 set viewerUL.SliderReactiveOnTrack 1
149 set viewerUL.Orientation 0
150 set viewerUL.SliderOrientation H
151 set viewerUL.SliderTitle "Planes YZ"
154 new SimpleSlicer viewerUR
155 connect reader.Out viewerUR.In
156 connect viewerUR.Widget upright.Widget1
157 #initial slice is the middle one
158 connect div1.Out viewerUR.Slice
159 #Slider size is the number of planes
160 connect gveY.Out viewerUR.SliderSize
161 set viewerUR.SliderReactiveOnTrack 1
162 set viewerUR.SliderOrientation H
163 set viewerUR.Orientation 1
164 set viewerUR.SliderTitle "Planes XZ"
167 new SimpleSlicer viewerTD
168 connect reader.Out viewerTD.In
169 connect viewerTD.Widget downleft.Widget1
170 #initial slice is the middle one
171 connect div2.Out viewerTD.Slice
172 #Slider size is the number of planes
173 connect gveZ.Out viewerTD.SliderSize
174 set viewerTD.SliderReactiveOnTrack 1
175 set viewerTD.SliderOrientation H
176 set viewerTD.Orientation 2
177 set viewerTD.SliderTitle "Planes XY"
181 new ImagePlanes planes
182 connect reader.Out planes.In
185 connect planes.PlaneX viewer.Obs1
186 connect planes.PlaneY viewer.Obs2
187 connect planes.PlaneZ viewer.Obs3
189 connect viewer.Widget main.Widget4
191 set main.WinTitle "demoViewing1"