From 8350521be99adf8eb9b414f3bdf3d35d6959d66c Mon Sep 17 00:00:00 2001 From: Eduardo DAVILA Date: Wed, 5 Jun 2013 16:34:50 +0200 Subject: [PATCH] 2020 2020 creaRigidRegistration Feature New Normal Comparing Images in XY XZ YZ planes --- .../bbs/boxes/CompareImagesWidget.bbg | 658 ++++-------------- .../bbs/boxes/CompareImagesWidget.bbs | 238 +------ .../src/bbPackRecalageImageSwitcherBox.cxx | 41 +- 3 files changed, 187 insertions(+), 750 deletions(-) diff --git a/PackRecalage/bbs/boxes/CompareImagesWidget.bbg b/PackRecalage/bbs/boxes/CompareImagesWidget.bbg index 044b6e7..c71a2a3 100644 --- a/PackRecalage/bbs/boxes/CompareImagesWidget.bbg +++ b/PackRecalage/bbs/boxes/CompareImagesWidget.bbg @@ -1,29 +1,6 @@ -# --------------------------------------------------------------------- -# -# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image -# pour la Santé) -# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton -# -# This software is governed by the CeCILL-B license under French law and -# abiding by the rules of distribution of free software. You can use, -# modify and/ or redistribute the software under the terms of the CeCILL-B -# license as circulated by CEA, CNRS and INRIA at the following URL -# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -# or in the file LICENSE.txt. -# -# As a counterpart to the access to the source code and rights to copy, -# modify and redistribute granted by the license, users are provided only -# with a limited warranty and the software's author, the holder of the -# economic rights, and the successive licensors have only limited -# liability. -# -# The fact that you are presently reading this means that you have had -# knowledge of the CeCILL-B license and that you accept its terms. -# ------------------------------------------------------------------------ - # ---------------------------------- -# - BBTKGEditor v 1.2 BBG BlackBox Diagram file -# - /Users/davila/Creatis/All5/creatools_source/creaRigidRegistration/PackRecalage/bbs/boxes/CompareImagesWidget.bbg +# - BBTKGEditor v 1.4 BBG BlackBox Diagram file +# - /home/davila/Creatis/All/creatools_source/creaRigidRegistration/PackRecalage/bbs/boxes/CompareImagesWidget.bbg # ---------------------------------- APP_START @@ -33,136 +10,36 @@ AUTHOR:info-dev@creatis.insa-lyon.fr COMPLEXBOX:TRUE COMPLEXBOXNAME:CompareImagesWidget PACKAGENAME:PackRecalage +COMPLEXOUTPUTS:1 +COMPLEX_PORT +Widget +285.571509:-927.827298:-900.000000 +FIN_COMPLEX_PORT COMPLEXINPUTS:3 COMPLEX_PORT In2 -249.717196:49.730751:900.000000 +249.717196:49.730751:-900.000000 FIN_COMPLEX_PORT COMPLEX_PORT In1 -113.781869:47.035808:900.000000 +113.781869:47.035808:-900.000000 FIN_COMPLEX_PORT COMPLEX_PORT WinTitle -407.186862:37.672198:900.000000 -FIN_COMPLEX_PORT -COMPLEXOUTPUTS:1 -COMPLEX_PORT -Widget -285.571509:-927.827298:900.000000 +452.869978:45.181751:-900.000000 FIN_COMPLEX_PORT -BOXES:61 -BOX -vtk:SliceImage:imgslice1 -ISEXEC:FALSE -209.324121:-169.571051:900.000000 -254.899121:-179.571051:900.000000 -FIN_BOX -BOX -vtk:SliceImage:imgslice2 -ISEXEC:FALSE -106.576527:-125.465982:900.000000 -152.151527:-135.465982:900.000000 -FIN_BOX -BOX -wx:LayoutLine:buttonsLayout -ISEXEC:FALSE --178.547970:-356.648825:900.000000 --120.987970:-366.648825:900.000000 -PORT -Orientation:"V" -PORT -WinTitle:"Image transformation" -FIN_BOX -BOX -wx:Slider:slider -ISEXEC:FALSE --254.365136:-237.011859:900.000000 --202.965136:-247.011859:900.000000 -PORT -In:"0" -PORT -Max:"180" -PORT -Min:"-180" -PORT -ReactiveOnTrack:"1" -PORT -Title:"Angle" -FIN_BOX -BOX -wx:Slider:sliderX -ISEXEC:FALSE --198.389789:-235.628119:900.000000 --146.989789:-245.628119:900.000000 -PORT -In:"100" -PORT -Max:"500" -PORT -Min:"10" -PORT -ReactiveOnTrack:"1" -PORT -Title:"% Scale in X" -FIN_BOX -BOX -wx:Slider:sliderY -ISEXEC:FALSE --143.924585:-235.800900:900.000000 --92.524585:-245.800900:900.000000 -PORT -In:"100" -PORT -Max:"500" -PORT -Min:"10" -PORT -ReactiveOnTrack:"1" -PORT -Title:"% Scale in Y" -FIN_BOX -BOX -PackRecalage:Transform2DBox:transform -ISEXEC:FALSE --85.104255:-353.530495:900.000000 --39.529255:-363.530495:900.000000 -FIN_BOX -BOX -PackRecalage:ReSlicerBox:reslice1 -ISEXEC:FALSE --21.936824:-390.020404:900.000000 -23.638176:-400.020404:900.000000 -PORT -Centered:false -PORT -Interpolate:true -PORT -Origin:"0 0 0" -FIN_BOX -BOX -PackRecalage:ImageConvolution:convol1 -ISEXEC:FALSE -657.958659:-426.954262:900.000000 -729.133659:-436.954262:900.000000 -FIN_BOX -BOX -PackRecalage:ImageConvolution:convol2 -ISEXEC:FALSE -131.004768:-472.866354:900.000000 -202.179768:-482.866354:900.000000 -FIN_BOX +BOXES:36 BOX PackRecalage:ImageRecalageProperties:properties ISEXEC:FALSE -273.136800:-16.926937:900.000000 -344.311800:-26.926937:900.000000 +611.308256:-6.931722:-900.000000 +682.483256:-16.931722:-900.000000 FIN_BOX BOX wx:Slider:sdrZ ISEXEC:FALSE -157.988960:-92.078956:900.000000 -209.388960:-102.078956:900.000000 +567.054652:-61.454750:-900.000000 +599.829652:-71.454750:-900.000000 PORT Min:"0" PORT @@ -173,8 +50,8 @@ FIN_BOX BOX wx:Slider:sdrF ISEXEC:FALSE -742.015623:-97.753626:900.000000 -793.415623:-107.753626:900.000000 +829.057291:-86.758889:-900.000000 +861.832291:-96.758889:-900.000000 PORT In:"0" PORT @@ -189,22 +66,22 @@ FIN_BOX BOX wx:CheckBox:checkF ISEXEC:FALSE -783.350037:-121.503073:900.000000 -828.925037:-131.503073:900.000000 +864.894336:-109.592108:-900.000000 +910.469336:-119.592108:-900.000000 PORT In:"True" FIN_BOX BOX std:MultipleInputs:multF ISEXEC:FALSE -605.458888:-264.926917:900.000000 -651.033888:-274.926917:900.000000 +873.672975:-258.351155:-900.000000 +919.247975:-268.351155:-900.000000 FIN_BOX BOX wx:Slider:colorLevel ISEXEC:FALSE -312.016200:-75.468156:900.000000 -363.416200:-85.468156:900.000000 +626.588388:-79.223450:-900.000000 +672.163388:-89.223450:-900.000000 PORT Min:"0" PORT @@ -215,8 +92,8 @@ FIN_BOX BOX wx:Slider:windowLevel ISEXEC:FALSE -449.969493:-60.641726:900.000000 -501.369493:-70.641726:900.000000 +697.550959:-84.063593:-900.000000 +743.125959:-94.063593:-900.000000 PORT Min:"0" PORT @@ -227,20 +104,20 @@ FIN_BOX BOX std:MultipleInputs:multLevels ISEXEC:FALSE -288.287844:-125.896361:900.000000 -333.862844:-135.896361:900.000000 +288.287844:-125.896361:-900.000000 +333.862844:-135.896361:-900.000000 FIN_BOX BOX PackRecalage:CheckBoardBox:cbb ISEXEC:FALSE -589.969603:-597.941991:900.000000 -635.544603:-607.941991:900.000000 +558.230487:-599.874244:-900.000000 +603.805487:-609.874244:-900.000000 FIN_BOX BOX wx:Slider:sdr ISEXEC:FALSE -655.843588:-494.766848:900.000000 -707.243588:-504.766848:900.000000 +655.843588:-494.766848:-900.000000 +688.618588:-504.766848:-900.000000 PORT In:"14" PORT @@ -251,8 +128,8 @@ FIN_BOX BOX wx:Slider:sdr2 ISEXEC:FALSE -714.326943:-493.179468:900.000000 -765.726943:-503.179468:900.000000 +714.326943:-493.179468:-900.000000 +747.101943:-503.179468:-900.000000 PORT In:"14" PORT @@ -263,36 +140,36 @@ FIN_BOX BOX wx:LayoutSplit:checkerBoard ISEXEC:FALSE -644.846530:-650.309000:900.000000 -690.421530:-660.309000:900.000000 +644.846530:-650.309000:-900.000000 +690.421530:-660.309000:-900.000000 PORT Proportion:"80" FIN_BOX BOX wx:LayoutLine:ly ISEXEC:FALSE -697.847204:-530.358318:900.000000 -755.407204:-540.358318:900.000000 +697.847204:-530.358318:-900.000000 +730.622204:-540.358318:-900.000000 FIN_BOX BOX creaMaracasVisu:ViewerNV:viewerCH ISEXEC:FALSE -530.879919:-624.359326:900.000000 -591.519919:-634.359326:900.000000 +530.879919:-624.359326:-900.000000 +576.454919:-634.359326:-900.000000 PORT nTypeView:"0" FIN_BOX BOX PackRecalage:TransparencyBox:trans ISEXEC:FALSE -206.412919:-775.835874:900.000000 -251.987919:-785.835874:900.000000 +206.412919:-775.835874:-900.000000 +251.987919:-785.835874:-900.000000 FIN_BOX BOX wx:Slider:sdrP ISEXEC:FALSE -324.954367:-704.406667:900.000000 -376.354367:-714.406667:900.000000 +324.954367:-704.406667:-900.000000 +357.729367:-714.406667:-900.000000 PORT In:"50" PORT @@ -305,102 +182,58 @@ FIN_BOX BOX creaMaracasVisu:ViewerNV:transView ISEXEC:FALSE -164.282997:-798.714564:900.000000 -224.922997:-808.714564:900.000000 +164.282997:-798.714564:-900.000000 +209.857997:-808.714564:-900.000000 PORT nTypeView:"0" FIN_BOX BOX wx:LayoutSplit:transparency ISEXEC:FALSE -205.109758:-835.113298:900.000000 -250.684758:-845.113298:900.000000 +205.109758:-835.113298:-900.000000 +250.684758:-845.113298:-900.000000 PORT Proportion:"80" FIN_BOX BOX -PackRecalage:ImageSwitcherBox:switch -ISEXEC:FALSE --38.273100:-594.937642:900.000000 -7.301900:-604.937642:900.000000 -FIN_BOX -BOX -wx:CheckBox:checkS -ISEXEC:FALSE --17.242431:-541.840933:900.000000 -28.332569:-551.840933:900.000000 -PORT -In:"true" -PORT -Title:"On" -FIN_BOX -BOX -wx:Slider:sdrT -ISEXEC:FALSE --82.879472:-541.831420:900.000000 --31.479472:-551.831420:900.000000 -PORT -In:"500" -PORT -Max:"1000" -PORT -Min:"0" -PORT -ReactiveOnTrack:"True" -FIN_BOX -BOX -wx:LayoutSplit:switchWindow -ISEXEC:FALSE --32.958419:-709.214434:900.000000 -12.616581:-719.214434:900.000000 -PORT -Proportion:"80" -FIN_BOX -BOX -std:MultipleInputs:mult -ISEXEC:FALSE -75.412756:-340.821867:900.000000 -120.987756:-350.821867:900.000000 -FIN_BOX -BOX std:MultipleInputs:mult2 ISEXEC:FALSE -81.373061:-367.813202:900.000000 -126.948061:-377.813202:900.000000 +146.357541:-665.225031:-900.000000 +191.932541:-675.225031:-900.000000 FIN_BOX BOX std:MultipleInputs:mult3 ISEXEC:FALSE -669.114438:-563.550364:900.000000 -714.689438:-573.550364:900.000000 +401.536745:-634.900546:-900.000000 +447.111745:-644.900546:-900.000000 FIN_BOX BOX std:MultipleInputs:mult4 ISEXEC:FALSE -179.123700:-731.703455:900.000000 -224.698700:-741.703455:900.000000 +179.123700:-731.703455:-900.000000 +224.698700:-741.703455:-900.000000 FIN_BOX BOX wx:LayoutTab:tabs ISEXEC:FALSE -191.519819:-874.211466:900.000000 -249.079819:-884.211466:900.000000 +191.519819:-874.211466:-900.000000 +237.094819:-884.211466:-900.000000 PORT Orientation:V FIN_BOX BOX wx:LayoutLine:tools ISEXEC:FALSE -416.751841:-680.778940:900.000000 -474.311841:-690.778940:900.000000 +771.358267:-334.065430:-900.000000 +816.933267:-344.065430:-900.000000 PORT WinTitle:"Appearance" FIN_BOX BOX wx:LayoutSplit:convolTools ISEXEC:FALSE -447.556319:-657.146141:900.000000 -493.131319:-667.146141:900.000000 +868.493941:-177.072226:-900.000000 +914.068941:-187.072226:-900.000000 PORT Orientation:"H" PORT @@ -409,8 +242,8 @@ FIN_BOX BOX wx:LayoutSplit:window2 ISEXEC:FALSE -282.177476:-902.826135:900.000000 -327.752476:-912.826135:900.000000 +282.177476:-902.826135:-900.000000 +327.752476:-912.826135:-900.000000 PORT Orientation:H PORT @@ -419,247 +252,88 @@ FIN_BOX BOX vtk:vtkImageDataPointerRelay:Box56 ISEXEC:FALSE -118.565004:15.062216:900.000000 -189.740004:5.062216:900.000000 +118.565004:15.062216:-900.000000 +189.740004:5.062216:-900.000000 FIN_BOX BOX vtk:vtkImageDataPointerRelay:Box59 ISEXEC:FALSE -238.638235:21.687740:900.000000 -309.813235:11.687740:900.000000 +289.953516:7.294430:-900.000000 +361.128516:-2.705570:-900.000000 FIN_BOX BOX wx:LayoutTab:Box61 ISEXEC:FALSE -403.420085:-702.995108:900.000000 -460.980085:-712.995108:900.000000 -FIN_BOX -BOX -wx:LayoutLine:Box47 -ISEXEC:FALSE -10.703277:-632.389249:900.000000 -68.263277:-642.389249:900.000000 -PORT -Orientation:H -FIN_BOX -BOX -wx:LayoutLine:Box48 -ISEXEC:FALSE --19.935278:-667.776066:900.000000 -37.624722:-677.776066:900.000000 +403.420085:-702.995108:-900.000000 +448.995085:-712.995108:-900.000000 FIN_BOX BOX -creaMaracasVisu:ViewerNV:Box49 +creaMaracasVisu:ViewerNV:Box65 ISEXEC:FALSE --93.729396:-668.180570:900.000000 --33.089396:-678.180570:900.000000 +419.572796:-801.103027:-900.000000 +465.147796:-811.103027:-900.000000 PORT nTypeView:0 FIN_BOX BOX -vtk:ImageVtkProperties:Box51 -ISEXEC:FALSE -101.412632:-173.813626:900.000000 -146.987632:-183.813626:900.000000 -FIN_BOX -BOX -std:VectorRescaleSlope:Box52 -ISEXEC:FALSE -99.313171:-208.335144:900.000000 -170.488171:-218.335144:900.000000 -PORT -A:0.5 -PORT -B:0 -PORT -Type:0 -FIN_BOX -BOX -std:ConcatStrings:Box53 -ISEXEC:FALSE -108.121845:-192.845187:900.000000 -153.696845:-202.845187:900.000000 -FIN_BOX -BOX -std:ConcatStrings:Box54 -ISEXEC:FALSE -95.146223:-224.102358:900.000000 -140.721223:-234.102358:900.000000 -FIN_BOX -BOX -wx:Slider:Box55 -ISEXEC:FALSE --34.875933:-234.906871:900.000000 -16.524067:-244.906871:900.000000 -PORT -In:0 -PORT -Label:true -PORT -Max:200 -PORT -Min:-200 -PORT -ReactiveOnTrack:true -PORT -Title:"Translate Y" -FIN_BOX -BOX -wx:Slider:Box57 +creaMaracasVisu:ViewerNV:Box66 ISEXEC:FALSE --88.940622:-236.017922:900.000000 --37.540622:-246.017922:900.000000 -PORT -In:0 -PORT -Label:true +497.442434:-799.958959:-900.000000 +543.017434:-809.958959:-900.000000 PORT -Max:200 -PORT -Min:-200 -PORT -ReactiveOnTrack:true -PORT -Title:"translate X" +nTypeView:0 FIN_BOX BOX -std:ConcatStrings:Box58 +wx:LayoutLine:Box67 ISEXEC:FALSE -82.846552:-303.297449:900.000000 -128.421552:-313.297449:900.000000 -PORT -In2:" " +428.693407:-832.025005:-900.000000 +474.268407:-842.025005:-900.000000 PORT -In4:" 0" -FIN_BOX -BOX -std:GetVectorIntElement:Box60 -ISEXEC:FALSE -38.773625:-242.635260:900.000000 -109.948625:-252.635260:900.000000 +Orientation:H PORT -I:0 +WinTitle:"Parallel" FIN_BOX BOX -std:Add:Box62 +std:MultipleInputs:Box68 ISEXEC:FALSE -51.344485:-274.358300:900.000000 -84.119485:-284.358300:900.000000 +625.007956:-758.235235:-900.000000 +670.582956:-768.235235:-900.000000 FIN_BOX BOX -std:Add:Box63 +PackRecalage:CompareImagesSwitcherWidget:Box69 ISEXEC:FALSE -89.640753:-273.099518:900.000000 -122.415753:-283.099518:900.000000 +-91.678462:-684.794791:-900.000000 +-20.503462:-694.794791:-900.000000 FIN_BOX BOX -std:GetVectorIntElement:Box64 +PackRecalage:CompareImagesWidget_base_2Dt_A:Box70 ISEXEC:FALSE -131.453925:-244.842388:900.000000 -202.628925:-254.842388:900.000000 -PORT -I:1 +-151.333352:-530.748508:-900.000000 +-80.158352:-540.748508:-900.000000 FIN_BOX BOX -creaMaracasVisu:ViewerNV:Box65 +std:MultipleInputs:Box71 ISEXEC:FALSE -419.572796:-801.103027:900.000000 -480.212796:-811.103027:900.000000 -PORT -nTypeView:0 +72.384710:-154.644058:-900.000000 +117.959710:-164.644058:-900.000000 FIN_BOX BOX -creaMaracasVisu:ViewerNV:Box66 +PackRecalage:CompareImagesWidget_base_2Dt_B:Box72 ISEXEC:FALSE -497.442434:-799.958959:900.000000 -558.082434:-809.958959:900.000000 -PORT -nTypeView:0 +24.864793:-523.045609:-900.000000 +96.039793:-533.045609:-900.000000 FIN_BOX -BOX -wx:LayoutLine:Box67 -ISEXEC:FALSE -428.693407:-832.025005:900.000000 -486.253407:-842.025005:900.000000 -PORT -Orientation:H -PORT -WinTitle:"Parallel" -FIN_BOX -BOX -std:MultipleInputs:Box68 -ISEXEC:FALSE -625.007956:-758.235235:900.000000 -670.582956:-768.235235:900.000000 -FIN_BOX -CONNECTIONS:123 -CONNECTION -slider:Widget:buttonsLayout:Widget1 -NumberOfControlPoints:0 -CONNECTION -sliderX:Widget:buttonsLayout:Widget2 -NumberOfControlPoints:0 -CONNECTION -sliderY:Widget:buttonsLayout:Widget3 -NumberOfControlPoints:0 -CONNECTION -slider:Out:transform:Angle -NumberOfControlPoints:0 -CONNECTION -sliderX:Out:transform:ScaleX -NumberOfControlPoints:0 -CONNECTION -sliderY:Out:transform:ScaleY -NumberOfControlPoints:0 -CONNECTION -transform:Out:reslice1:Transform -NumberOfControlPoints:0 -CONNECTION -imgslice2:Out:reslice1:In -NumberOfControlPoints:0 -CONNECTION -imgslice1:Out:convol1:In -NumberOfControlPoints:0 +CONNECTIONS:80 CONNECTION properties:LengthZ:sdrZ:Max NumberOfControlPoints:0 CONNECTION -sdrZ:Out:imgslice1:Z -NumberOfControlPoints:0 -CONNECTION -sdrZ:Out:imgslice2:Z -NumberOfControlPoints:0 -CONNECTION -sdrZ:BoxChange:imgslice1:BoxExecute -NumberOfControlPoints:0 -CONNECTION -sdrZ:BoxChange:imgslice2:BoxExecute -NumberOfControlPoints:0 -CONNECTION -sdrF:Out:convol1:Factor -NumberOfControlPoints:0 -CONNECTION -sdrF:Out:convol2:Factor -NumberOfControlPoints:0 -CONNECTION -checkF:Out:convol1:On -NumberOfControlPoints:0 -CONNECTION -checkF:Out:convol2:On -NumberOfControlPoints:0 -CONNECTION sdrF:BoxChange:multF:In1 NumberOfControlPoints:0 CONNECTION checkF:BoxChange:multF:In2 NumberOfControlPoints:0 CONNECTION -multF:BoxChange:convol1:BoxExecute -NumberOfControlPoints:0 -CONNECTION -multF:BoxChange:convol2:BoxExecute -NumberOfControlPoints:0 -CONNECTION properties:ColorLevel:colorLevel:Max NumberOfControlPoints:0 CONNECTION @@ -678,12 +352,6 @@ CONNECTION windowLevel:BoxChange:multLevels:In2 NumberOfControlPoints:0 CONNECTION -convol1:Out:cbb:In1 -NumberOfControlPoints:0 -CONNECTION -convol2:Out:cbb:In2 -NumberOfControlPoints:0 -CONNECTION colorLevel:Out:viewerCH:ColorLevel NumberOfControlPoints:0 CONNECTION @@ -711,12 +379,6 @@ CONNECTION ly:Widget:checkerBoard:Widget2 NumberOfControlPoints:0 CONNECTION -convol1:Out:trans:In1 -NumberOfControlPoints:0 -CONNECTION -convol2:Out:trans:In2 -NumberOfControlPoints:0 -CONNECTION sdrP:Out:trans:Percent NumberOfControlPoints:0 CONNECTION @@ -729,48 +391,15 @@ CONNECTION windowLevel:Out:transView:WindowLevel NumberOfControlPoints:0 CONNECTION -convol1:Out:switch:In1 -NumberOfControlPoints:0 -CONNECTION -convol2:Out:switch:In2 -NumberOfControlPoints:0 -CONNECTION -checkS:Out:switch:On -NumberOfControlPoints:0 -CONNECTION -sdrT:Out:switch:Time -NumberOfControlPoints:0 -CONNECTION -sdrT:BoxChange:switch:BoxExecute -NumberOfControlPoints:0 -CONNECTION -slider:BoxChange:mult:In1 -NumberOfControlPoints:0 -CONNECTION -sliderX:BoxChange:mult:In2 -NumberOfControlPoints:0 -CONNECTION -sliderY:BoxChange:mult:In3 -NumberOfControlPoints:0 -CONNECTION multF:BoxChange:mult2:In1 NumberOfControlPoints:0 CONNECTION -mult:BoxChange:mult2:In2 -NumberOfControlPoints:0 -CONNECTION ly:BoxChange:mult3:In1 NumberOfControlPoints:0 CONNECTION mult2:BoxChange:mult3:In2 NumberOfControlPoints:0 CONNECTION -imgslice1:BoxChange:mult3:In3 -NumberOfControlPoints:0 -CONNECTION -imgslice2:BoxChange:mult3:In4 -NumberOfControlPoints:0 -CONNECTION multLevels:BoxChange:mult3:In5 NumberOfControlPoints:0 CONNECTION @@ -804,12 +433,6 @@ CONNECTION convolTools:Widget:tools:Widget4 NumberOfControlPoints:0 CONNECTION -Box56:Out:imgslice2:In -NumberOfControlPoints:0 -CONNECTION -Box59:Out:imgslice1:In -NumberOfControlPoints:0 -CONNECTION Box59:Out:properties:In NumberOfControlPoints:0 CONNECTION @@ -831,135 +454,114 @@ CONNECTION transparency:Widget:tabs:Widget2 NumberOfControlPoints:0 CONNECTION -checkS:Widget:Box47:Widget2 -NumberOfControlPoints:0 -CONNECTION -switch:Widget:Box47:Widget1 -NumberOfControlPoints:0 -CONNECTION -sdrT:Widget:Box48:Widget2 -NumberOfControlPoints:0 -CONNECTION -Box47:Widget:Box48:Widget1 -NumberOfControlPoints:0 -CONNECTION -Box48:Widget:switchWindow:Widget2 -NumberOfControlPoints:0 -CONNECTION -switchWindow:Widget:tabs:Widget1 -NumberOfControlPoints:0 -CONNECTION checkerBoard:Widget:tabs:Widget3 NumberOfControlPoints:0 CONNECTION -reslice1:Out:convol2:In -NumberOfControlPoints:0 -CONNECTION trans:Out:transView:In NumberOfControlPoints:0 CONNECTION -Box49:Widget:switchWindow:Widget1 +Box61:Widget:window2:Widget1 NumberOfControlPoints:0 CONNECTION -switch:Out:Box49:In +tabs:Widget:window2:Widget2 NumberOfControlPoints:0 CONNECTION -switch:BoxChange:Box49:BoxExecute +tools:Widget:Box61:Widget1 NumberOfControlPoints:0 CONNECTION -imgslice2:Out:Box51:In +WinTitle:WinTitle:window2:WinTitle NumberOfControlPoints:0 CONNECTION -Box51:Size:Box53:In1 +Box66:Widget:Box67:Widget2 NumberOfControlPoints:0 CONNECTION -Box53:Out:Box52:In +Box65:Widget:Box67:Widget1 NumberOfControlPoints:0 CONNECTION -Box52:Out:Box54:In1 +Box67:Widget:tabs:Widget4 NumberOfControlPoints:0 CONNECTION -Box60:Out:Box62:In1 +mult3:BoxChange:Box68:In1 NumberOfControlPoints:0 CONNECTION -Box57:Out:Box62:In2 +Box68:BoxChange:Box66:BoxExecute NumberOfControlPoints:0 CONNECTION -Box62:Out:Box58:In1 +Box68:BoxChange:Box65:BoxExecute NumberOfControlPoints:0 CONNECTION -Box64:Out:Box63:In1 +mult4:BoxChange:Box68:In2 NumberOfControlPoints:0 CONNECTION -Box55:Out:Box63:In2 +Box69:Widget:tabs:Widget1 NumberOfControlPoints:0 CONNECTION -Box63:Out:Box58:In3 +Box56:Out:Box70:In NumberOfControlPoints:0 CONNECTION -Box57:Widget:buttonsLayout:Widget4 +sdrZ:Out:Box70:SliceZ NumberOfControlPoints:0 CONNECTION -Box55:Widget:buttonsLayout:Widget5 +sdrZ:BoxChange:Box71:In1 NumberOfControlPoints:0 CONNECTION -Box57:BoxChange:mult:In4 +Box71:BoxChange:Box70:BoxExecute NumberOfControlPoints:0 CONNECTION -Box55:BoxChange:mult:In5 +checkF:Out:Box70:ConvolutionOnOff NumberOfControlPoints:0 CONNECTION -Box58:Out:transform:CenterPoint +sdrF:Out:Box70:ConvolutionFactor NumberOfControlPoints:0 CONNECTION -Box54:Out:reslice1:Origin +sdrF:BoxChange:Box71:In2 NumberOfControlPoints:0 CONNECTION -Box54:Out:Box64:In +checkF:BoxChange:Box71:In3 NumberOfControlPoints:0 CONNECTION -Box54:Out:Box60:In +Box70:BoxChange:mult2:In2 NumberOfControlPoints:0 CONNECTION -Box61:Widget:window2:Widget1 +Box70:Widget:Box61:Widget2 NumberOfControlPoints:0 CONNECTION -tabs:Widget:window2:Widget2 +Box70:Out:Box69:Image1 NumberOfControlPoints:0 CONNECTION -tools:Widget:Box61:Widget1 +Box70:Out:trans:In2 NumberOfControlPoints:0 CONNECTION -buttonsLayout:Widget:Box61:Widget2 +Box70:Out:Box65:In NumberOfControlPoints:0 CONNECTION -WinTitle:WinTitle:window2:WinTitle +Box70:Out:cbb:In2 NumberOfControlPoints:0 CONNECTION -Box66:Widget:Box67:Widget2 +Box72:Out:Box69:Image2 NumberOfControlPoints:0 CONNECTION -Box65:Widget:Box67:Widget1 +Box72:Out:trans:In1 NumberOfControlPoints:0 CONNECTION -Box67:Widget:tabs:Widget4 +Box72:Out:Box66:In NumberOfControlPoints:0 CONNECTION -convol1:Out:Box66:In +Box72:Out:cbb:In1 NumberOfControlPoints:0 CONNECTION -convol2:Out:Box65:In +Box59:Out:Box72:In NumberOfControlPoints:0 CONNECTION -mult3:BoxChange:Box68:In1 +checkF:Out:Box72:ConvolutionOnOff NumberOfControlPoints:0 CONNECTION -Box68:BoxChange:Box66:BoxExecute +sdrF:Out:Box72:ConvolutionFactor NumberOfControlPoints:0 CONNECTION -Box68:BoxChange:Box65:BoxExecute +multF:BoxChange:Box72:BoxExecute NumberOfControlPoints:0 CONNECTION -mult4:BoxChange:Box68:In2 +sdrZ:Out:Box72:SliceZ NumberOfControlPoints:0 APP_END diff --git a/PackRecalage/bbs/boxes/CompareImagesWidget.bbs b/PackRecalage/bbs/boxes/CompareImagesWidget.bbs index b5e5db1..a32cc73 100644 --- a/PackRecalage/bbs/boxes/CompareImagesWidget.bbs +++ b/PackRecalage/bbs/boxes/CompareImagesWidget.bbs @@ -1,38 +1,15 @@ -# --------------------------------------------------------------------- -# -# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image -# pour la Santé) -# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton -# -# This software is governed by the CeCILL-B license under French law and -# abiding by the rules of distribution of free software. You can use, -# modify and/ or redistribute the software under the terms of the CeCILL-B -# license as circulated by CEA, CNRS and INRIA at the following URL -# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -# or in the file LICENSE.txt. -# -# As a counterpart to the access to the source code and rights to copy, -# modify and redistribute granted by the license, users are provided only -# with a limited warranty and the software's author, the holder of the -# economic rights, and the successive licensors have only limited -# liability. -# -# The fact that you are presently reading this means that you have had -# knowledge of the CeCILL-B license and that you accept its terms. -# ------------------------------------------------------------------------ - # ---------------------------------- -# - BBTKGEditor v 1.2 BBS BlackBox Script (Complex Box) -# - /Users/davila/Creatis/All5/creatools_source/creaRigidRegistration/PackRecalage/bbs/boxes/CompareImagesWidget.bbs +# - BBTKGEditor v 1.4 BBS BlackBox Script (Complex Box) +# - /home/davila/Creatis/All/creatools_source/creaRigidRegistration/PackRecalage/bbs/boxes/CompareImagesWidget.bbs # ---------------------------------- include std include itkvtk -include vtk -include wx include PackRecalage +include wx include std include creaMaracasVisu +include vtk define CompareImagesWidget PackRecalage @@ -41,46 +18,6 @@ description "creatisRecalage" category "example" -new SliceImage imgslice1 - -new SliceImage imgslice2 - -new LayoutLine buttonsLayout - set buttonsLayout.Orientation "V" - set buttonsLayout.WinTitle "Image transformation" - -new Slider slider - set slider.In "0" - set slider.Max "180" - set slider.Min "-180" - set slider.ReactiveOnTrack "1" - set slider.Title "Angle" - -new Slider sliderX - set sliderX.In "100" - set sliderX.Max "500" - set sliderX.Min "10" - set sliderX.ReactiveOnTrack "1" - set sliderX.Title "% Scale in X" - -new Slider sliderY - set sliderY.In "100" - set sliderY.Max "500" - set sliderY.Min "10" - set sliderY.ReactiveOnTrack "1" - set sliderY.Title "% Scale in Y" - -new Transform2DBox transform - -new ReSlicerBox reslice1 - set reslice1.Centered false - set reslice1.Interpolate true - set reslice1.Origin "0 0 0" - -new ImageConvolution convol1 - -new ImageConvolution convol2 - new ImageRecalageProperties properties new Slider sdrZ @@ -146,23 +83,6 @@ new ViewerNV transView new LayoutSplit transparency set transparency.Proportion "80" -new ImageSwitcherBox switch - -new CheckBox checkS - set checkS.In "true" - set checkS.Title "On" - -new Slider sdrT - set sdrT.In "500" - set sdrT.Max "1000" - set sdrT.Min "0" - set sdrT.ReactiveOnTrack "True" - -new LayoutSplit switchWindow - set switchWindow.Proportion "80" - -new MultipleInputs mult - new MultipleInputs mult2 new MultipleInputs mult3 @@ -189,55 +109,6 @@ new vtkImageDataPointerRelay Box59 new LayoutTab Box61 -new LayoutLine Box47 - set Box47.Orientation H - -new LayoutLine Box48 - -new ViewerNV Box49 - set Box49.nTypeView 0 - -new ImageVtkProperties Box51 - -new VectorRescaleSlope Box52 - set Box52.A 0.5 - set Box52.B 0 - set Box52.Type 0 - -new ConcatStrings Box53 - -new ConcatStrings Box54 - -new Slider Box55 - set Box55.In 0 - set Box55.Label true - set Box55.Max 200 - set Box55.Min -200 - set Box55.ReactiveOnTrack true - set Box55.Title "Translate Y" - -new Slider Box57 - set Box57.In 0 - set Box57.Label true - set Box57.Max 200 - set Box57.Min -200 - set Box57.ReactiveOnTrack true - set Box57.Title "translate X" - -new ConcatStrings Box58 - set Box58.In2 " " - set Box58.In4 " 0" - -new GetVectorIntElement Box60 - set Box60.I 0 - -new Add Box62 - -new Add Box63 - -new GetVectorIntElement Box64 - set Box64.I 1 - new ViewerNV Box65 set Box65.nTypeView 0 @@ -250,37 +121,24 @@ new LayoutLine Box67 new MultipleInputs Box68 +new CompareImagesSwitcherWidget Box69 + +new CompareImagesWidget_base_2Dt_A Box70 + +new MultipleInputs Box71 + +new CompareImagesWidget_base_2Dt_B Box72 + -connect slider.Widget buttonsLayout.Widget1 -connect sliderX.Widget buttonsLayout.Widget2 -connect sliderY.Widget buttonsLayout.Widget3 -connect slider.Out transform.Angle -connect sliderX.Out transform.ScaleX -connect sliderY.Out transform.ScaleY -connect transform.Out reslice1.Transform -connect imgslice2.Out reslice1.In -connect imgslice1.Out convol1.In connect properties.LengthZ sdrZ.Max -connect sdrZ.Out imgslice1.Z -connect sdrZ.Out imgslice2.Z -connect sdrZ.BoxChange imgslice1.BoxExecute -connect sdrZ.BoxChange imgslice2.BoxExecute -connect sdrF.Out convol1.Factor -connect sdrF.Out convol2.Factor -connect checkF.Out convol1.On -connect checkF.Out convol2.On connect sdrF.BoxChange multF.In1 connect checkF.BoxChange multF.In2 -connect multF.BoxChange convol1.BoxExecute -connect multF.BoxChange convol2.BoxExecute connect properties.ColorLevel colorLevel.Max connect properties.MidColorLevel colorLevel.In connect properties.ColorLevel windowLevel.Max connect properties.MidColorLevel windowLevel.In connect colorLevel.BoxChange multLevels.In1 connect windowLevel.BoxChange multLevels.In2 -connect convol1.Out cbb.In1 -connect convol2.Out cbb.In2 connect colorLevel.Out viewerCH.ColorLevel connect windowLevel.Out viewerCH.WindowLevel connect sdr.Out cbb.Cols @@ -290,26 +148,13 @@ connect sdr.Widget ly.Widget2 connect sdr2.Widget ly.Widget3 connect viewerCH.Widget checkerBoard.Widget1 connect ly.Widget checkerBoard.Widget2 -connect convol1.Out trans.In1 -connect convol2.Out trans.In2 connect sdrP.Out trans.Percent connect transView.Widget transparency.Widget1 connect sdrP.Widget transparency.Widget2 connect windowLevel.Out transView.WindowLevel -connect convol1.Out switch.In1 -connect convol2.Out switch.In2 -connect checkS.Out switch.On -connect sdrT.Out switch.Time -connect sdrT.BoxChange switch.BoxExecute -connect slider.BoxChange mult.In1 -connect sliderX.BoxChange mult.In2 -connect sliderY.BoxChange mult.In3 connect multF.BoxChange mult2.In1 -connect mult.BoxChange mult2.In2 connect ly.BoxChange mult3.In1 connect mult2.BoxChange mult3.In2 -connect imgslice1.BoxChange mult3.In3 -connect imgslice2.BoxChange mult3.In4 connect multLevels.BoxChange mult3.In5 connect mult3.BoxChange cbb.BoxExecute connect cbb.BoxChange viewerCH.BoxExecute @@ -321,56 +166,46 @@ connect colorLevel.Widget tools.Widget2 connect windowLevel.Widget tools.Widget3 connect checkF.Widget convolTools.Widget2 connect convolTools.Widget tools.Widget4 -connect Box56.Out imgslice2.In -connect Box59.Out imgslice1.In connect Box59.Out properties.In connect sdrF.Widget convolTools.Widget1 connect sdrZ.Widget tools.Widget1 connect transparency.Widget tabs.Widget2 -connect checkS.Widget Box47.Widget2 -connect switch.Widget Box47.Widget1 -connect sdrT.Widget Box48.Widget2 -connect Box47.Widget Box48.Widget1 -connect Box48.Widget switchWindow.Widget2 -connect switchWindow.Widget tabs.Widget1 connect checkerBoard.Widget tabs.Widget3 -connect reslice1.Out convol2.In connect trans.Out transView.In -connect Box49.Widget switchWindow.Widget1 -connect switch.Out Box49.In -connect switch.BoxChange Box49.BoxExecute -connect imgslice2.Out Box51.In -connect Box51.Size Box53.In1 -connect Box53.Out Box52.In -connect Box52.Out Box54.In1 -connect Box60.Out Box62.In1 -connect Box57.Out Box62.In2 -connect Box62.Out Box58.In1 -connect Box64.Out Box63.In1 -connect Box55.Out Box63.In2 -connect Box63.Out Box58.In3 -connect Box57.Widget buttonsLayout.Widget4 -connect Box55.Widget buttonsLayout.Widget5 -connect Box57.BoxChange mult.In4 -connect Box55.BoxChange mult.In5 -connect Box58.Out transform.CenterPoint -connect Box54.Out reslice1.Origin -connect Box54.Out Box64.In -connect Box54.Out Box60.In connect Box61.Widget window2.Widget1 connect tabs.Widget window2.Widget2 connect tools.Widget Box61.Widget1 -connect buttonsLayout.Widget Box61.Widget2 connect Box66.Widget Box67.Widget2 connect Box65.Widget Box67.Widget1 connect Box67.Widget tabs.Widget4 -connect convol1.Out Box66.In -connect convol2.Out Box65.In connect mult3.BoxChange Box68.In1 connect Box68.BoxChange Box66.BoxExecute connect Box68.BoxChange Box65.BoxExecute connect mult4.BoxChange Box68.In2 - +connect Box69.Widget tabs.Widget1 +connect Box56.Out Box70.In +connect sdrZ.Out Box70.SliceZ +connect sdrZ.BoxChange Box71.In1 +connect Box71.BoxChange Box70.BoxExecute +connect checkF.Out Box70.ConvolutionOnOff +connect sdrF.Out Box70.ConvolutionFactor +connect sdrF.BoxChange Box71.In2 +connect checkF.BoxChange Box71.In3 +connect Box70.BoxChange mult2.In2 +connect Box70.Widget Box61.Widget2 +connect Box70.Out Box69.Image1 +connect Box70.Out trans.In2 +connect Box70.Out Box65.In +connect Box70.Out cbb.In2 +connect Box72.Out Box69.Image2 +connect Box72.Out trans.In1 +connect Box72.Out Box66.In +connect Box72.Out cbb.In1 +connect Box59.Out Box72.In +connect checkF.Out Box72.ConvolutionOnOff +connect sdrF.Out Box72.ConvolutionFactor +connect multF.BoxChange Box72.BoxExecute +connect sdrZ.Out Box72.SliceZ # Complex input ports input In2 Box59.In " " @@ -380,4 +215,5 @@ input WinTitle window2.WinTitle " " # Complex output ports output Widget window2.Widget " " + endefine diff --git a/PackRecalage/src/bbPackRecalageImageSwitcherBox.cxx b/PackRecalage/src/bbPackRecalageImageSwitcherBox.cxx index 47215c4..226f1a4 100644 --- a/PackRecalage/src/bbPackRecalageImageSwitcherBox.cxx +++ b/PackRecalage/src/bbPackRecalageImageSwitcherBox.cxx @@ -71,18 +71,16 @@ void ImageSwitcherBox::Process() if(firstTime == true) { + firstTime = false; if(bbGetInputIn1() != NULL) { bbSetOutputOut(bbGetInputIn1()); - firstTime = false; - } - else if(bbGetInputIn2() != NULL) - { + } else if(bbGetInputIn2() != NULL) { bbSetOutputOut(bbGetInputIn2()); - firstTime = false; } } - + +/* EED 31/052013 if(myTimer == NULL) { myTimer = new MyTimer(this); @@ -93,42 +91,43 @@ void ImageSwitcherBox::Process() if(!_on) { myTimer->Stop(); - } - else if(!myTimer->IsRunning()) - { + } else if(!myTimer->IsRunning()) { myTimer->Start(time); oldTime = time; - } - else if(oldTime != time) - { + } else if(oldTime != time) { myTimer->Stop(); myTimer->Start(time); oldTime=time; } +*/ } + + void ImageSwitcherBox::CreateWidget(wxWindow* parent) { //Creates a simple text widget because it is necesary that a non-empty widget exists for creatingh the thread of the timer. bbSetOutputWidget( new wxStaticText(parent, -1, _T("Image Switcher")) ); } + + void ImageSwitcherBox::bbUserSetDefaultValues() { - myTimer = NULL; - change = false; - time = 500; - oldTime = 500; - firstTime = true; - _on=false; + myTimer = NULL; + change = false; + time = 500; + oldTime = 500; + firstTime = true; + _on = false; } void ImageSwitcherBox::bbUserInitializeProcessing() { - } + void ImageSwitcherBox::bbUserFinalizeProcessing() { myTimer->Stop(); delete myTimer; } -} -// EO namespace bbPackRecalage + +} // EO namespace bbPackRecalage -- 2.47.1