From 68470a8245541c86222d3ef79648b0d038fe658c Mon Sep 17 00:00:00 2001 From: Eduardo Davila Date: Fri, 26 Oct 2012 13:16:32 +0000 Subject: [PATCH] Feature #1727 Comparing 2 Images ComplexBox in Registration 3D --- .../bbs/appli/ExampleRecalage3D1Point.bbg | 311 +++++++++++++----- .../bbs/appli/ExampleRecalage3D1Point.bbs | 150 ++++++++- 2 files changed, 371 insertions(+), 90 deletions(-) diff --git a/PackRecalage/bbs/appli/ExampleRecalage3D1Point.bbg b/PackRecalage/bbs/appli/ExampleRecalage3D1Point.bbg index de6a7e2..fce7c38 100644 --- a/PackRecalage/bbs/appli/ExampleRecalage3D1Point.bbg +++ b/PackRecalage/bbs/appli/ExampleRecalage3D1Point.bbg @@ -1,5 +1,5 @@ # ---------------------------------- -# - BBTKGEditor v 1.2 BBG BlackBox Diagram file +# - BBTKGEditor v 1.4 BBG BlackBox Diagram file # - /Users/davila/Creatis/All5/creatools_source/creaRigidRegistration/PackRecalage/bbs/appli/ExampleRecalage3D1Point.bbg # ---------------------------------- @@ -8,28 +8,29 @@ CATEGORY:example DESCRIPTION:Recalage3D 1-point AUTHOR:info-dev@creatis.insa-lyon.fr COMPLEXBOX:FALSE -BOXES:22 +COMPLEXINPUTS:0 +BOXES:36 BOX creaMaracasVisu:ViewerNV:viewer ISEXEC:FALSE -90.360135:-42.468343:900.000000 -151.000135:-52.468343:900.000000 +90.360135:-42.468343:-900.000000 +151.000135:-52.468343:-900.000000 PORT nTypeView:"5" FIN_BOX BOX creaMaracasVisu:ViewerNV:viewer2 ISEXEC:FALSE --47.024134:-12.908709:900.000000 -13.615866:-22.908709:900.000000 +-47.024134:-12.908709:-900.000000 +13.615866:-22.908709:-900.000000 PORT nTypeView:"5" FIN_BOX BOX wx:Slider:sdrAngleX ISEXEC:FALSE --105.651195:-72.615731:900.000000 --54.251195:-82.615731:900.000000 +-153.088264:-26.096799:-900.000000 +-101.688264:-36.096799:-900.000000 PORT In:"0" PORT @@ -37,15 +38,13 @@ Max:"180" PORT Min:"-180" PORT -ReactiveOnTrack:"true" -PORT Title:"Rotation angle in X Axis" FIN_BOX BOX wx:Slider:sdrAngleY ISEXEC:FALSE --128.173652:-36.516009:900.000000 --76.773652:-46.516009:900.000000 +-124.807150:-48.145742:-900.000000 +-73.407150:-58.145742:-900.000000 PORT In:"0" PORT @@ -53,15 +52,13 @@ Max:"180" PORT Min:"-180" PORT -ReactiveOnTrack:"true" -PORT Title:"Rotation angle in Y Axis" FIN_BOX BOX wx:Slider:sdrAngleZ ISEXEC:FALSE -11.379897:-45.700867:900.000000 -62.779897:-55.700867:900.000000 +-122.668078:-72.632880:-900.000000 +-71.268078:-82.632880:-900.000000 PORT In:"0" PORT @@ -69,15 +66,13 @@ Max:"180" PORT Min:"-180" PORT -ReactiveOnTrack:"true" -PORT Title:"Rotation angle in Z Axis" FIN_BOX BOX wx:Slider:sdrScaleX ISEXEC:FALSE --237.075654:-45.586714:900.000000 --185.675654:-55.586714:900.000000 +-238.911928:-38.853711:-900.000000 +-187.511928:-48.853711:-900.000000 PORT In:"100" PORT @@ -85,15 +80,13 @@ Max:"300" PORT Min:"10" PORT -ReactiveOnTrack:"true" -PORT Title:"Scale in X Axis" FIN_BOX BOX wx:Slider:sdrScaleY ISEXEC:FALSE --256.813675:-85.339132:900.000000 --205.413675:-95.339132:900.000000 +-251.610900:-55.346663:-900.000000 +-200.210900:-65.346663:-900.000000 PORT In:"100" PORT @@ -101,15 +94,13 @@ Max:"300" PORT Min:"10" PORT -ReactiveOnTrack:"true" -PORT Title:"Scale in Y Axis" FIN_BOX BOX wx:Slider:sdrScaleZ ISEXEC:FALSE --184.520956:-37.861589:900.000000 --133.120956:-47.861589:900.000000 +-221.246429:-71.526605:-900.000000 +-169.846429:-81.526605:-900.000000 PORT In:"100" PORT @@ -117,53 +108,51 @@ Max:"300" PORT Min:"10" PORT -ReactiveOnTrack:"true" -PORT Title:"Scale in Z Axis" FIN_BOX BOX PackRecalage:Transform3D1PointBox:transform ISEXEC:FALSE --82.895553:-211.980656:900.000000 --11.720553:-221.980656:900.000000 +-82.895553:-211.980656:-900.000000 +-11.720553:-221.980656:-900.000000 FIN_BOX BOX PackRecalage:ReSlicerBox:reslicer ISEXEC:FALSE -36.901778:-161.414847:900.000000 -82.476778:-171.414847:900.000000 +9.868770:-240.662296:-900.000000 +55.443770:-250.662296:-900.000000 FIN_BOX BOX std:MultipleInputs:mult ISEXEC:FALSE -34.133463:-99.687937:900.000000 -79.708463:-109.687937:900.000000 +34.133463:-99.687937:-900.000000 +79.708463:-109.687937:-900.000000 FIN_BOX BOX std:MultipleInputs:mult2 ISEXEC:FALSE --252.787883:-121.560922:900.000000 --207.212883:-131.560922:900.000000 +-306.113269:-114.895249:-900.000000 +-260.538269:-124.895249:-900.000000 FIN_BOX BOX std:MultipleInputs:mult3 ISEXEC:FALSE --28.715453:-141.266703:900.000000 -16.859547:-151.266703:900.000000 +-7.207547:-159.189958:-900.000000 +38.367453:-169.189958:-900.000000 FIN_BOX BOX creaMaracasVisu:ViewerNV:viewerResult ISEXEC:FALSE -46.286271:-334.890606:900.000000 -106.926271:-344.890606:900.000000 +225.201963:-265.292080:-900.000000 +285.841963:-275.292080:-900.000000 PORT nTypeView:"5" FIN_BOX BOX wx:LayoutSplit:imagesLayout ISEXEC:FALSE -29.799055:-289.038465:900.000000 -75.374055:-299.038465:900.000000 +-40.421850:-472.113974:-900.000000 +5.153150:-482.113974:-900.000000 PORT Orientation:"v" PORT @@ -172,56 +161,162 @@ FIN_BOX BOX wx:LayoutLine:toolsLayout ISEXEC:FALSE --201.316787:-213.929071:900.000000 --143.756787:-223.929071:900.000000 +-270.366796:-208.839533:-900.000000 +-212.806796:-218.839533:-900.000000 PORT Orientation:"v" +PORT +WinTitle:"Rotation" FIN_BOX BOX wx:LayoutSplit:resultLayout ISEXEC:FALSE --43.885881:-366.917898:900.000000 -1.689119:-376.917898:900.000000 -PORT -Orientation:"v" +41.826255:-473.243255:-900.000000 +87.401255:-483.243255:-900.000000 PORT -Proportion:"60" +Proportion:"70" FIN_BOX BOX wx:LayoutSplit:main ISEXEC:TRUE --3.559422:-406.128515:900.000000 -42.015578:-416.128515:900.000000 +-3.260949:-500.894082:-900.000000 +42.314051:-510.894082:-900.000000 PORT Orientation:"h" PORT -Proportion:"50" +Proportion:"25" +PORT +WinHeight:"800" +PORT +WinWidth:"1200" FIN_BOX BOX vtk:vtkImageDataPointerRelay:Box22 ISEXEC:FALSE --80.407015:12.725826:900.000000 --9.232015:2.725826:900.000000 +-80.407015:12.725826:-900.000000 +-9.232015:2.725826:-900.000000 FIN_BOX BOX vtk:vtkImageDataPointerRelay:Box23 ISEXEC:FALSE -85.109556:15.417152:900.000000 -156.284556:5.417152:900.000000 +78.836417:-15.052381:-900.000000 +150.011417:-25.052381:-900.000000 FIN_BOX BOX creaImageIO:ImagesChooserDialogBox:Box24 ISEXEC:FALSE --44.746941:47.713068:900.000000 -26.428059:37.713068:900.000000 +-44.746941:47.713068:-900.000000 +26.428059:37.713068:-900.000000 FIN_BOX BOX creaImageIO:ImagesChooserDialogBox:Box25 ISEXEC:FALSE -66.270272:48.049484:900.000000 -137.445272:38.049484:900.000000 +66.270272:48.049484:-900.000000 +137.445272:38.049484:-900.000000 +FIN_BOX +BOX +wx:LayoutTab:Box26 +ISEXEC:FALSE +75.709436:-446.477577:-900.000000 +133.269436:-456.477577:-900.000000 +PORT +WinTitle:"2D-Compare" +FIN_BOX +BOX +PackRecalage:CompareImagesWidget:Box27 +ISEXEC:FALSE +30.818476:-420.063285:-900.000000 +101.993476:-430.063285:-900.000000 +PORT +WinTitle:"2D-Comparing" +FIN_BOX +BOX +wx:LayoutSplit:Box28 +ISEXEC:FALSE +199.046104:-426.771380:-900.000000 +244.621104:-436.771380:-900.000000 +PORT +Orientation:"H" +PORT +Proportion:"50" +PORT +WinTitle:"3D-Comparing" +FIN_BOX +BOX +wx:LayoutLine:Box29 +ISEXEC:FALSE +135.414196:-398.280657:-900.000000 +192.974196:-408.280657:-900.000000 +FIN_BOX +BOX +wxvtk:IsoSurfaceWidget:Box30 +ISEXEC:FALSE +114.262492:-316.339524:-900.000000 +159.837492:-326.339524:-900.000000 +PORT +Title:"Reference image" +FIN_BOX +BOX +wxvtk:IsoSurfaceWidget:Box31 +ISEXEC:FALSE +187.729941:-322.707814:-900.000000 +233.304941:-332.707814:-900.000000 +PORT +Title:"Registration image" +FIN_BOX +BOX +wx:LayoutTab:Box32 +ISEXEC:FALSE +-168.261119:-240.028813:-900.000000 +-110.701119:-250.028813:-900.000000 +FIN_BOX +BOX +wx:LayoutLine:Box33 +ISEXEC:FALSE +-207.303357:-208.910096:-900.000000 +-149.743357:-218.910096:-900.000000 +PORT +WinTitle:"Scale" +FIN_BOX +BOX +wx:Slider:TranslateZ +ISEXEC:FALSE +-178.833568:35.008744:-900.000000 +-127.433568:25.008744:-900.000000 +FIN_BOX +BOX +wx:Slider:TranslateY +ISEXEC:FALSE +-198.558287:50.632292:-900.000000 +-147.158287:40.632292:-900.000000 +FIN_BOX +BOX +wx:Slider:TranslateX +ISEXEC:FALSE +-220.976208:67.939091:-900.000000 +-169.576208:57.939091:-900.000000 +FIN_BOX +BOX +wx:LayoutLine:Box37 +ISEXEC:FALSE +-144.549789:-208.672448:-900.000000 +-86.989789:-218.672448:-900.000000 +PORT +WinTitle:"Translate" +FIN_BOX +BOX +wx:LayoutTab:Box38 +ISEXEC:FALSE +134.239380:-364.807837:-900.000000 +191.799380:-374.807837:-900.000000 FIN_BOX -CONNECTIONS:40 +BOX +wx:LayoutTab:Box39 +ISEXEC:FALSE +71.124395:-366.016312:-900.000000 +128.684395:-376.016312:-900.000000 +FIN_BOX +CONNECTIONS:62 CONNECTION viewer2:Point:transform:CenterPoint NumberOfControlPoints:0 @@ -307,39 +402,105 @@ CONNECTION sdrAngleZ:Widget:toolsLayout:Widget3 NumberOfControlPoints:0 CONNECTION -sdrScaleX:Widget:toolsLayout:Widget4 +imagesLayout:Widget:main:Widget1 NumberOfControlPoints:0 CONNECTION -sdrScaleY:Widget:toolsLayout:Widget5 +resultLayout:Widget:main:Widget2 NumberOfControlPoints:0 CONNECTION -sdrScaleZ:Widget:toolsLayout:Widget6 +Box22:Out:viewer2:In NumberOfControlPoints:0 CONNECTION -viewerResult:Widget:resultLayout:Widget1 +Box22:Out:reslicer:In NumberOfControlPoints:0 CONNECTION -toolsLayout:Widget:resultLayout:Widget2 +Box24:Out:Box22:In NumberOfControlPoints:0 CONNECTION -imagesLayout:Widget:main:Widget1 +Box23:Out:viewer:In NumberOfControlPoints:0 CONNECTION -resultLayout:Widget:main:Widget2 +Box25:Out:Box23:In NumberOfControlPoints:0 CONNECTION -Box22:Out:viewer2:In +Box27:Widget:Box26:Widget2 NumberOfControlPoints:0 CONNECTION -Box22:Out:reslicer:In +Box26:Widget:resultLayout:Widget1 NumberOfControlPoints:0 CONNECTION -Box24:Out:Box22:In +reslicer:Out:Box27:In2 NumberOfControlPoints:0 CONNECTION -Box23:Out:viewer:In +Box23:Out:Box27:In1 NumberOfControlPoints:0 CONNECTION -Box25:Out:Box23:In +viewerResult:Widget:Box28:Widget2 +NumberOfControlPoints:0 +CONNECTION +Box28:Widget:Box26:Widget1 +NumberOfControlPoints:0 +CONNECTION +Box29:Widget:Box28:Widget1 +NumberOfControlPoints:0 +CONNECTION +sdrScaleX:Widget:Box33:Widget1 +NumberOfControlPoints:0 +CONNECTION +sdrScaleY:Widget:Box33:Widget2 +NumberOfControlPoints:0 +CONNECTION +sdrScaleZ:Widget:Box33:Widget3 +NumberOfControlPoints:0 +CONNECTION +Box33:Widget:Box32:Widget2 +NumberOfControlPoints:0 +CONNECTION +toolsLayout:Widget:Box32:Widget1 +NumberOfControlPoints:0 +CONNECTION +Box32:Widget:resultLayout:Widget2 +NumberOfControlPoints:0 +CONNECTION +TranslateX:Widget:Box37:Widget1 +NumberOfControlPoints:0 +CONNECTION +TranslateY:Widget:Box37:Widget2 +NumberOfControlPoints:0 +CONNECTION +TranslateZ:Widget:Box37:Widget3 +NumberOfControlPoints:0 +CONNECTION +Box37:Widget:Box32:Widget3 +NumberOfControlPoints:0 +CONNECTION +Box31:Widget:Box38:Widget2 +NumberOfControlPoints:0 +CONNECTION +Box38:Widget:Box29:Widget2 +NumberOfControlPoints:0 +CONNECTION +Box39:Widget:Box29:Widget1 +NumberOfControlPoints:0 +CONNECTION +Box30:Widget:Box39:Widget1 +NumberOfControlPoints:0 +CONNECTION +Box23:Out:Box30:In +NumberOfControlPoints:0 +CONNECTION +viewerResult:Renderer1:Box30:vtkRenderer +NumberOfControlPoints:0 +CONNECTION +Box30:BoxChange:mult3:In3 +NumberOfControlPoints:0 +CONNECTION +viewerResult:Renderer1:Box31:vtkRenderer +NumberOfControlPoints:0 +CONNECTION +Box31:BoxChange:mult3:In4 +NumberOfControlPoints:0 +CONNECTION +reslicer:Out:Box31:In NumberOfControlPoints:0 APP_END diff --git a/PackRecalage/bbs/appli/ExampleRecalage3D1Point.bbs b/PackRecalage/bbs/appli/ExampleRecalage3D1Point.bbs index 1dbc751..b195e7c 100644 --- a/PackRecalage/bbs/appli/ExampleRecalage3D1Point.bbs +++ b/PackRecalage/bbs/appli/ExampleRecalage3D1Point.bbs @@ -1,5 +1,5 @@ # ---------------------------------- -# - BBTKGEditor v 1.2 BBS BlackBox Script +# - BBTKGEditor v 1.4 BBS BlackBox Script # - /Users/davila/Creatis/All5/creatools_source/creaRigidRegistration/PackRecalage/bbs/appli/ExampleRecalage3D1Point.bbs # ---------------------------------- @@ -14,6 +14,7 @@ include PackRecalage include std include vtk include creaImageIO +include wxvtk author "info-dev@creatis.insa-lyon.fr" description "Recalage3D 1-point" @@ -29,42 +30,36 @@ new Slider sdrAngleX set sdrAngleX.In "0" set sdrAngleX.Max "180" set sdrAngleX.Min "-180" - set sdrAngleX.ReactiveOnTrack "true" set sdrAngleX.Title "Rotation angle in X Axis" new Slider sdrAngleY set sdrAngleY.In "0" set sdrAngleY.Max "180" set sdrAngleY.Min "-180" - set sdrAngleY.ReactiveOnTrack "true" set sdrAngleY.Title "Rotation angle in Y Axis" new Slider sdrAngleZ set sdrAngleZ.In "0" set sdrAngleZ.Max "180" set sdrAngleZ.Min "-180" - set sdrAngleZ.ReactiveOnTrack "true" set sdrAngleZ.Title "Rotation angle in Z Axis" new Slider sdrScaleX set sdrScaleX.In "100" set sdrScaleX.Max "300" set sdrScaleX.Min "10" - set sdrScaleX.ReactiveOnTrack "true" set sdrScaleX.Title "Scale in X Axis" new Slider sdrScaleY set sdrScaleY.In "100" set sdrScaleY.Max "300" set sdrScaleY.Min "10" - set sdrScaleY.ReactiveOnTrack "true" set sdrScaleY.Title "Scale in Y Axis" new Slider sdrScaleZ set sdrScaleZ.In "100" set sdrScaleZ.Max "300" set sdrScaleZ.Min "10" - set sdrScaleZ.ReactiveOnTrack "true" set sdrScaleZ.Title "Scale in Z Axis" new Transform3D1PointBox transform @@ -86,14 +81,16 @@ new LayoutSplit imagesLayout new LayoutLine toolsLayout set toolsLayout.Orientation "v" + set toolsLayout.WinTitle "Rotation" new LayoutSplit resultLayout - set resultLayout.Orientation "v" - set resultLayout.Proportion "60" + set resultLayout.Proportion "70" new LayoutSplit main set main.Orientation "h" - set main.Proportion "50" + set main.Proportion "25" + set main.WinHeight "800" + set main.WinWidth "1200" new vtkImageDataPointerRelay Box22 @@ -103,46 +100,169 @@ new ImagesChooserDialogBox Box24 new ImagesChooserDialogBox Box25 +new LayoutTab Box26 + set Box26.WinTitle "2D-Compare" + +new CompareImagesWidget Box27 + set Box27.WinTitle "2D-Comparing" + +new LayoutSplit Box28 + set Box28.Orientation "H" + set Box28.Proportion "50" + set Box28.WinTitle "3D-Comparing" + +new LayoutLine Box29 + +new IsoSurfaceWidget Box30 + set Box30.Title "Reference image" + +new IsoSurfaceWidget Box31 + set Box31.Title "Registration image" + +new LayoutTab Box32 + +new LayoutLine Box33 + set Box33.WinTitle "Scale" + +new Slider TranslateZ + +new Slider TranslateY + +new Slider TranslateX + +new LayoutLine Box37 + set Box37.WinTitle "Translate" + +new LayoutTab Box38 + +new LayoutTab Box39 + 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 + connect viewer.Point reslicer.Origin + connect transform.Out reslicer.Transform + 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 + 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 reslicer.Out viewerResult.In + connect mult3.BoxChange viewerResult.BoxExecute + connect viewer.Widget imagesLayout.Widget1 + connect viewer2.Widget imagesLayout.Widget2 + 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 -connect viewerResult.Widget resultLayout.Widget1 -connect toolsLayout.Widget resultLayout.Widget2 + connect imagesLayout.Widget main.Widget1 + connect resultLayout.Widget main.Widget2 + connect Box22.Out viewer2.In + connect Box22.Out reslicer.In + connect Box24.Out Box22.In + connect Box23.Out viewer.In + connect Box25.Out Box23.In +connect Box27.Widget Box26.Widget2 + +connect Box26.Widget resultLayout.Widget1 + +connect reslicer.Out Box27.In2 + +connect Box23.Out Box27.In1 + +connect viewerResult.Widget Box28.Widget2 + +connect Box28.Widget Box26.Widget1 + +connect Box29.Widget Box28.Widget1 + +connect sdrScaleX.Widget Box33.Widget1 + +connect sdrScaleY.Widget Box33.Widget2 + +connect sdrScaleZ.Widget Box33.Widget3 + +connect Box33.Widget Box32.Widget2 + +connect toolsLayout.Widget Box32.Widget1 + +connect Box32.Widget resultLayout.Widget2 + +connect TranslateX.Widget Box37.Widget1 + +connect TranslateY.Widget Box37.Widget2 + +connect TranslateZ.Widget Box37.Widget3 + +connect Box37.Widget Box32.Widget3 + +connect Box31.Widget Box38.Widget2 + +connect Box38.Widget Box29.Widget2 + +connect Box39.Widget Box29.Widget1 + +connect Box30.Widget Box39.Widget1 + +connect Box23.Out Box30.In + +connect viewerResult.Renderer1 Box30.vtkRenderer + +connect Box30.BoxChange mult3.In3 + +connect viewerResult.Renderer1 Box31.vtkRenderer + +connect Box31.BoxChange mult3.In4 + +connect reslicer.Out Box31.In + + + +# Complex input ports exec main -- 2.45.0