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