-description "creatisRecalage::Recalage Rigid 2D. "
-category "example"
-author "info-dev@creatis.insa-lyon.fr"
-
-load wx
-load std
-load vtk
-load wxvtk
-load creaMaracasVisu
-
-load PackRecalage
-
-//include PackRecalage/boxes/checkerView.bbs
-
-//Uncomment the image readers you need
-
-/////////////////////////////////////////////////
-// File Selector
-////////////////////////////////////////////////
-/*
-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
-*/
-
-///////////////////////////////////////////////
-// Gimmick
-//////////////////////////////////////////////
-
+# ----------------------------------
+# - BBTKGEditor v 1.2 BBS BlackBox Script
+# - /Users/davila/Creatis/All5/creatools_source/creaRigidRegistration/PackRecalage/bbs/appli/Recalage2D.bbs
+# ----------------------------------
+
+# BBTK GEditor Script
+# ----------------------
+
+include std
+include itkvtk
+include vtk
+include wx
+include creaMaracasVisu
+include PackRecalage
+include std
+include wxvtk
include creaImageIO
-new Gimmick image
-new Gimmick image2
-
-///////////////////////////////////////////////
-//Image Slicers
-//////////////////////////////////////////////
-
-# Create the slicers
+author "info-dev@creatis.insa-lyon.fr"
+description "creatisRecalage::Recalage Rigid 2D. "
+category "example"
new SliceImage imgslice1
-new SliceImage imgslice2
- connect image.Out imgslice1.In
- connect image2.Out imgslice2.In
-
-////////////////////////////////////////////
-//Image Viewers
-///////////////////////////////////////////
-#Viewer containing image 1
+new SliceImage imgslice2
new LayoutLine v1Layout
+
new ViewerNV viewer1
- 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 image2.Out viewer2.In
set viewer2.nTypeView "0"
- connect viewer2.Widget v2Layout.Widget1
-
-//////////////////////////////////////
-//Layouts for the images
-//////////////////////////////////////
-
-#LayoutSplit were the images will be
new LayoutSplit initialImages
+ set initialImages.Orientation "H"
set initialImages.Proportion "50"
- set initialImages.Orientation H
- connect v1Layout.Widget initialImages.Widget1
- connect v2Layout.Widget initialImages.Widget2
-
-////////////////////////////////////////////////////////////////
-//Information Sliders and Buttons for the Recalage
-///////////////////////////////////////////////////////////////
-
-#Layout line that will contain the buttons
new LayoutLine buttonsLayout
- set buttonsLayout.Orientation V
-
-#Slider were the angle will be entered
+ set buttonsLayout.Orientation "V"
new Slider slider
- set slider.Title "Angle"
- set slider.In 0
- set slider.Min -180
- set slider.Max 180
+ set slider.In "0"
+ set slider.Max "180"
+ set slider.Min "-180"
set slider.ReactiveOnTrack "1"
- connect slider.Widget buttonsLayout.Widget1
-
-#Slider were the xScale will be entered
+ set slider.Title "Angle"
new Slider sliderX
- set sliderX.Title "% Scale in X"
- set sliderX.In 100
- set sliderX.Min 10
- set sliderX.Max 500
+ set sliderX.In "100"
+ set sliderX.Max "500"
+ set sliderX.Min "10"
set sliderX.ReactiveOnTrack "1"
- connect sliderX.Widget buttonsLayout.Widget2
-
-#Slider were the yScale will be entered
+ set sliderX.Title "% Scale in X"
new Slider sliderY
- set sliderY.Title "% Scale in Y"
- set sliderY.In 100
- set sliderY.Min 10
- set sliderY.Max 500
+ set sliderY.In "100"
+ set sliderY.Max "500"
+ set sliderY.Min "10"
set sliderY.ReactiveOnTrack "1"
- connect sliderY.Widget buttonsLayout.Widget3
-
-//////////////////////////////////////////////////
-//Transformation Boxes
-//////////////////////////////////////////////////
-
-#Box were the transformation will be made
+ set sliderY.Title "% Scale in Y"
new Transform2DBox transform
- connect viewer2.Point transform.CenterPoint
- connect slider.Out transform.Angle
- connect sliderX.Out transform.ScaleX
- connect sliderY.Out transform.ScaleY
new ReSlicerBox reslice1
- connect viewer1.Point reslice1.Origin
- connect transform.Out reslice1.Transform
- connect imgslice2.Out reslice1.In
-
-//////////////////////////////////////////////////
-//Convolution Filter
-//////////////////////////////////////////////////
-
-#Convolution Filter for both of the Images
new ImageConvolution convol1
- connect imgslice1.Out convol1.In
-new ImageConvolution convol2
- connect reslice1.Out convol2.In
-
-////////////////////////////////////////////////
-//Recalage Properties
-////////////////////////////////////////////////
-#Image Properties
+new ImageConvolution convol2
new ImageRecalageProperties properties
- connect image.Out properties.In
- connect image.BoxChange properties.BoxExecute
-
-# Create the ZSlider for the slices
new Slider sdrZ
- set sdrZ.ReactiveOnTrack 1
- set sdrZ.Min 0
- connect properties.LengthZ sdrZ.Max
+ set sdrZ.Min "0"
+ set sdrZ.ReactiveOnTrack "1"
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 slider for Convolution Factor
-
new Slider sdrF
- set sdrF.ReactiveOnTrack 1
+ set sdrF.In "0"
set sdrF.Max "100"
set sdrF.Min "0"
- set sdrF.In "0"
+ set sdrF.ReactiveOnTrack "1"
set sdrF.Title "Convolution Factor"
- connect sdrF.Out convol1.Factor
- connect sdrF.Out convol2.Factor
-
-#Create CheckBox for Convolution Filter On/Off
-
new CheckBox checkF
set checkF.In "True"
- connect checkF.Out convol1.On
- connect checkF.Out convol2.On
-
new MultipleInputs multF
- connect sdrF.BoxChange multF.In1
- connect checkF.BoxChange multF.In2
-
- connect multF.BoxChange convol1.BoxExecute
- connect multF.BoxChange convol2.BoxExecute
-
-#Create Sliders for WinLevel and ColorLevel
new Slider colorLevel
set colorLevel.Min "0"
- connect properties.ColorLevel colorLevel.Max
- connect properties.MidColorLevel colorLevel.In
- set colorLevel.ReactiveOnTrack true
+ set colorLevel.ReactiveOnTrack "true"
set colorLevel.Title "Color Level"
new Slider windowLevel
set windowLevel.Min "0"
- connect properties.ColorLevel windowLevel.Max
- connect properties.MidColorLevel windowLevel.In
- set windowLevel.ReactiveOnTrack true
+ 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
-
-# Button for saving
new CommandButton saveBut
set saveBut.Label "Save Image"
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
-
-////////////////////Checkboard/////////////////////////
-# Create the visulization box for checkerBoard
new CheckBoardBox cbb
- connect convol1.Out cbb.In1
- connect convol2.Out cbb.In2
-# Create the slider1
new Slider sdr
- set sdr.ReactiveOnTrack 1
- set sdr.Max 50
- set sdr.In 14
+ set sdr.In "14"
+ set sdr.Max "50"
+ set sdr.ReactiveOnTrack "1"
-# Create the slider2
new Slider sdr2
- set sdr2.ReactiveOnTrack 1
- set sdr2.Max 50
- set sdr2.In 14
+ set sdr2.In "14"
+ set sdr2.Max "50"
+ set sdr2.ReactiveOnTrack "1"
-# Create viewer & layout for Checkerboard
new LayoutSplit checkerBoard
+ set checkerBoard.Proportion "80"
+
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 for CheckBoard
- 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
-/////////////end of Checkboard////////////////////
-
-//////////////Transparency///////////////////////////
-#Image Transparency view
new TransparencyBox trans
- connect convol1.Out trans.In1
- connect convol2.Out trans.In2
new Slider sdrP
+ set sdrP.In "50"
set sdrP.Max "100"
set sdrP.Min "0"
- set sdrP.In "50"
- set sdrP.ReactiveOnTrack true
-
- connect sdrP.Out trans.Percent
+ set sdrP.ReactiveOnTrack "true"
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
-///////////////////end of Transparency////////////////
-
-
-/////////////////Image Switcher//////////////////////
+ set transparency.Proportion "80"
new ImageSwitcherBox switch
- connect convol1.Out switch.In1
- connect convol2.Out switch.In2
new CheckBox checkS
- connect checkS.Out switch.On
- set checkS.Title "On"
set checkS.In "true"
+ set checkS.Title "On"
new Slider sdrT
+ set sdrT.In "500"
set sdrT.Max "1000"
set sdrT.Min "0"
- set sdrT.In "500"
set sdrT.ReactiveOnTrack "True"
-connect sdrT.Out switch.Time
-
new Viewer2D viewerSwitch
- connect switch.Out viewerSwitch.In
-
- connect sdrT.BoxChange switch.BoxExecute
- connect switch.BoxChange viewerSwitch.BoxExecute
new LayoutSplit switcher
set switcher.Proportion "70"
new LayoutSplit switchWindow
set switchWindow.Proportion "80"
- connect viewerSwitch.Widget switchWindow.Widget1
new LayoutSplit switchTool
- set switchTool.Orientation H
+ set switchTool.Orientation "H"
set switchTool.Proportion "50"
- connect switch.Widget switchTool.Widget1
- connect checkS.Widget switchTool.Widget2
-
- connect switchTool.Widget switchWindow.Widget2
-
- connect switchWindow.Widget switcher.Widget1
- connect sdrT.Widget switcher.Widget2
-
-//////////////end of Image Switch///////////////////
-
-#Multiple inputs for managing the interaction
new MultipleInputs mult
- connect slider.BoxChange mult.In1
- connect sliderX.BoxChange mult.In2
- connect sliderY.BoxChange mult.In3
- connect viewer1.BoxChange mult.In4
- connect viewer2.BoxChange mult.In5
new MultipleInputs mult2
- connect multF.BoxChange mult2.In1
- connect mult.BoxChange mult2.In2
-
-# Execution pipeline for checkboard
new MultipleInputs mult3
- connect ly.BoxChange mult3.In1
- connect mult2.BoxChange mult3.In2
- connect imgslice1.BoxChange mult3.In3
- connect imgslice2.BoxChange mult3.In4
- connect multLevels.BoxChange mult3.In5
-
- connect mult3.BoxChange cbb.BoxExecute
- connect cbb.BoxChange viewerCH.BoxExecute
-
-#Execution pipeline for Transparency
new MultipleInputs mult4
- connect mult2.BoxChange mult4.In1
- connect sdrP.BoxChange mult4.In2
-
- connect mult4.BoxChange trans.BoxExecute
- connect trans.BoxChange transView.BoxExecute
-
-///////////////////////////////////////////////////////////////
-
-#Layout for the tabs
new LayoutTab tabs
- connect switcher.Widget tabs.Widget1
- connect checkerBoard.Widget tabs.Widget2
- connect transparency.Widget tabs.Widget3
-
-#Layout where the images and the buttons will be displayed
new LayoutLine tools
- connect sdrZ.Widget tools.Widget1
- connect colorLevel.Widget tools.Widget2
- connect windowLevel.Widget tools.Widget3
- connect saveBut.Widget tools.Widget5
new LayoutSplit convolTools
- set convolTools.Orientation H
+ set convolTools.Orientation "H"
set convolTools.Proportion "80"
- connect sdrF.Widget convolTools.Widget1
- connect checkF.Widget convolTools.Widget2
-
- connect convolTools.Widget tools.Widget4
new LayoutSplit window1
- set window1.WinWidth "600"
+ set window1.Orientation "V"
set window1.Proportion "80"
- set window1.Orientation V
- connect initialImages.Widget window1.Widget1
- connect buttonsLayout.Widget window1.Widget2
+ set window1.WinWidth "600"
new LayoutSplit window2
- connect tabs.Widget window2.Widget1
- connect tools.Widget window2.Widget2
- set window2.Proportion "90"
+ set window2.Proportion "90"
new LayoutSplit main
- set main.WinWidth "1200"
+ set main.Orientation "H"
set main.Proportion "50"
- set main.Orientation H
- connect window1.Widget main.Widget1
- connect window2.Widget main.Widget2
+ set main.WinWidth "1200"
-exec main
+new vtkImageDataPointerRelay Box56
+
+new ImagesChooserDialogBox Box57
+
+new ImagesChooserDialogBox Box58
+
+new vtkImageDataPointerRelay Box59
+
+
+connect viewer1.Widget v1Layout.Widget1
+connect viewer2.Widget v2Layout.Widget1
+connect v1Layout.Widget initialImages.Widget1
+connect v2Layout.Widget initialImages.Widget2
+connect slider.Widget buttonsLayout.Widget1
+connect sliderX.Widget buttonsLayout.Widget2
+connect sliderY.Widget buttonsLayout.Widget3
+connect viewer2.Point transform.CenterPoint
+connect slider.Out transform.Angle
+connect sliderX.Out transform.ScaleX
+connect sliderY.Out transform.ScaleY
+connect viewer1.Point reslice1.Origin
+connect transform.Out reslice1.Transform
+connect imgslice2.Out reslice1.In
+connect imgslice1.Out convol1.In
+connect reslice1.Out convol2.In
+connect properties.LengthZ sdrZ.Max
+connect sdrZ.Out imgslice1.Z
+connect sdrZ.Out imgslice2.Z
+connect sdrZ.BoxChange imgslice1.BoxExecute
+connect sdrZ.BoxChange imgslice2.BoxExecute
+connect sdrF.Out convol1.Factor
+connect sdrF.Out convol2.Factor
+connect checkF.Out convol1.On
+connect checkF.Out convol2.On
+connect sdrF.BoxChange multF.In1
+connect checkF.BoxChange multF.In2
+connect multF.BoxChange convol1.BoxExecute
+connect multF.BoxChange convol2.BoxExecute
+connect properties.ColorLevel colorLevel.Max
+connect properties.MidColorLevel colorLevel.In
+connect properties.ColorLevel windowLevel.Max
+connect properties.MidColorLevel windowLevel.In
+connect colorLevel.Out viewer1.ColorLevel
+connect colorLevel.Out viewer2.ColorLevel
+connect windowLevel.Out viewer1.WindowLevel
+connect windowLevel.Out viewer2.WindowLevel
+connect colorLevel.BoxChange multLevels.In1
+connect windowLevel.BoxChange multLevels.In2
+connect multLevels.BoxChange viewer1.BoxExecute
+connect multLevels.BoxChange viewer2.BoxExecute
+connect reslice1.Out writSave.In
+connect fileSave.Out writSave.Filename
+connect saveBut.BoxChange fileSave.BoxExecute
+connect fileSave.BoxChange writSave.BoxExecute
+connect convol1.Out cbb.In1
+connect convol2.Out cbb.In2
+connect colorLevel.Out viewerCH.ColorLevel
+connect windowLevel.Out viewerCH.WindowLevel
+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
+connect convol1.Out trans.In1
+connect convol2.Out trans.In2
+connect sdrP.Out trans.Percent
+connect trans.Out transView.In
+connect transView.Widget transparency.Widget1
+connect sdrP.Widget transparency.Widget2
+connect colorLevel.Out transView.ColorLevel
+connect windowLevel.Out transView.WindowLevel
+connect convol1.Out switch.In1
+connect convol2.Out switch.In2
+connect checkS.Out switch.On
+connect sdrT.Out switch.Time
+connect switch.Out viewerSwitch.In
+connect sdrT.BoxChange switch.BoxExecute
+connect switch.BoxChange viewerSwitch.BoxExecute
+connect viewerSwitch.Widget switchWindow.Widget1
+connect switch.Widget switchTool.Widget1
+connect checkS.Widget switchTool.Widget2
+connect switchTool.Widget switchWindow.Widget2
+connect switchWindow.Widget switcher.Widget1
+connect sdrT.Widget switcher.Widget2
+connect slider.BoxChange mult.In1
+connect sliderX.BoxChange mult.In2
+connect sliderY.BoxChange mult.In3
+connect viewer1.BoxChange mult.In4
+connect viewer2.BoxChange mult.In5
+connect multF.BoxChange mult2.In1
+connect mult.BoxChange mult2.In2
+connect ly.BoxChange mult3.In1
+connect mult2.BoxChange mult3.In2
+connect imgslice1.BoxChange mult3.In3
+connect imgslice2.BoxChange mult3.In4
+connect multLevels.BoxChange mult3.In5
+connect mult3.BoxChange cbb.BoxExecute
+connect cbb.BoxChange viewerCH.BoxExecute
+connect mult2.BoxChange mult4.In1
+connect sdrP.BoxChange mult4.In2
+connect mult4.BoxChange trans.BoxExecute
+connect trans.BoxChange transView.BoxExecute
+connect switcher.Widget tabs.Widget1
+connect checkerBoard.Widget tabs.Widget2
+connect transparency.Widget tabs.Widget3
+connect sdrZ.Widget tools.Widget1
+connect colorLevel.Widget tools.Widget2
+connect windowLevel.Widget tools.Widget3
+connect saveBut.Widget tools.Widget5
+connect sdrF.Widget convolTools.Widget1
+connect checkF.Widget convolTools.Widget2
+connect convolTools.Widget tools.Widget4
+connect initialImages.Widget window1.Widget1
+connect buttonsLayout.Widget window1.Widget2
+connect tabs.Widget window2.Widget1
+connect tools.Widget window2.Widget2
+connect window1.Widget main.Widget1
+connect window2.Widget main.Widget2
+connect Box56.Out imgslice2.In
+connect Box56.Out viewer2.In
+connect Box57.Out Box56.In
+connect Box58.Out Box59.In
+connect Box59.Out imgslice1.In
+connect Box59.Out viewer1.In
+connect Box59.Out properties.In
+connect Box58.BoxChange properties.BoxExecute
+exec main