+description "Recalage3D Version 1"
+author "jn.trillos44@uniandes.edu.co"
+category "demo"
+
+load vtk
+include wxvtk
+load std
+load itk
+include vtk
+include wx
+load itkvtk
+load creaMaracasVisu
+load PackRecalage
+
+///////////////////////
+//Image Readers//
+//////////////////////
+
+#Uncomment to use a FileReadeDialog for .mhd
+#-------------------------------------------------------
+
+//File selection and file reader for the first image
+
+new FileSelector openFileDialog
+ set openFileDialog.Wildcard "(*.mhd)|*.mhd"
+new MetaImageReader reader
+ connect openFileDialog.Out reader.In
+
+//File selection and file reader for the second image
+
+new FileSelector openFileDialog2
+ set openFileDialog2.Wildcard "(*.mhd)|*.mhd"
+new MetaImageReader reader2
+ connect openFileDialog2.Out reader2.In
+
+#-------------------------------------------------------
+
+
+#Uncomment to use a Gimmick Reader
+#-------------------------------------------------------
+/*
+load creaImageIO
+
+new Gimmick reader
+
+new Gimmick reader2
+*/
+#------------------------------------------------------
+
+///////////////////////
+//Image Viewers///
+//////////////////////
+
+//Viewer NV for the first image
+
+new ViewerNV viewer
+ connect reader.Out viewer.In
+ set viewer.nTypeView "5"
+
+//Viewer NV for the second image
+
+new ViewerNV viewer2
+ connect reader2.Out viewer2.In
+ set viewer2.nTypeView "5"
+
+///////////////////////
+//Image Controls//
+//////////////////////
+
+new Slider sdrAngleX
+ set sdrAngleX.Max 180
+ set sdrAngleX.Min -180
+ set sdrAngleX.In 0
+ set sdrAngleX.Title "Rotation angle in X Axis"
+ set sdrAngleX.ReactiveOnTrack true
+
+new Slider sdrAngleY
+ set sdrAngleY.Max 180
+ set sdrAngleY.Min -180
+ set sdrAngleY.In 0
+ set sdrAngleY.Title "Rotation angle in Y Axis"
+ set sdrAngleY.ReactiveOnTrack true
+
+new Slider sdrAngleZ
+ set sdrAngleZ.Max 180
+ set sdrAngleZ.Min -180
+ set sdrAngleZ.In 0
+ set sdrAngleZ.Title "Rotation angle in Z Axis"
+ set sdrAngleZ.ReactiveOnTrack true
+
+new Slider sdrScaleX
+ set sdrScaleX.Max 300
+ set sdrScaleX.Min 10
+ set sdrScaleX.In 100
+ set sdrScaleX.Title "Scale in X Axis"
+ set sdrScaleX.ReactiveOnTrack true
+
+new Slider sdrScaleY
+ set sdrScaleY.Max 300
+ set sdrScaleY.Min 10
+ set sdrScaleY.In 100
+ set sdrScaleY.Title "Scale in Y Axis"
+ set sdrScaleY.ReactiveOnTrack true
+
+new Slider sdrScaleZ
+ set sdrScaleZ.Max 300
+ set sdrScaleZ.Min 10
+ set sdrScaleZ.In 100
+ set sdrScaleZ.Title "Scale in Z Axis"
+ set sdrScaleZ.ReactiveOnTrack true
+
+
+///////////////////////////////
+//Transformation Boxes//
+//////////////////////////////
+
+new Transform3D1PointBox transform
+ connect viewer2.Point transform.CenterPoint
+ connect sdrAngleX.Out transform.AngleX
+ connect sdrAngleY.Out transform.AngleY
+ connect sdrAngleZ.Out transform.AngleZ
+ connect sdrScaleX.Out transform.ScaleX
+ connect sdrScaleY.Out transform.ScaleY
+ connect sdrScaleZ.Out transform.ScaleZ
+
+new ReSlicerBox reslicer
+ connect viewer.Point reslicer.Origin
+ connect reader2.Out reslicer.In
+ connect transform.Out reslicer.Transform
+
+///////////////////////////////////////////////
+//Multiple Inputs for image interaction//
+///////////////////////////////////////////////
+
+new MultipleInputs mult
+ connect viewer.BoxChange mult.In1
+ connect viewer2.BoxChange mult.In2
+ connect sdrAngleX.BoxChange mult.In3
+ connect sdrAngleY.BoxChange mult.In4
+ connect sdrAngleZ.BoxChange mult.In5
+
+new MultipleInputs mult2
+ connect sdrScaleX.BoxChange mult2.In1
+ connect sdrScaleY.BoxChange mult2.In2
+ connect sdrScaleZ.BoxChange mult2.In3
+
+new MultipleInputs mult3
+ connect mult.BoxChange mult3.In1
+ connect mult2.BoxChange mult3.In2
+
+ connect mult3.BoxChange transform.BoxExecute
+ connect mult3.BoxChange reslicer.BoxExecute
+
+/////////////////////////////////////////
+//Image Result Viewer //
+////////////////////////////////////////
+
+new ViewerNV viewerResult
+ connect reslicer.Out viewerResult.In
+ set viewerResult.nTypeView "5"
+
+ connect mult3.BoxChange viewerResult.BoxExecute
+
+//////////////////////////////////////
+//Interface Layouts //
+//////////////////////////////////////
+
+new LayoutSplit imagesLayout
+ set imagesLayout.Orientation "v"
+ set imagesLayout.Proportion 50
+
+ connect viewer.Widget imagesLayout.Widget1
+ connect viewer2.Widget imagesLayout.Widget2
+
+new LayoutLine toolsLayout
+ set toolsLayout.Orientation "v"
+ connect sdrAngleX.Widget toolsLayout.Widget1
+ connect sdrAngleY.Widget toolsLayout.Widget2
+ connect sdrAngleZ.Widget toolsLayout.Widget3
+ connect sdrScaleX.Widget toolsLayout.Widget4
+ connect sdrScaleY.Widget toolsLayout.Widget5
+ connect sdrScaleZ.Widget toolsLayout.Widget6
+
+new LayoutSplit resultLayout
+ set resultLayout.Orientation "v"
+ set resultLayout.Proportion 60
+
+ connect viewerResult.Widget resultLayout.Widget1
+ connect toolsLayout.Widget resultLayout.Widget2
+
+new LayoutSplit main
+ set main.Orientation "h"
+ set main.Proportion 50
+
+ connect imagesLayout.Widget main.Widget1
+ connect resultLayout.Widget main.Widget2
+
+exec main
+
+
\ No newline at end of file