load PackRecalage
-include vtk/boxes/bbLoadHola
-new LoadHola image
+new FileSelector imageSelector1
+ set imageSelector1.Wildcard "*.mhd"
+new FileSelector imageSelector2
+ set imageSelector2.Wildcard "*.mhd"
+
+new MetaImageReader image
+ connect imageSelector1.Out image.In
+
+new MetaImageReader image2
+ connect imageSelector2.Out image2.In
+
+#new Gimmick image
+#new Gimmick image2
#Viewer containing image 1
new LayoutLine v1Layout
new ViewerNV viewer1
-connect image.Out viewer1.In
-set viewer1.nTypeView "0"
-connect viewer1.Widget v1Layout.Widget1
-
+ connect image.Out viewer1.In
+ set viewer1.nTypeView "0"
+ connect viewer1.Widget v1Layout.Widget1
#Viewer containing image 2
new LayoutLine v2Layout
new ViewerNV viewer2
-connect image.Out viewer2.In
-set viewer2.nTypeView "0"
-connect viewer2.Widget v2Layout.Widget1
+ connect image2.Out viewer2.In
+ set viewer2.nTypeView "0"
+ connect viewer2.Widget v2Layout.Widget1
#LayoutSplit were the images will be
new LayoutSplit initialImages
-set initialImages.Proportion "50"
-set initialImages.Orientation H
-connect v1Layout.Widget initialImages.Widget1
-connect v2Layout.Widget initialImages.Widget2
+ set initialImages.Proportion "50"
+ set initialImages.Orientation H
+ connect v1Layout.Widget initialImages.Widget1
+ connect v2Layout.Widget initialImages.Widget2
#Layout line that will contain the buttons
set slider.ReactiveOnTrack "1"
connect slider.Widget buttonsLayout.Widget1
-
-
#Slider were the xScale will be entered
new Slider sliderX
set sliderX.ReactiveOnTrack "1"
connect sliderX.Widget buttonsLayout.Widget2
-
-
#Slider were the yScale will be entered
new Slider sliderY
connect sliderX.Out transform.ScaleX
connect sliderY.Out transform.ScaleY
-
-
new ReSlicerBox reslice1
connect viewer1.Point reslice1.Origin
connect transform.Out reslice1.Transform
- connect image.Out reslice1.In
+ connect image2.Out reslice1.In
new SliceImage slice1
connect reslice1.Out slice1.In
set slice1.Z "1"
+new Viewer2D viewer2d
+ connect reslice1.Out viewer2d.In
+ set viewer2d.Slice "1"
+
+# Create the reslicers
+
+new SliceImage imgslice1
+new SliceImage imgslice2
+ connect image.Out imgslice1.In
+ connect reslice1.Out imgslice2.In
+
+# Create the visulization box for checkerBoard
+new CheckBoardBox cbb
+ connect imgslice1.Out cbb.In1
+ connect imgslice2.Out cbb.In2
+
+# Create the slider1
+new Slider sdr
+ set sdr.ReactiveOnTrack 1
+ set sdr.Max 50
+ set sdr.In 14
+
+# Create the slider2
+new Slider sdr2
+ set sdr2.ReactiveOnTrack 1
+ set sdr2.Max 50
+ set sdr2.In 14
+
+# Create the ZSlider for the slices
+
+new Slider sdrZ
+ set sdrZ.ReactiveOnTrack 1
+ set sdrZ.Max 50
+ set sdrZ.Title "Z for slice"
+
+ connect sdrZ.Out imgslice1.Z
+ connect sdrZ.Out imgslice2.Z
+ connect sdrZ.BoxChange imgslice1.BoxExecute
+ connect sdrZ.BoxChange imgslice2.BoxExecute
+
+#Create Sliders for WinLevel and ColorLevel
+
+new Slider colorLevel
+ set colorLevel.Min "0"
+ set colorLevel.Max "99"
+ set colorLevel.In "50"
+ set colorLevel.ReactiveOnTrack true
+ set colorLevel.Title "Color Level"
+
+new Slider windowLevel
+ set windowLevel.Min "0"
+ set windowLevel.Max "99"
+ set windowLevel.In "50"
+ set windowLevel.ReactiveOnTrack true
+ set windowLevel.Title "Window Level"
+
+# Connection to viewers
+
+ connect colorLevel.Out viewer1.ColorLevel
+ connect colorLevel.Out viewer2.ColorLevel
+
+ connect windowLevel.Out viewer1.WindowLevel
+ connect windowLevel.Out viewer2.WindowLevel
+
+new MultipleInputs multLevels
+ connect colorLevel.BoxChange multLevels.In1
+ connect windowLevel.BoxChange multLevels.In2
+
+ connect multLevels.BoxChange viewer1.BoxExecute
+ connect multLevels.BoxChange viewer2.BoxExecute
+
+# Create viewer & layout for Checkerboard
+new LayoutSplit checkerBoard
+new LayoutLine ly
+new ViewerNV viewerCH
+ set viewerCH.nTypeView "0"
+ set checkerBoard.Proportion 80
+
+////////////////////////
+#Connecting levels
+
+ connect colorLevel.Out viewerCH.ColorLevel
+ connect windowLevel.Out viewerCH.WindowLevel
+//////////////////////
+
+
+# Graphical pipeline
+ connect sdr.Out cbb.Cols
+ connect sdr2.Out cbb.Rows
+ connect cbb.Out viewerCH.In
+
+ connect sdr.Widget ly.Widget2
+ connect sdr2.Widget ly.Widget3
+
+ connect viewerCH.Widget checkerBoard.Widget1
+ connect ly.Widget checkerBoard.Widget2
+
+#Image Transparency view
+
+new TransparencyV2 trans
+ connect imgslice1.Out trans.In1
+ connect imgslice2.Out trans.In2
+
+new Slider sdrP
+ set sdrP.Max "100"
+ set sdrP.Min "0"
+ set sdrP.In "50"
+ set sdrP.ReactiveOnTrack true
+
+ connect sdrP.Out trans.Percent
+
+new ViewerNV transView
+ connect trans.Out transView.In
+ set transView.nTypeView "0"
+
+new LayoutSplit transparency
+ connect transView.Widget transparency.Widget1
+ connect sdrP.Widget transparency.Widget2
+ set transparency.Proportion 80
+
+ connect colorLevel.Out transView.ColorLevel
+ connect windowLevel.Out transView.WindowLevel
+
+#Create Substraction View
+
+new ImageSubstraction imageSub
+ connect imgslice1.Out imageSub.In1
+ connect imgslice2.Out imageSub.In2
+
+new Slider sdrSub1
+ set sdrSub1.In 51
+ set sdrSub1.Max 255
+ set sdrSub1.Min 0
+ set sdrSub1.Title "Upper Zero Level"
+
+new Slider sdrSub2
+ set sdrSub2.In 49
+ set sdrSub2.Max 255
+ set sdrSub2.Min 0
+ set sdrSub2.Title "Lower Zero Level"
+
+ connect sdrSub1.Out imageSub.In3
+ connect sdrSub2.Out imageSub.In4
+
+new ColourSelectorButton colorU
+new ColourSelectorButton colorM
+new ColourSelectorButton colorL
+
+ set colorU.WinTitle "Upper Level Colour"
+ set colorM.WinTitle "Middle Level Colour"
+ set colorL.WinTitle "Lower Level Colour"
+
+ set colorU.In "0"
+ set colorM.In "50,50,50"
+ set colorL.In "1"
+
+ connect colorU.Out imageSub.InU
+ connect colorM.Out imageSub.InM
+ connect colorL.Out imageSub.InL
+
+#Create substraction layout
-#new ViewerNV viewer3
- #connect reslice1.Out viewer3.In
- #set viewer3.nTypeView "6"
- #set viewer3.WinWidth "600"
+new Viewer2D subView
+ connect imageSub.Out subView.In
+
+new LayoutSplit substraction
+new LayoutLine lySub
+
+ connect sdrSub1.Widget lySub.Widget1
+ connect sdrSub2.Widget lySub.Widget2
+
+new LayoutLine lySubColor
+
+ set lySubColor.Orientation H
+ connect colorU.Widget lySubColor.Widget1
+ connect colorM.Widget lySubColor.Widget2
+ connect colorL.Widget lySubColor.Widget3
+
+ connect lySubColor.Widget lySub.Widget3
+
+ set substraction.Proportion "70"
+
+ connect subView.Widget substraction.Widget1
+ connect lySub.Widget substraction.Widget2
+
+#Image Switch view
+/*
+new ImageSwitcherBox swt
+ connect imgslice1.Out swt.In1
+ connect imgslice2.Out swt.In2
+
+new Slider sdrT
+ set sdrT.Max "1000"
+ set sdrT.Min "0"
+ set sdrT.In "500"
+
+ connect sdrT.Out swt.Time
+
+#Image Switch Layout
+
+new Viewer2D viewerS
+ connect swt.Out viewerS.In
+ //set viewerS.nTypeView "0"
+
+new LayoutLine switch
+ connect viewerS.Widget switch.Widget1
+ connect switch.Widget switch.Widget2
+ connect sdrT.Widget switch.Widget3
+
+ //connect colorLevel.Out viewerS.ColorLevel
+ //connect windowLevel.Out viewerS.WindowLevel
+*/
+
+#Image Convolution View
+
+new ImageConvolution convol1
+ connect imgslice1.Out convol1.In
+
+new ImageConvolution convol2
+ connect imgslice2.Out convol2.In
+
+new Viewer2D viewerConv1
+ connect convol1.Out viewerConv1.In
+
+new Viewer2D viewerConv2
+ connect convol2.Out viewerConv2.In
+
+new Slider sdrC
+ set sdrC.Max "100"
+ set sdrC.Min "0"
+ set sdrC.In "100"
+ set sdrC.ReactiveOnTrack "true"
+
+ connect sdrC.Out convol1.Factor
+ connect sdrC.Out convol2.Factor
+
+#Layout for convolution
+
+new LayoutSplit lyConvView
+ set lyConvView.Proportion "50"
+ connect viewerConv1.Widget lyConvView.Widget1
+ connect viewerConv2.Widget lyConvView.Widget2
+
+new LayoutSplit convolution
+ set convolution.Proportion "80"
+ connect lyConvView.Widget convolution.Widget1
+ connect sdrC.Widget convolution.Widget2
-new Viewer2D viewer3
- connect reslice1.Out viewer3.In
- set viewer3.Slice "1"
#Multiple inputs for managing the interaction
connect sliderY.BoxChange mult.In3
connect viewer1.BoxChange mult.In4
connect viewer2.BoxChange mult.In5
- connect mult.BoxChange viewer3.BoxExecute
-#new CommandButton botonfinal
- #set botonfinal.Label "Set Information"
- #connect botonfinal.Widget buttonsLayout.Widget4
- #connect botonfinal.BoxChange viewer3.BoxExecute
-
+# Execution pipeline for checkboard
+
+new MultipleInputs mult2
+ connect ly.BoxChange mult2.In1
+ connect mult.BoxChange mult2.In2
+ connect imgslice1.BoxChange mult2.In3
+ connect imgslice2.BoxChange mult2.In4
+ connect multLevels.BoxChange mult2.In5
+
+connect mult2.BoxChange cbb.BoxExecute
+connect cbb.BoxChange viewerCH.BoxExecute
+
+#Execution pipeline for transparency
+
+new MultipleInputs mult5
+ connect mult2.BoxChange mult5.In1
+ connect sdrP.BoxChange mult5.In2
+
+ connect mult5.BoxChange trans.BoxExecute
+ connect trans.BoxChange transView.BoxExecute
+
+#Execution pipeline for Substraction
+
+new MultipleInputs mult3
+ connect sdrSub1.BoxChange mult3.In1
+ connect sdrSub2.BoxChange mult3.In2
+ connect mult2.BoxChange mult3.In3
+
+new MultipleInputs mult4
+ connect mult3.BoxChange mult4.In1
+ connect colorU.BoxChange mult4.In2
+ connect colorM.BoxChange mult4.In3
+ connect colorL.BoxChange mult4.In4
+
+ connect mult4.BoxChange imageSub.BoxExecute
+ connect imageSub.BoxChange substraction.BoxExecute
+
+#Execution pipeline for switching
+/*
+new MultipleInputs mult6
+ connect sdrT.BoxChange mult6.In1
+ connect mult2.BoxChange mult6.In2
+
+ connect mult6.BoxChange switch.BoxExecute
+ connect switch.BoxChange viewerS.BoxExecute
+*/
+
+#Execution pipeline for convolution
+
+new MultipleInputs mult7
+ connect mult2.BoxChange mult7.In1
+ connect sdrC.BoxChange mult7.In2
+
+ connect mult7.BoxChange convol1.BoxExecute
+ connect mult7.BoxChange convol2.BoxExecute
+
+ connect convol1.BoxChange viewerConv1.BoxExecute
+ connect convol2.BoxChange viewerConv2.BoxExecute
+
+# Button for saving
+
+new CommandButton saveBut
+ set saveBut.Label "Save Image"
+
+new FileSelector fileSave
+ set fileSave.OpenSave "Save"
+ set fileSave.Wildcard "*.mhd"
+
+new MetaImageWriter writSave
+ connect reslice1.Out writSave.In
+ connect fileSave.Out writSave.Filename
+
+ connect saveBut.BoxChange fileSave.BoxExecute
+ connect fileSave.BoxChange writSave.BoxExecute
+
#Layout were the images and the buttones will be displayed
new LayoutSplit window1
connect initialImages.Widget window1.Widget1
connect buttonsLayout.Widget window1.Widget2
+new LayoutTab tabs
+ connect checkerBoard.Widget tabs.Widget1
+ //connect substraction.Widget tabs.Widget2
+ //connect transparency.Widget tabs.Widget3
+ connect convolution.Widget tabs.Widget4
+ //connect switch.Widget tabs.Widget4
+
+new LayoutLine tools
+ connect sdrZ.Widget tools.Widget1
+ connect colorLevel.Widget tools.Widget2
+ connect windowLevel.Widget tools.Widget3
+ connect saveBut.Widget tools.Widget4
+
+new LayoutSplit window2
+ connect tabs.Widget window2.Widget1
+ connect tools.Widget window2.Widget2
+ set window2.Proportion "90"
+
new LayoutSplit main
set main.WinWidth "1200"
- set main.Proportion "100"
+ set main.Proportion "50"
set main.Orientation H
connect window1.Widget main.Widget1
- connect viewer3.Widget main.Widget2
+ connect window2.Widget main.Widget2
exec main
\ No newline at end of file