diff --git a/Modules/Visualization/MonteverdiCore/include/mvdCore.h b/Modules/Visualization/MonteverdiCore/include/mvdCore.h index e3c6c6c80d1cd01faa8ba0ce4bb1724d8b7fea8b..29561da2fbf742101692057d3028c99fdf9805b6 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdCore.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdCore.h @@ -130,9 +130,9 @@ enum Effect EFFECT_LOCAL_CONTRAST, EFFECT_LOCAL_TRANSLUCENCY, EFFECT_NORMAL, - EFFECT_SPECTRAL_ANGLE, EFFECT_SWIPE_H, EFFECT_SWIPE_V, + EFFECT_SPECTRAL_ANGLE, EFFECT_LUT_JET, EFFECT_LUT_LOCAL_JET, EFFECT_LUT_HOT, diff --git a/Modules/Visualization/MonteverdiCore/include/mvdVectorImageSettings.h b/Modules/Visualization/MonteverdiCore/include/mvdVectorImageSettings.h index 8532f8a5705912ea2a9f70fbd52d65a630cd4753..478636b67fd5d2b86d8281d3a3bf5c010b26e404 100644 --- a/Modules/Visualization/MonteverdiCore/include/mvdVectorImageSettings.h +++ b/Modules/Visualization/MonteverdiCore/include/mvdVectorImageSettings.h @@ -550,6 +550,18 @@ VectorImageSettings { m_IsGrayscaleActivated = activated; + Effect effect = GetEffect(); + + if(activated + && effect == EFFECT_SPECTRAL_ANGLE) + { + SetEffect(EFFECT_NORMAL); + } + else if(!activated && effect >= EFFECT_LUT_LOCAL_JET) + { + SetEffect(EFFECT_NORMAL); + } + SetModified(); } diff --git a/Modules/Visualization/MonteverdiCore/src/mvdCore.cxx b/Modules/Visualization/MonteverdiCore/src/mvdCore.cxx index 76285c17020533a72b059658ecb1a75c95dc54a8..4995497710d75655340e4877e14c59dd9a53a745 100644 --- a/Modules/Visualization/MonteverdiCore/src/mvdCore.cxx +++ b/Modules/Visualization/MonteverdiCore/src/mvdCore.cxx @@ -87,9 +87,9 @@ EFFECT_NAMES[ EFFECT_COUNT ] = QT_TRANSLATE_NOOP( "mvd", "Local contrast" ), QT_TRANSLATE_NOOP( "mvd", "Local translucency" ), QT_TRANSLATE_NOOP( "mvd", "Normal" ), - QT_TRANSLATE_NOOP( "mvd", "Spectral angle" ), QT_TRANSLATE_NOOP( "mvd", "Swipe (horizontal)" ), QT_TRANSLATE_NOOP( "mvd", "Swipe (vertical)" ), + QT_TRANSLATE_NOOP( "mvd", "Spectral angle" ), QT_TRANSLATE_NOOP( "mvd", "Lookup table (jet)" ), QT_TRANSLATE_NOOP( "mvd", "Local lookup table (jet)" ), QT_TRANSLATE_NOOP( "mvd", "Lookup table (hot)" ), diff --git a/Modules/Visualization/MonteverdiGui/include/mvdShaderWidget.h b/Modules/Visualization/MonteverdiGui/include/mvdShaderWidget.h index 640131d74f778634e382588aca138f7e91f9d1ef..aae6425508f82d3e0fb2e709c22264bc0f779f0d 100644 --- a/Modules/Visualization/MonteverdiGui/include/mvdShaderWidget.h +++ b/Modules/Visualization/MonteverdiGui/include/mvdShaderWidget.h @@ -23,7 +23,7 @@ // Configuration include. //// Included at first position before any other ones. #include "ConfigureMonteverdi.h" - +#include "mvdImageSettings.h" /*****************************************************************************/ /* INCLUDE SECTION */ @@ -114,6 +114,8 @@ public: // Public SLOTS. public slots: + void GrayscaleActivated(bool status); + /*-[ SIGNALS SECTION ]-----------------------------------------------------*/ // @@ -137,6 +139,8 @@ protected: // Private methods. private: + void SetEffectVisible(const Effect & effect, bool visible); + /** */ void virtual_SetSettings( ImageSettings * ) ITK_OVERRIDE; diff --git a/Modules/Visualization/MonteverdiGui/src/mvdShaderWidget.cxx b/Modules/Visualization/MonteverdiGui/src/mvdShaderWidget.cxx index f7bfd139e7c2fefa0c4e54d8b393725544082f8d..706c6670690c105ec40ebb99e6c47e26e9bd21c5 100644 --- a/Modules/Visualization/MonteverdiGui/src/mvdShaderWidget.cxx +++ b/Modules/Visualization/MonteverdiGui/src/mvdShaderWidget.cxx @@ -40,8 +40,8 @@ // // Monteverdi includes (sorted by alphabetic order) #include "mvdAlgorithm.h" -#include "mvdImageSettings.h" #include "mvdGui.h" +#include "mvdVectorImageSettings.h" namespace mvd { @@ -117,18 +117,24 @@ ShaderWidget void ShaderWidget ::SetGLSL140Enabled( bool isGLSLEnabled ) +{ + SetEffectVisible(EFFECT_GRADIENT,isGLSLEnabled); +} + +void ShaderWidget +::SetEffectVisible(const Effect & effect, bool visible) { assert( qApp!=NULL ); int index = m_UI->effectComboBox->findText( - qApp->translate( "mvd", EFFECT_NAMES[ EFFECT_GRADIENT ] ) + qApp->translate( "mvd", EFFECT_NAMES[ effect ] ) ); - if( isGLSLEnabled ) + if( visible ) { if( index<0 ) - m_UI->effectComboBox->addItem( tr( "mvd", EFFECT_NAMES[ EFFECT_GRADIENT ] ) ); + m_UI->effectComboBox->addItem( qApp->translate( "mvd", EFFECT_NAMES[ effect ] ) ); } else if( index>=0 ) m_UI->effectComboBox->removeItem( index ); @@ -185,6 +191,14 @@ ShaderWidget ); m_UI->valueLineEdit->setCursorPosition( 0 ); } + + VectorImageSettings * vis = dynamic_cast<VectorImageSettings*>(settings); + + if(vis!=NULL) + { + GrayscaleActivated(vis->IsGrayscaleActivated()); + } + } /*******************************************************************************/ @@ -275,4 +289,21 @@ ShaderWidget emit SettingsChanged(); } + +void ShaderWidget +::GrayscaleActivated(bool status) +{ + SetEffectVisible(EFFECT_LUT_JET,status); + SetEffectVisible(EFFECT_LUT_LOCAL_JET,status); + SetEffectVisible(EFFECT_LUT_HOT,status); + SetEffectVisible(EFFECT_LUT_LOCAL_HOT,status); + SetEffectVisible(EFFECT_LUT_WINTER,status); + SetEffectVisible(EFFECT_LUT_LOCAL_WINTER,status); + SetEffectVisible(EFFECT_LUT_SUMMER,status); + SetEffectVisible(EFFECT_LUT_LOCAL_SUMMER,status); + SetEffectVisible(EFFECT_LUT_COOL,status); + SetEffectVisible(EFFECT_LUT_LOCAL_COOL,status); + SetEffectVisible(EFFECT_SPECTRAL_ANGLE,!status); +} + } // end namespace 'mvd'