9 new FileSelector imageSelector1
10 set imageSelector1.Wildcard "*.mhd"
11 new FileSelector imageSelector2
12 set imageSelector2.Wildcard "*.mhd"
14 new MetaImageReader image
15 connect imageSelector1.Out image.In
17 new MetaImageReader image2
18 connect imageSelector2.Out image2.In
20 #Viewer containing image 1
22 new LayoutLine v1Layout
24 connect image.Out viewer1.In
25 set viewer1.nTypeView "0"
26 connect viewer1.Widget v1Layout.Widget1
28 #Viewer containing image 2
30 new LayoutLine v2Layout
32 connect image2.Out viewer2.In
33 set viewer2.nTypeView "0"
34 connect viewer2.Widget v2Layout.Widget1
36 #LayoutSplit were the images will be
38 new LayoutSplit initialImages
39 set initialImages.Proportion "50"
40 set initialImages.Orientation H
41 connect v1Layout.Widget initialImages.Widget1
42 connect v2Layout.Widget initialImages.Widget2
44 #Layout line that will contain the buttons
46 new LayoutLine buttonsLayout
47 set buttonsLayout.Orientation V
49 #Slider were the angle will be entered
52 set slider.Title "Angle"
56 set slider.ReactiveOnTrack "1"
57 connect slider.Widget buttonsLayout.Widget1
59 #Slider were the xScale will be entered
62 set sliderX.Title "% Scale in X"
66 set sliderX.ReactiveOnTrack "1"
67 connect sliderX.Widget buttonsLayout.Widget2
69 #Slider were the yScale will be entered
72 set sliderY.Title "% Scale in Y"
76 set sliderY.ReactiveOnTrack "1"
77 connect sliderY.Widget buttonsLayout.Widget3
79 # Create the reslicers
81 new SliceImage imgslice1
82 new SliceImage imgslice2
83 connect image.Out imgslice1.In
84 connect image2.Out imgslice2.In
86 #Box were the transformation will be made
88 new Transform2DBox transform
89 connect viewer2.Point transform.CenterPoint
90 connect slider.Out transform.Angle
91 connect sliderX.Out transform.ScaleX
92 connect sliderY.Out transform.ScaleY
94 new ReSlicerBox reslice1
95 connect viewer1.Point reslice1.Origin
96 connect transform.Out reslice1.Transform
97 connect imgslice2.Out reslice1.In
99 #Convolution Filter for both of the Images
101 new ImageConvolution convol1
102 connect imgslice1.Out convol1.In
103 new ImageConvolution convol2
104 connect reslice1.Out convol2.In
106 # Create the ZSlider for the slices
109 set sdrZ.ReactiveOnTrack 1
111 set sdrZ.Title "Z for slice"
113 connect sdrZ.Out imgslice1.Z
114 connect sdrZ.Out imgslice2.Z
115 connect sdrZ.BoxChange imgslice1.BoxExecute
116 connect sdrZ.BoxChange imgslice2.BoxExecute
118 #Create slider for Convolution Factor
121 set sdrF.ReactiveOnTrack 1
125 set sdrF.Title "Convolution Factor"
127 connect sdrF.Out convol1.Factor
128 connect sdrF.Out convol2.Factor
130 #Create CheckBox for Convolution Filter On/Off
135 connect checkF.Out convol1.On
136 connect checkF.Out convol2.On
138 new MultipleInputs multF
139 connect sdrF.BoxChange multF.In1
140 connect checkF.BoxChange multF.In2
142 connect multF.BoxChange convol1.BoxExecute
143 connect multF.BoxChange convol2.BoxExecute
146 #Create Sliders for WinLevel and ColorLevel
148 new Slider colorLevel
149 set colorLevel.Min "0"
150 set colorLevel.Max "99"
151 set colorLevel.In "50"
152 set colorLevel.ReactiveOnTrack true
153 set colorLevel.Title "Color Level"
155 new Slider windowLevel
156 set windowLevel.Min "0"
157 set windowLevel.Max "99"
158 set windowLevel.In "50"
159 set windowLevel.ReactiveOnTrack true
160 set windowLevel.Title "Window Level"
162 # Connection to viewers
164 connect colorLevel.Out viewer1.ColorLevel
165 connect colorLevel.Out viewer2.ColorLevel
167 connect windowLevel.Out viewer1.WindowLevel
168 connect windowLevel.Out viewer2.WindowLevel
170 new MultipleInputs multLevels
171 connect colorLevel.BoxChange multLevels.In1
172 connect windowLevel.BoxChange multLevels.In2
174 connect multLevels.BoxChange viewer1.BoxExecute
175 connect multLevels.BoxChange viewer2.BoxExecute
179 new CommandButton saveBut
180 set saveBut.Label "Save Image"
182 new FileSelector fileSave
183 set fileSave.OpenSave "Save"
184 set fileSave.Wildcard "*.mhd"
186 new MetaImageWriter writSave
187 connect reslice1.Out writSave.In
188 connect fileSave.Out writSave.Filename
190 connect saveBut.BoxChange fileSave.BoxExecute
191 connect fileSave.BoxChange writSave.BoxExecute
193 ////////////////////Checkboard/////////////////////////
194 # Create the visulization box for checkerBoard
195 new CheckBoardBox cbb
196 connect convol1.Out cbb.In1
197 connect convol2.Out cbb.In2
201 set sdr.ReactiveOnTrack 1
207 set sdr2.ReactiveOnTrack 1
211 # Create viewer & layout for Checkerboard
212 new LayoutSplit checkerBoard
214 new ViewerNV viewerCH
215 set viewerCH.nTypeView "0"
216 set checkerBoard.Proportion 80
220 connect colorLevel.Out viewerCH.ColorLevel
221 connect windowLevel.Out viewerCH.WindowLevel
223 # Graphical pipeline for CheckBoard
224 connect sdr.Out cbb.Cols
225 connect sdr2.Out cbb.Rows
226 connect cbb.Out viewerCH.In
228 connect sdr.Widget ly.Widget2
229 connect sdr2.Widget ly.Widget3
231 connect viewerCH.Widget checkerBoard.Widget1
232 connect ly.Widget checkerBoard.Widget2
233 /////////////end of Checkboard////////////////////
236 //////////////Transparency///////////////////////////
237 #Image Transparency view
239 new TransparencyV2 trans
240 connect convol1.Out trans.In1
241 connect convol2.Out trans.In2
247 set sdrP.ReactiveOnTrack true
249 connect sdrP.Out trans.Percent
251 new ViewerNV transView
252 connect trans.Out transView.In
253 set transView.nTypeView "0"
255 new LayoutSplit transparency
256 connect transView.Widget transparency.Widget1
257 connect sdrP.Widget transparency.Widget2
258 set transparency.Proportion 80
260 connect colorLevel.Out transView.ColorLevel
261 connect windowLevel.Out transView.WindowLevel
262 ///////////////////end of Transparency////////////////
265 /////////////////Image Switcher//////////////////////
267 new ImageSwitcherBox switch
268 connect convol1.Out switch.In1
269 connect convol2.Out switch.In2
276 connect sdrT.Out switch.Time
278 new Viewer2D viewerSwitch
279 connect switch.Out viewerSwitch.In
281 connect sdrT.BoxChange switch.BoxExecute
282 connect switch.BoxChange viewerSwitch.BoxExecute
284 new LayoutLine switcher
285 connect viewerSwitch.Widget switcher.Widget1
286 connect switch.Widget switcher.Widget2
287 connect sdrT.Widget switcher.Widget3
289 //////////////end of Image Switch///////////////////
291 #Multiple inputs for managing the interaction
293 new MultipleInputs mult
294 connect slider.BoxChange mult.In1
295 connect sliderX.BoxChange mult.In2
296 connect sliderY.BoxChange mult.In3
297 connect viewer1.BoxChange mult.In4
298 connect viewer2.BoxChange mult.In5
300 new MultipleInputs mult2
301 connect multF.BoxChange mult2.In1
302 connect mult.BoxChange mult2.In2
304 # Execution pipeline for checkboard
306 new MultipleInputs mult3
307 connect ly.BoxChange mult3.In1
308 connect mult2.BoxChange mult3.In2
309 connect imgslice1.BoxChange mult3.In3
310 connect imgslice2.BoxChange mult3.In4
311 connect multLevels.BoxChange mult3.In5
313 connect mult3.BoxChange cbb.BoxExecute
314 connect cbb.BoxChange viewerCH.BoxExecute
316 #Execution pipeline for Transparency
318 new MultipleInputs mult4
319 connect mult2.BoxChange mult4.In1
320 connect sdrP.BoxChange mult4.In2
322 connect mult4.BoxChange trans.BoxExecute
323 connect trans.BoxChange transView.BoxExecute
325 ///////////////////////////////////////////////////////////////
330 connect checkerBoard.Widget tabs.Widget1
331 connect transparency.Widget tabs.Widget2
332 connect switcher.Widget tabs.Widget3
334 #Layout where the images and the buttons will be displayed
337 connect sdrZ.Widget tools.Widget1
338 connect colorLevel.Widget tools.Widget2
339 connect windowLevel.Widget tools.Widget3
340 connect saveBut.Widget tools.Widget5
342 new LayoutSplit convolTools
343 set convolTools.Orientation H
344 set convolTools.Proportion "80"
345 connect sdrF.Widget convolTools.Widget1
346 connect checkF.Widget convolTools.Widget2
348 connect convolTools.Widget tools.Widget4
350 new LayoutSplit window1
351 set window1.WinWidth "600"
352 set window1.Proportion "80"
353 set window1.Orientation V
354 connect initialImages.Widget window1.Widget1
355 connect buttonsLayout.Widget window1.Widget2
357 new LayoutSplit window2
358 connect tabs.Widget window2.Widget1
359 connect tools.Widget window2.Widget2
360 set window2.Proportion "90"
363 set main.WinWidth "1200"
364 set main.Proportion "50"
365 set main.Orientation H
366 connect window1.Widget main.Widget1
367 connect window2.Widget main.Widget2