X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=PackRecalage%2Fbbs%2Fappli%2FExampleRecalage3D1Point.bbs;fp=PackRecalage%2Fbbs%2Fappli%2FExampleRecalage3D1Point.bbs;h=8b00114322d0abaf702a8ac0912b6770e1392ea5;hb=3797ae6d71a76d3f096ad93b92e77db684c00eb7;hp=0000000000000000000000000000000000000000;hpb=98948f2103a598cb1dd64de7f8d86b3ffd8d389b;p=creaRigidRegistration.git diff --git a/PackRecalage/bbs/appli/ExampleRecalage3D1Point.bbs b/PackRecalage/bbs/appli/ExampleRecalage3D1Point.bbs new file mode 100644 index 0000000..8b00114 --- /dev/null +++ b/PackRecalage/bbs/appli/ExampleRecalage3D1Point.bbs @@ -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