]> Creatis software - creaMaracasVisu.git/commitdiff
#2961 creaMaracasVisu Feature New Normal - new SliderMinMax-flexible complexbox
authorEduardo DAVILA <eduardo.davila@creatis.insa-lyon.fr>
Fri, 27 May 2016 13:33:30 +0000 (15:33 +0200)
committerEduardo DAVILA <eduardo.davila@creatis.insa-lyon.fr>
Fri, 27 May 2016 13:33:30 +0000 (15:33 +0200)
bbtk/bbs/boxes/SliderMinMax-flexible.bbg [new file with mode: 0644]
bbtk/bbs/boxes/SliderMinMax-flexible.bbs [new file with mode: 0644]
bbtk/src/bbmaracasvisuSliderMinMax.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/ColorLayerImageView.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/ThresholdImageView/LayerImageBase.cxx

diff --git a/bbtk/bbs/boxes/SliderMinMax-flexible.bbg b/bbtk/bbs/boxes/SliderMinMax-flexible.bbg
new file mode 100644 (file)
index 0000000..9f6aace
--- /dev/null
@@ -0,0 +1,236 @@
+# ----------------------------------
+# - BBTKGEditor v 1.4 BBG BlackBox Diagram file
+# - /tmpEED/creaTools/creatools_source/creaMaracasVisu/bbtk/bbs/boxes/SliderMinMax-flexible.bbg
+# ----------------------------------
+
+APP_START
+CATEGORY:<VOID>
+DESCRIPTION:Description ??
+AUTHOR:Author ??
+COMPLEXBOX:TRUE
+COMPLEXBOXNAME:SliderMinMax-flexible
+PACKAGENAME:creaMaracasVisu
+COMPLEXOUTPUTS:5
+COMPLEX_PORT
+outstart
+-6.908744:-75.660317:-900.000000
+FIN_COMPLEX_PORT
+COMPLEX_PORT
+outend
+14.459976:-71.566034:-900.000000
+FIN_COMPLEX_PORT
+COMPLEX_PORT
+outactual
+-27.760752:-75.746436:-900.000000
+FIN_COMPLEX_PORT
+COMPLEX_PORT
+boxchange
+-55.446038:-81.180513:-900.000000
+FIN_COMPLEX_PORT
+COMPLEX_PORT
+widget
+48.417303:-81.270796:-900.000000
+FIN_COMPLEX_PORT
+COMPLEXINPUTS:3
+COMPLEX_PORT
+minIn
+-93.366735:127.318274:-900.000000
+FIN_COMPLEX_PORT
+COMPLEX_PORT
+maxIn
+59.415195:128.107845:-900.000000
+FIN_COMPLEX_PORT
+COMPLEX_PORT
+showactual
+-20.726231:117.843426:-900.000000
+FIN_COMPLEX_PORT
+BOXES:12
+BOX
+creaMaracasVisu:SliderMinMax:Box02
+ISEXEC:FALSE
+-13.746804:37.276148:-900.000000
+40.733196:27.276148:-900.000000
+PORT
+ShowActual:"false"
+PORT
+ShowLabels:"1"
+FIN_BOX
+BOX
+wx:LayoutLine:Box04
+ISEXEC:FALSE
+6.780515:-8.164363:-900.000000
+64.340515:-18.164363:-900.000000
+PORT
+Orientation:"H"
+PORT
+WinTitle:"integer"
+FIN_BOX
+BOX
+wx:InputText:Box05
+ISEXEC:FALSE
+-85.579149:90.776322:-900.000000
+-40.004149:80.776322:-900.000000
+PORT
+In:"0"
+PORT
+Title:"Min"
+FIN_BOX
+BOX
+wx:InputText:Box06
+ISEXEC:FALSE
+30.105048:89.547704:-900.000000
+75.680048:79.547704:-900.000000
+PORT
+In:"2000"
+PORT
+Title:"Max"
+FIN_BOX
+BOX
+std:MultipleInputs:Box09
+ISEXEC:FALSE
+-22.255748:65.999804:-900.000000
+23.319252:55.999804:-900.000000
+FIN_BOX
+BOX
+std:SharedMemory:Box08
+ISEXEC:FALSE
+-85.227892:-39.232829:-900.000000
+-39.652892:-49.232829:-900.000000
+FIN_BOX
+BOX
+std:SharedMemory:Box10
+ISEXEC:FALSE
+97.336689:-38.318654:-900.000000
+142.911689:-48.318654:-900.000000
+FIN_BOX
+BOX
+wx:LayoutTab:Box11
+ISEXEC:FALSE
+13.169337:-39.363933:-900.000000
+70.729337:-49.363933:-900.000000
+FIN_BOX
+BOX
+wx:LayoutLine:Box12
+ISEXEC:FALSE
+97.179346:10.704674:-900.000000
+154.739346:0.704674:-900.000000
+PORT
+Orientation:"H"
+PORT
+WinTitle:"float"
+FIN_BOX
+BOX
+wx:InputText:Box13
+ISEXEC:FALSE
+76.212141:29.821233:-900.000000
+121.787141:19.821233:-900.000000
+PORT
+In:"0.0"
+PORT
+Title:"Min"
+FIN_BOX
+BOX
+wx:InputText:Box14
+ISEXEC:FALSE
+132.435429:31.145617:-900.000000
+178.010429:21.145617:-900.000000
+PORT
+In:"1.0"
+PORT
+Title:"Max"
+FIN_BOX
+BOX
+std:MultipleInputs:Box15
+ISEXEC:FALSE
+-25.248762:-32.262307:-900.000000
+20.326238:-42.262307:-900.000000
+FIN_BOX
+CONNECTIONS:29
+CONNECTION
+Box02:Widget:Box04:Widget2
+NumberOfControlPoints:0
+CONNECTION
+Box06:Widget:Box04:Widget3
+NumberOfControlPoints:0
+CONNECTION
+Box05:Widget:Box04:Widget1
+NumberOfControlPoints:0
+CONNECTION
+Box05:Out:Box02:InMin
+NumberOfControlPoints:0
+CONNECTION
+Box06:Out:Box02:InMax
+NumberOfControlPoints:0
+CONNECTION
+Box09:BoxChange:Box02:BoxExecute
+NumberOfControlPoints:0
+CONNECTION
+Box06:BoxChange:Box09:In2
+NumberOfControlPoints:0
+CONNECTION
+Box05:BoxChange:Box09:In1
+NumberOfControlPoints:0
+CONNECTION
+Box02:OutActual:outactual:outactual
+NumberOfControlPoints:0
+CONNECTION
+minIn:minIn:Box05:In
+NumberOfControlPoints:0
+CONNECTION
+maxIn:maxIn:Box06:In
+NumberOfControlPoints:0
+CONNECTION
+showactual:showactual:Box02:ShowActual
+NumberOfControlPoints:0
+CONNECTION
+Box02:OutStart:Box08:In1
+NumberOfControlPoints:0
+CONNECTION
+Box02:OutEnd:Box10:In1
+NumberOfControlPoints:0
+CONNECTION
+Box05:Out:Box02:InMinShow
+NumberOfControlPoints:0
+CONNECTION
+Box06:Out:Box02:InMaxShow
+NumberOfControlPoints:0
+CONNECTION
+Box10:Out:outend:outend
+NumberOfControlPoints:0
+CONNECTION
+Box08:Out:outstart:outstart
+NumberOfControlPoints:0
+CONNECTION
+Box04:Widget:Box11:Widget1
+NumberOfControlPoints:0
+CONNECTION
+Box11:Widget:widget:widget
+NumberOfControlPoints:0
+CONNECTION
+Box13:Widget:Box12:Widget1
+NumberOfControlPoints:0
+CONNECTION
+Box14:Widget:Box12:Widget2
+NumberOfControlPoints:0
+CONNECTION
+Box12:Widget:Box11:Widget2
+NumberOfControlPoints:0
+CONNECTION
+Box13:Out:Box08:In
+NumberOfControlPoints:0
+CONNECTION
+Box14:Out:Box10:In
+NumberOfControlPoints:0
+CONNECTION
+Box13:BoxChange:Box15:In1
+NumberOfControlPoints:0
+CONNECTION
+Box14:BoxChange:Box15:In2
+NumberOfControlPoints:0
+CONNECTION
+Box02:BoxChange:Box15:In3
+NumberOfControlPoints:0
+CONNECTION
+Box15:BoxChange:boxchange:boxchange
+NumberOfControlPoints:0
+APP_END
diff --git a/bbtk/bbs/boxes/SliderMinMax-flexible.bbs b/bbtk/bbs/boxes/SliderMinMax-flexible.bbs
new file mode 100644 (file)
index 0000000..e9c304f
--- /dev/null
@@ -0,0 +1,94 @@
+# ----------------------------------
+# - BBTKGEditor v 1.4 BBS BlackBox Script (Complex Box)
+# - /tmpEED/creaTools/creatools_source/creaMaracasVisu/bbtk/bbs/boxes/SliderMinMax-flexible.bbs
+# ----------------------------------
+
+include std
+include itkvtk
+include creaMaracasVisu
+include wx
+include std
+
+define SliderMinMax-flexible creaMaracasVisu
+
+author "Author ??"
+description "Description ??"
+
+category "<VOID>"
+
+new creaMaracasVisu:SliderMinMax Box02
+  set Box02.ShowActual "false"
+  set Box02.ShowLabels "1"
+
+new wx:LayoutLine Box04
+  set Box04.Orientation "H"
+  set Box04.WinTitle "integer"
+
+new wx:InputText Box05
+  set Box05.In "0"
+  set Box05.Title "Min"
+
+new wx:InputText Box06
+  set Box06.In "2000"
+  set Box06.Title "Max"
+
+new std:MultipleInputs Box09
+
+new std:SharedMemory Box08
+
+new std:SharedMemory Box10
+
+new wx:LayoutTab Box11
+
+new wx:LayoutLine Box12
+  set Box12.Orientation "H"
+  set Box12.WinTitle "float"
+
+new wx:InputText Box13
+  set Box13.In "0.0"
+  set Box13.Title "Min"
+
+new wx:InputText Box14
+  set Box14.In "1.0"
+  set Box14.Title "Max"
+
+new std:MultipleInputs Box15
+
+
+connect Box02.Widget Box04.Widget2
+connect Box06.Widget Box04.Widget3
+connect Box05.Widget Box04.Widget1
+connect Box05.Out Box02.InMin
+connect Box06.Out Box02.InMax
+connect Box09.BoxChange Box02.BoxExecute
+connect Box06.BoxChange Box09.In2
+connect Box05.BoxChange Box09.In1
+connect Box02.OutStart Box08.In1
+connect Box02.OutEnd Box10.In1
+connect Box05.Out Box02.InMinShow
+connect Box06.Out Box02.InMaxShow
+connect Box04.Widget Box11.Widget1
+connect Box13.Widget Box12.Widget1
+connect Box14.Widget Box12.Widget2
+connect Box12.Widget Box11.Widget2
+connect Box13.Out Box08.In
+connect Box14.Out Box10.In
+connect Box13.BoxChange Box15.In1
+connect Box14.BoxChange Box15.In2
+connect Box02.BoxChange Box15.In3
+
+# Complex input ports
+input minIn Box05.In " "
+input maxIn Box06.In " "
+input showactual Box02.ShowActual " "
+
+# Complex output ports
+output outactual Box02.OutActual " "
+output outend Box10.Out " "
+output outstart Box08.Out " "
+output widget Box11.Widget " "
+output boxchange Box15.BoxChange " "
+
+message    
+
+endefine
index 0b22df73af068e66a65aa64fa5d20e594251b420..16cd7e25e05fdf25e776f69da2f3b93bfe3c2a77 100644 (file)
@@ -111,10 +111,10 @@ void SliderMinMax::Process()
                if (firsttime==true)
                {
                        firsttime=false;
-                       mwxwidget -> setRepresentedValues( bbGetInputInMin(), bbGetInputInMax() );
                        mwxwidget -> SetStart(bbGetInputInMinShow());
                        mwxwidget -> SetEnd(bbGetInputInMaxShow());  
                }
