]> Creatis software - creaRigidRegistration.git/blobdiff - PackRecalage/bbs/appli/ExampleRecalage3D1Point.bbs
*** empty log message ***
[creaRigidRegistration.git] / PackRecalage / bbs / appli / ExampleRecalage3D1Point.bbs
diff --git a/PackRecalage/bbs/appli/ExampleRecalage3D1Point.bbs b/PackRecalage/bbs/appli/ExampleRecalage3D1Point.bbs
new file mode 100644 (file)
index 0000000..8b00114
--- /dev/null
@@ -0,0 +1,200 @@
+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