# ---------------------------------- # - BBTKGEditor v 1.4 BBS BlackBox Script (Complex Box) # - /home/davila/Creatis/All/creatools_source/creaRigidRegistration/PackRecalage/bbs/boxes/Recalage3D1PointWidget.bbs # ---------------------------------- include std include itkvtk include wx include PackRecalage include std include vtk include toolsbbtk define Recalage3D1PointWidget PackRecalage author "info-dev@creatis.insa-lyon.fr" description "Recalage3D 1-point Widget" category "widget" new Slider sdrAngleX set sdrAngleX.ChangeResolution "true" set sdrAngleX.In "0" set sdrAngleX.Max "180" set sdrAngleX.Min "-180" set sdrAngleX.Title "Rotation angle in X Axis" new Slider sdrAngleY set sdrAngleY.ChangeResolution "true" set sdrAngleY.In "0" set sdrAngleY.Max "180" set sdrAngleY.Min "-180" set sdrAngleY.Title "Rotation angle in Y Axis" new Slider sdrAngleZ set sdrAngleZ.ChangeResolution "true" set sdrAngleZ.In "0" set sdrAngleZ.Max "180" set sdrAngleZ.Min "-180" set sdrAngleZ.Title "Rotation angle in Z Axis" new Slider sdrScaleX set sdrScaleX.ChangeResolution "true" set sdrScaleX.In "100" set sdrScaleX.Max "300" set sdrScaleX.Min "10" set sdrScaleX.Title "Scale in X Axis" new Slider sdrScaleY set sdrScaleY.ChangeResolution "true" set sdrScaleY.In "100" set sdrScaleY.Max "300" set sdrScaleY.Min "10" set sdrScaleY.Title "Scale in Y Axis" new Slider sdrScaleZ set sdrScaleZ.ChangeResolution "true" set sdrScaleZ.In "100" set sdrScaleZ.Max "300" set sdrScaleZ.Min "10" set sdrScaleZ.Title "Scale in Z Axis" new Transform3D1PointBox transform new ReSlicerBox reslicer new MultipleInputs mult new MultipleInputs mult2 new MultipleInputs mult3 new LayoutLine toolsLayout set toolsLayout.Orientation "v" set toolsLayout.WinTitle "Rotation" new vtkImageDataPointerRelay Box22 new vtkImageDataPointerRelay Box23 new LayoutTab Box32 new LayoutLine Box33 set Box33.WinTitle "Scale" new Slider TranslateZ set TranslateZ.ChangeResolution "true" set TranslateZ.Max "1000" set TranslateZ.Min "-1000" set TranslateZ.ReactiveOnTrack "true" set TranslateZ.Title "Translate Y Axis" new Slider TranslateY set TranslateY.ChangeResolution "true" set TranslateY.Max "1000" set TranslateY.Min "-1000" set TranslateY.ReactiveOnTrack "true" set TranslateY.Title "Translate Y Axis" new Slider TranslateX set TranslateX.ChangeResolution "true" set TranslateX.Max "1000" set TranslateX.Min "-1000" set TranslateX.ReactiveOnTrack "true" set TranslateX.Title "Translate X Axis" new LayoutLine Box37 set Box37.WinTitle "Translate" new LayoutLine Box40 set Box40.WinTitle "Options" new SaveMHD-Button Box41 new CommandButton Box42 set Box42.Label "Same Matrix" set Box42.WinTitle "Same Matrix" new ConcatStrings Box43 set Box43.In2 " " set Box43.In4 " " new CheckBox Box44 set Box44.In "true" set Box44.ReactiveOnKeystroke "true" set Box44.Title "Reactive" new ConcatStrings Box45 new ConcatStrings Box46 new VectorRescaleSlope Box47 set Box47.A "0.5" new ImageVtkProperties Box48 new GetVectorDoubleElement Box49 set Box49.I "0" set Box49.In "0" new GetVectorDoubleElement Box50 set Box50.I "1" set Box50.In "0" new GetVectorDoubleElement Box51 set Box51.I "2" set Box51.In "0" new Add Box36 new Add Box38 new Add Box39 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 connect transform.Out reslicer.Transform connect sdrAngleX.BoxChange mult.In3 connect sdrAngleY.BoxChange mult.In4 connect sdrAngleZ.BoxChange mult.In5 connect sdrScaleX.BoxChange mult2.In1 connect sdrScaleY.BoxChange mult2.In2 connect sdrScaleZ.BoxChange mult2.In3 connect mult.BoxChange mult3.In1 connect mult2.BoxChange mult3.In2 connect mult3.BoxChange transform.BoxExecute connect mult3.BoxChange reslicer.BoxExecute connect sdrAngleX.Widget toolsLayout.Widget1 connect sdrAngleY.Widget toolsLayout.Widget2 connect sdrAngleZ.Widget toolsLayout.Widget3 connect Box22.Out reslicer.In connect sdrScaleX.Widget Box33.Widget1 connect sdrScaleY.Widget Box33.Widget2 connect sdrScaleZ.Widget Box33.Widget3 connect toolsLayout.Widget Box32.Widget1 connect TranslateX.Widget Box37.Widget1 connect TranslateY.Widget Box37.Widget2 connect TranslateZ.Widget Box37.Widget3 connect Box40.Widget Box32.Widget4 connect Box41.Widget Box40.Widget1 connect Box42.Widget Box40.Widget2 connect reslicer.Out Box41.In connect Box37.Widget Box32.Widget2 connect Box33.Widget Box32.Widget3 connect Box43.Out transform.CenterPoint connect TranslateX.BoxChange mult2.In4 connect TranslateY.BoxChange mult2.In5 connect TranslateZ.BoxChange mult2.In6 connect Box44.Out TranslateX.ReactiveOnTrack connect Box44.Out TranslateY.ReactiveOnTrack connect Box44.Out TranslateZ.ReactiveOnTrack connect Box44.Out sdrScaleX.ReactiveOnTrack connect Box44.Out sdrScaleY.ReactiveOnTrack connect Box44.Out sdrScaleZ.ReactiveOnTrack connect Box44.Out sdrAngleX.ReactiveOnTrack connect Box44.Out sdrAngleY.ReactiveOnTrack connect Box44.Out sdrAngleZ.ReactiveOnTrack connect Box44.Widget Box40.Widget3 connect Box47.Out Box46.In1 connect Box46.Out reslicer.Origin connect Box48.Size Box45.In1 connect Box45.Out Box47.In connect Box47.Out Box49.In connect Box47.Out Box50.In connect Box47.Out Box51.In connect Box22.Out Box48.In connect Box49.Out Box36.In1 connect TranslateX.Out Box36.In2 connect Box36.Out Box43.In1 connect TranslateY.Out Box38.In2 connect TranslateZ.Out Box39.In2 connect Box38.Out Box43.In3 connect Box39.Out Box43.In5 connect Box50.Out Box38.In1 connect Box51.Out Box39.In1 # Complex input ports input Image1 Box22.In " " input Image2 Box23.In " " # Complex output ports output Out reslicer.Out " " output Widget Box32.Widget " " output BoxChange mult3.BoxChange " " endefine