+//
+// Graphical organization
+// ----------------------
+
+new LayoutSplit mainSplit
+ set mainSplit.Proportion 60
+ set mainSplit.WinHeight 1000
+ set mainSplit.WinWidth 1400
+ set mainSplit.WinTitle "Processing / Viewing example (demoFiltering1.bbs) "
+
+ new LayoutSplit splitUp
+ set splitUp.Proportion 38
+ connect splitUp.Widget mainSplit.Widget1
+
+ new LayoutLine toolLayout
+ set toolLayout.Orientation H
+ connect toolLayout.Widget splitUp.Widget1
+
+ new LayoutLine sliderLayout
+ set sliderLayout.Orientation V
+ connect sliderLayout.Widget toolLayout.Widget1
+
+ new Slider sliceSlider
+ set sliceSlider.Title "Slice"
+ set sliceSlider.ReactiveOnTrack true
+ connect sliceSlider.Widget sliderLayout.Widget1
+
+ new Slider lowerThresholdSlider
+ set lowerThresholdSlider.Title "LowerThreshold"
+ set lowerThresholdSlider.Max 200
+ set lowerThresholdSlider.In 10
+ set lowerThresholdSlider.ChangeResolution 1
+ connect lowerThresholdSlider.Widget sliderLayout.Widget2
+
+ new Slider upperThresholdSlider
+ set upperThresholdSlider.Title "UpperThreshold"
+ set upperThresholdSlider.Max 500
+ set upperThresholdSlider.In 150
+ set upperThresholdSlider.ChangeResolution 1
+ connect upperThresholdSlider.Widget sliderLayout.Widget3
+
+ new Slider smoothSlider
+ set smoothSlider.Title "Smooth"
+ set smoothSlider.Max 10
+ set smoothSlider.In 3
+ set smoothSlider.ChangeResolution 1
+ connect smoothSlider.Widget sliderLayout.Widget4
+
+ new LayoutLine buttonLayout
+ set buttonLayout.Orientation H
+ connect buttonLayout.Widget toolLayout.Widget2
+
+ new ColourSelectorButton colourThreshold
+ set colourThreshold.In "1 0 0"
+ connect colourThreshold.Widget buttonLayout.Widget1
+
+ new ColourSelectorButton colourSmooth
+ set colourSmooth.In "1 1 0"
+ connect colourSmooth.Widget buttonLayout.Widget2
+
+
+/*
+ new CommandButton refresh
+ set refresh.Label "Refresh (to be used once at start time)"
+ connect refresh.Widget buttonLayout.Widget3
+*/
+ new LayoutLine layout2D
+ set layout2D.Orientation H
+ connect layout2D.Widget splitUp.Widget2
+
+ new Viewer2D viewer2DImageOriginal
+ connect viewer2DImageOriginal.Widget layout2D.Widget1
+
+ new Viewer2D viewer2DImageSegmented
+ connect viewer2DImageSegmented.Widget layout2D.Widget2
+
+ new Viewer2D viewer2DImageSmooth
+ connect viewer2DImageSmooth.Widget layout2D.Widget3
+
+ new LayoutSplit layout3D
+ set layout3D.Orientation H
+ set layout3D.Proportion 90
+ connect layout3D.Widget mainSplit.Widget2
+
+ new LayoutSplit layoutSurfaces
+ set layoutSurfaces.Orientation H
+ set layoutSurfaces.Proportion 50
+ connect layoutSurfaces.Widget layout3D.Widget1
+
+ new Viewer3D viewer3DSurfaceThreshold
+ connect viewer3DSurfaceThreshold.Widget layoutSurfaces.Widget1
+
+ new Viewer3D viewer3DSurfaceSmooth
+ connect viewer3DSurfaceSmooth.Widget layoutSurfaces.Widget2
+
+ new LayoutLine vSliderLayout
+ connect vSliderLayout.Widget layout3D.Widget2
+
+ new Slider lowerOpacitySlider
+ set lowerOpacitySlider.Title "Opacity"
+ set lowerOpacitySlider.Min 1
+ set lowerOpacitySlider.Max 100
+ set lowerOpacitySlider.In 50
+ set lowerOpacitySlider.Orientation V
+ connect lowerOpacitySlider.Widget vSliderLayout.Widget1
+
+/*
+ new Slider upperOpacitySlider
+ set upperOpacitySlider.Title "UpperOpacity"
+ set upperOpacitySlider.Max 100
+ set upperOpacitySlider.In 100
+ set upperOpacitySlider.Orientation V
+ connect upperOpacitySlider.Widget vSliderLayout.Widget2
+*/
+
+//
+// End of Graphical organization
+// -----------------------------
+
+//
+// Processing pipeline
+// -------------------
+
+ connect reader.Out viewer2DImageOriginal.In
+ connect sliceSlider.Out viewer2DImageOriginal.Slice
+