+               mwxwidget -> setRepresentedValues( bbGetInputInMin(), bbGetInputInMax() );
                bbSetOutputOutStart(mwxwidget->GetStart());
                bbSetOutputOutEnd(mwxwidget->GetEnd());
                bbSetOutputOutActual(mwxwidget->GetActual());
index 38f25f35139a03833313d5b32021c68a0c48e0b6..f3760e9141f5643fa9178c66b4644a6c68be3731 100644 (file)
@@ -318,8 +318,11 @@ void ColorLayerImageView::ConfigLookupTable()  // virtual
                SetDefaultBaseColorAndGreyLevelBoundary();
        }
    else {  // If at least one color has been set, set the grey level boundaries to build an equipartition of the image grey levels, keeping the base colors defined.
-      if (GetBaseColorNb() != (int)_grey_level_boundary.size() )
+      if (GetBaseColorNb() != (int)_grey_level_boundary.size()-1 )
       {
+
+printf("EED ColorLayerImageView::ConfigLookupTable() %d %d\n", GetBaseColorNb() , (int)_grey_level_boundary.size()+1 );
+
                        std::cout << "CM ColorLayerImageView::ConfigLookupTable : ERROR!!! Inconsistency between the sizes of vectors _base_color and _grey_level_boundary. _base_color.size()/3 (=" <<_base_color.size()/3 << ") should be equal to _grey_level_boundary.size() - 1 (=" << _grey_level_boundary.size() - 1 << ")." << std::endl;
                        std::cout << "CM The default values for the base colors and the grey level boundaries will be set." << std::endl;
                        SetDefaultGreyLevelBoundary();     
index 8f1fc5e04406beae38226215da1528ddab6cd2fc..d7e3e7284cfb40319a7f7f6176bcbccf876ae29a 100644 (file)
@@ -173,7 +173,23 @@ bool LayerImageBase::GetActorPresent()
 void LayerImageBase::SetImage(vtkImageData* image)
 {
        int     ext[6];
+       double  spcBase[3];
        int     dimensionOriginalLayer[3];
+       int     dimBase[6];
+
+       ext[0]=0;
+       ext[1]=0;
+       ext[2]=0;
+       ext[3]=0;
+       ext[4]=0;
+       ext[5]=0;
+       spcBase[0]=0;
+       spcBase[1]=0;
+       spcBase[2]=0;
+       spcBase[3]=0;
+       spcBase[4]=0;
+       spcBase[5]=0;
+
        _image = image;
        _image->GetWholeExtent(ext);
        dimensionOriginalLayer[0] = ext[1]-ext[0]+1;
@@ -188,13 +204,11 @@ void LayerImageBase::SetImage(vtkImageData* image)
                vtkImageData    *imagebase              =       GetwxVtkBaseView()->GetVtkBaseData()->GetImageData();
                if (imagebase!=NULL) 
                {       
-                       int dimBase[6];
                        imagebase->GetWholeExtent(ext);
                        dimBase[0]=ext[1]-ext[0]+1;                             
                        dimBase[1]=ext[3]-ext[2]+1;                             
                        dimBase[2]=ext[5]-ext[4]+1;                             
                        SetDimensionBase(dimBase);
-                       double  spcBase[3];
                        imagebase->GetSpacing(spcBase);
                        SetSpcBase(spcBase);
                        SetX( dimBase[0]*spcBase[0]/2 );
@@ -318,7 +332,6 @@ void LayerImageBase::SetwxVtkBaseView(wxVtkBaseView *baseview)
                ColorLayerObserver *colorlayerobserver = ColorLayerObserver::New();
                _baseView->GetVtkBaseData()->AddObserver( 1, colorlayerobserver );
                colorlayerobserver->SetLayerImageBase(this);
-
        } // if _baseView
 }
 
@@ -347,42 +360,34 @@ vtkLookupTable* LayerImageBase::GetThresholdTable()
 //----------------------------------------------------------------------------
 void LayerImageBase::CleanXYZ(double &x, double &y, double &z)
 {
-
        if (x<0)
        {
                x=0;
        }
-
        if (y<0)
        {
                y=0;
        }
-
        if (z<0)
        {
                z=0;
        }
-
        double maxSize;
-
        maxSize=_dimOriginalLayer[0]*_newSpcLayer[0];
        if ( x > maxSize  )
        {
                x=maxSize;
        }
-
        maxSize=_dimOriginalLayer[1]*_newSpcLayer[1];
        if ( y > maxSize  )
        {
                y = maxSize;
        }
-
        maxSize=_dimOriginalLayer[2]*_newSpcLayer[2];
        if ( z > maxSize  )
        {
                z = maxSize;
        }
-
        
 /*
 
@@ -503,8 +508,8 @@ void LayerImageBase::onThreshold()
                _thresholdMapper->SetLookupTable( _thresholdTable );
                _thresholdActor->SetInput( _thresholdMapper->GetOutput() );
                
-//             _scalarbarActor->SetLookupTable( _thresholdTable );
-               _scalarbarActor->SetLookupTable( _thresholdMapper->GetLookupTable() );
+               _scalarbarActor->SetLookupTable( _thresholdTable );
+//             _scalarbarActor->SetLookupTable( _thresholdMapper->GetLookupTable() );
                _scalarbarActor->SetTitle("Value");
                _scalarbarActor->SetNumberOfLabels(4);
                int fontsize = _scalarbarActor->GetLabelTextProperty()->GetFontSize();