]> Creatis software - cpPlugins.git/blobdiff - lib/cpExtensions/QT/WindowLevelImageConfiguration.cxx
Cast image filter added. ROI filter modified.
[cpPlugins.git] / lib / cpExtensions / QT / WindowLevelImageConfiguration.cxx
index c865f55d0a3d249646a7f7ac5211f9bc973d18b3..2c53bfefc0b289093548a753871be3b94ab0b9cf 100644 (file)
@@ -9,7 +9,9 @@
 cpExtensions::QT::WindowLevelImageConfiguration::
 WindowLevelImageConfiguration( QWidget* parent, Qt::WindowFlags f )
   : Superclass( parent, f ),
-    m_UI( new Ui::WindowLevelImageConfiguration )
+    m_UI( new Ui::WindowLevelImageConfiguration ),
+    m_Data( NULL ),
+    m_Name( "" )
 {
   this->m_UI->setupUi( this );
 }
@@ -23,16 +25,17 @@ cpExtensions::QT::WindowLevelImageConfiguration::
 
 // -------------------------------------------------------------------------
 void cpExtensions::QT::WindowLevelImageConfiguration::
-setData( SimpleMPRWidget* data )
+setData( ActorsWidgetInterface* data, const std::string& name )
 {
   if( this->m_Data != data )
   {
     this->m_Data = data;
+    this->m_Name = name;
 
     // Get data
     double range[ 2 ], win_lev[ 2 ];
-    this->m_Data->GetScalarRange( range );
-    this->m_Data->GetWindowLevel( win_lev );
+    this->m_Data->GetScalarRange( this->m_Name, range );
+    this->m_Data->GetWindowLevel( this->m_Name, win_lev );
 
     // Intensity range
     this->m_UI->MinimumBox->setMinimum( -1000000 );
@@ -66,7 +69,7 @@ setData( SimpleMPRWidget* data )
     this->m_UI->LevelSlider->setValue( l );
 
     // Opacity
-    double o = this->m_Data->GetImageOpacity( );
+    double o = this->m_Data->GetOpacity( this->m_Name );
     o *=
       double( this->m_UI->OpacitySlider->maximum( ) ) -
       double( this->m_UI->OpacitySlider->minimum( ) );
@@ -74,7 +77,7 @@ setData( SimpleMPRWidget* data )
     this->m_UI->OpacitySlider->setValue( o );
 
     // Interpolation mode
-    switch( this->m_Data->GetImageInterpolation( ) )
+    switch( this->m_Data->GetImageInterpolation( this->m_Name ) )
     {
     case 'L': this->m_UI->InterpolatorBox->setCurrentIndex( 1 ); break;
     case 'C': this->m_UI->InterpolatorBox->setCurrentIndex( 2 ); break;
@@ -125,7 +128,7 @@ _maximumValue( int v )
   double range[ 2 ];
   range[ 0 ] = double( this->m_UI->MinimumBox->value( ) );
   range[ 1 ] = double( v );
-  this->m_Data->SetScalarRange( range );
+  this->m_Data->SetScalarRange( this->m_Name, range );
 }
 
 // -------------------------------------------------------------------------
@@ -135,7 +138,7 @@ _minimumValue( int v )
   double range[ 2 ];
   range[ 0 ] = double( v );
   range[ 1 ] = double( this->m_UI->MaximumBox->value( ) );
-  this->m_Data->SetScalarRange( range );
+  this->m_Data->SetScalarRange( this->m_Name, range );
 }
 
 // -------------------------------------------------------------------------
@@ -145,7 +148,7 @@ _levelValue( int v )
   double r[ 2 ];
   double l, s;
 
-  this->m_Data->GetScalarRange( r );
+  this->m_Data->GetScalarRange( this->m_Name, r );
   if( this->sender( ) == this->m_UI->LevelSlider )
   {
     s = double( v ) / double( this->m_UI->LevelSlider->maximum( ) );
@@ -166,10 +169,7 @@ _levelValue( int v )
   this->m_UI->LevelBox->setValue( l );
   this->m_UI->LevelBox->blockSignals( b );
 
-  double wl[ 2 ];
-  this->m_Data->GetWindowLevel( wl );
-  wl[ 1 ] = l;
-  this->m_Data->SetWindowLevel( wl );
+  this->m_Data->SetLevel( this->m_Name, l );
 }
 
 // -------------------------------------------------------------------------
@@ -179,7 +179,7 @@ _windowValue( int v )
   double r[ 2 ];
   double w, s;
 
-  this->m_Data->GetScalarRange( r );
+  this->m_Data->GetScalarRange( this->m_Name, r );
   if( this->sender( ) == this->m_UI->WindowSlider )
   {
     s = double( v ) / double( this->m_UI->WindowSlider->maximum( ) );
@@ -200,10 +200,7 @@ _windowValue( int v )
   this->m_UI->WindowBox->setValue( w );
   this->m_UI->WindowBox->blockSignals( b );
 
-  double wl[ 2 ];
-  this->m_Data->GetWindowLevel( wl );
-  wl[ 0 ] = w;
-  this->m_Data->SetWindowLevel( wl );
+  this->m_Data->SetWindow( this->m_Name, w );
 }
 
 // -------------------------------------------------------------------------
@@ -217,7 +214,7 @@ _opacityValue( int v )
     o /=
       double( this->m_UI->OpacitySlider->maximum( ) ) -
       double( this->m_UI->OpacitySlider->minimum( ) );
-    this->m_Data->SetImageOpacity( o );
+    this->m_Data->SetOpacity( this->m_Name, o );
 
   } // fi
 }
@@ -228,9 +225,9 @@ _interpolatorValue( int v )
 {
   switch( v )
   {
-  case 1  : this->m_Data->SetImageInterpolation( 'L' ); break;
-  case 2  : this->m_Data->SetImageInterpolation( 'C' ); break;
-  default : this->m_Data->SetImageInterpolation( 'N' ); break;
+  case 1  : this->m_Data->SetImageInterpolation( this->m_Name, 'L' ); break;
+  case 2  : this->m_Data->SetImageInterpolation( this->m_Name, 'C' ); break;
+  default : this->m_Data->SetImageInterpolation( this->m_Name, 'N' ); break;
   } // hctiws
 }