Przeglądaj źródła

ENH: Add ctkVTKScalarsToColorsWidget (WIP) plus more tests

Julien Finet 14 lat temu
rodzic
commit
9e5378b969

+ 4 - 0
Libs/Visualization/VTK/Widgets/CMakeLists.txt

@@ -36,6 +36,8 @@ SET(KIT_SRCS
   ctkVTKScalarBarWidget.h
   ctkVTKScalarBarWidget.h
   ctkVTKScalarsToColorsView.cpp
   ctkVTKScalarsToColorsView.cpp
   ctkVTKScalarsToColorsView.h
   ctkVTKScalarsToColorsView.h
+  ctkVTKScalarsToColorsWidget.cpp
+  ctkVTKScalarsToColorsWidget.h
   ctkVTKSliceView.cpp
   ctkVTKSliceView.cpp
   ctkVTKSliceView.h
   ctkVTKSliceView.h
   ctkVTKSliceView_p.h
   ctkVTKSliceView_p.h
@@ -52,6 +54,7 @@ SET(KIT_MOC_SRCS
   ctkVTKRenderView_p.h
   ctkVTKRenderView_p.h
   ctkVTKScalarBarWidget.h
   ctkVTKScalarBarWidget.h
   ctkVTKScalarsToColorsView.h
   ctkVTKScalarsToColorsView.h
+  ctkVTKScalarsToColorsWidget.h
   ctkVTKSliceView.h
   ctkVTKSliceView.h
   ctkVTKSliceView_p.h
   ctkVTKSliceView_p.h
   ctkVTKTextPropertyWidget.h
   ctkVTKTextPropertyWidget.h
@@ -60,6 +63,7 @@ SET(KIT_MOC_SRCS
 # UI files
 # UI files
 SET(KIT_UI_FORMS
 SET(KIT_UI_FORMS
   Resources/UI/ctkVTKScalarBarWidget.ui
   Resources/UI/ctkVTKScalarBarWidget.ui
+  Resources/UI/ctkVTKScalarsToColorsWidget.ui
   Resources/UI/ctkVTKTextPropertyWidget.ui
   Resources/UI/ctkVTKTextPropertyWidget.ui
 )
 )
 
 

+ 98 - 0
Libs/Visualization/VTK/Widgets/Resources/UI/ctkVTKScalarsToColorsWidget.ui

@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>ctkVTKScalarsToColorsWidget</class>
+ <widget class="QWidget" name="ctkVTKScalarsToColorsWidget">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>429</width>
+    <height>144</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>ScalarsToColorsWidget</string>
+  </property>
+  <layout class="QGridLayout" name="gridLayout">
+   <item row="0" column="0" colspan="2">
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <item>
+      <spacer name="horizontalSpacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QLabel" name="PLabel">
+       <property name="text">
+        <string>P:</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QDoubleSpinBox" name="PSpinBox">
+       <property name="maximum">
+        <double>255.000000000000000</double>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QLabel" name="VLabel">
+       <property name="text">
+        <string>V:</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QDoubleSpinBox" name="VSpinBox">
+       <property name="maximum">
+        <double>1.000000000000000</double>
+       </property>
+       <property name="singleStep">
+        <double>0.100000000000000</double>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+   <item row="1" column="0">
+    <widget class="ctkVTKScalarsToColorsView" name="View"/>
+   </item>
+   <item row="1" column="1">
+    <widget class="ctkRangeSlider" name="RangeSlider">
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+    </widget>
+   </item>
+   <item row="2" column="0">
+    <widget class="ctkRangeSlider" name="RangeSlider_2">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>ctkVTKScalarsToColorsView</class>
+   <extends>QWidget</extends>
+   <header>ctkVTKScalarsToColorsView.h</header>
+  </customwidget>
+  <customwidget>
+   <class>ctkRangeSlider</class>
+   <extends>QSlider</extends>
+   <header>ctkRangeSlider.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>

+ 4 - 0
Libs/Visualization/VTK/Widgets/Testing/Cpp/CMakeLists.txt

@@ -14,6 +14,8 @@ SET(TEST_SOURCES
   ctkVTKScalarsToColorsViewTest1.cpp
   ctkVTKScalarsToColorsViewTest1.cpp
   ctkVTKScalarsToColorsViewTest2.cpp
   ctkVTKScalarsToColorsViewTest2.cpp
   ctkVTKScalarsToColorsViewTest3.cpp
   ctkVTKScalarsToColorsViewTest3.cpp
+  ctkVTKScalarsToColorsViewTest4.cpp
+  ctkVTKScalarsToColorsWidgetTest1.cpp
   )
   )
 
 
 #
 #
@@ -63,6 +65,8 @@ SIMPLE_TEST( ctkVTKChartViewTest1 )
 SIMPLE_TEST( ctkVTKScalarsToColorsViewTest1 )
 SIMPLE_TEST( ctkVTKScalarsToColorsViewTest1 )
 SIMPLE_TEST( ctkVTKScalarsToColorsViewTest2 )
 SIMPLE_TEST( ctkVTKScalarsToColorsViewTest2 )
 SIMPLE_TEST( ctkVTKScalarsToColorsViewTest3 )
 SIMPLE_TEST( ctkVTKScalarsToColorsViewTest3 )
+SIMPLE_TEST( ctkVTKScalarsToColorsViewTest4 )
+SIMPLE_TEST( ctkVTKScalarsToColorsWidgetTest1.cpp )
 
 
 #
 #
 # Add Tests expecting CTKData to be set
 # Add Tests expecting CTKData to be set

+ 0 - 8
Libs/Visualization/VTK/Widgets/Testing/Cpp/ctkVTKScalarsToColorsViewTest3.cpp

@@ -27,17 +27,9 @@
 #include "ctkVTKScalarsToColorsView.h"
 #include "ctkVTKScalarsToColorsView.h"
 
 
 // VTK includes
 // VTK includes
-#include <vtkChartXY.h>
 #include <vtkColorTransferFunction.h>
 #include <vtkColorTransferFunction.h>
-#include <vtkImageAccumulate.h>
-#include <vtkImageData.h>
-#include <vtkIntArray.h>
 #include <vtkPiecewiseFunction.h>
 #include <vtkPiecewiseFunction.h>
-#include <vtkPointData.h>
-#include <vtkPen.h>
-#include <vtkPlotBar.h>
 #include <vtkSmartPointer.h>
 #include <vtkSmartPointer.h>
-#include <vtkTable.h>
 
 
 // STD includes
 // STD includes
 #include <iostream>
 #include <iostream>

+ 137 - 0
Libs/Visualization/VTK/Widgets/Testing/Cpp/ctkVTKScalarsToColorsViewTest4.cpp

@@ -0,0 +1,137 @@
+/*=========================================================================
+
+  Library:   CTK
+
+  Copyright (c) 2010  Kitware Inc.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.commontk.org/LICENSE
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+=========================================================================*/
+/*
+// Qt includes
+#include <QApplication>
+#include <QSharedPointer>
+#include <QTimer>
+
+// CTK includes
+#include "ctkVTKScalarsToColorsView.h"
+
+// VTK includes
+#include <vtkColorTransferFunction.h>
+#include <vtkPiecewiseFunction.h>
+#include <vtkPlot.h>
+#include <vtkSmartPointer.h>
+
+// STD includes
+#include <iostream>
+*/
+#include "vtkRenderWindow.h"
+#include "vtkSmartPointer.h"
+#include "vtkChartXY.h"
+#include "vtkPlot.h"
+#include "vtkTable.h"
+#include "vtkFloatArray.h"
+#include "vtkContextView.h"
+#include "vtkContextScene.h"
+#include "vtkRenderWindowInteractor.h"
+//-----------------------------------------------------------------------------
+int ctkVTKScalarsToColorsViewTest4(int argc, char * argv [] )
+{
+  /*
+  QApplication app(argc, argv);
+
+  // Opacity function 1
+  vtkSmartPointer<vtkPiecewiseFunction> opacityFunction1 =
+    vtkSmartPointer<vtkPiecewiseFunction>::New();
+  opacityFunction1->AddPoint(0.,0.0);
+  opacityFunction1->AddPoint(0.2, 0.75);
+  opacityFunction1->AddPoint(0.35, 0.65);
+  opacityFunction1->AddPoint(0.8, 0.);
+
+  // Opacity function 2
+  vtkSmartPointer<vtkPiecewiseFunction> opacityFunction2 =
+    vtkSmartPointer<vtkPiecewiseFunction>::New();
+  opacityFunction2->AddPoint(0.4, 0.0);
+  opacityFunction2->AddPoint(0.5, 0.60);
+  opacityFunction2->AddPoint(0.9, 0.85);
+  opacityFunction2->AddPoint(1.0, 0.0);
+
+  ctkVTKScalarsToColorsView view(0);
+  // add transfer function item
+  vtkPlot* p1 = view.addOpacityFunction(opacityFunction1);
+  p1->SetColor(194, 66, 66, 255);
+  vtkPlot* p2 = view.addOpacityFunction(opacityFunction2);
+  p2->SetColor(193, 255, 66, 255);
+  view.fitAxesToBounds();
+  view.show();
+
+  QTimer autoExit;
+  if (argc < 2 || QString(argv[1]) != "-I")
+    {
+    QObject::connect(&autoExit, SIGNAL(timeout()), &app, SLOT(quit()));
+    autoExit.start(1000);
+    }
+  return app.exec();
+  */
+  // Set up a 2D scene, add an XY chart to it
+  vtkSmartPointer<vtkContextView> view =
+      vtkSmartPointer<vtkContextView>::New();
+  view->GetRenderWindow()->SetSize(400, 300);
+  vtkSmartPointer<vtkChartXY> chart = vtkSmartPointer<vtkChartXY>::New();
+  view->GetScene()->AddItem(chart);
+
+  // Create a table with some points in it...
+  vtkSmartPointer<vtkTable> table = vtkSmartPointer<vtkTable>::New();
+  vtkSmartPointer<vtkFloatArray> arrX = vtkSmartPointer<vtkFloatArray>::New();
+  arrX->SetName("X Axis");
+  table->AddColumn(arrX);
+  vtkSmartPointer<vtkFloatArray> arrC = vtkSmartPointer<vtkFloatArray>::New();
+  arrC->SetName("Cosine");
+  table->AddColumn(arrC);
+  vtkSmartPointer<vtkFloatArray> arrS = vtkSmartPointer<vtkFloatArray>::New();
+  arrS->SetName("Sine");
+  table->AddColumn(arrS);
+  vtkSmartPointer<vtkFloatArray> arrS2 = vtkSmartPointer<vtkFloatArray>::New();
+  arrS2->SetName("Sine2");
+  table->AddColumn(arrS2);
+  // Test charting with a few more points...
+  int numPoints = 69;
+  float inc = 7.5 / (numPoints-1);
+  table->SetNumberOfRows(numPoints);
+  for (int i = 0; i < numPoints; ++i)
+    {
+    table->SetValue(i, 0, i * inc);
+    table->SetValue(i, 1, cos(i * inc) + 0.0);
+    table->SetValue(i, 2, sin(i * inc) + 0.0);
+    table->SetValue(i, 3, sin(i * inc) + 0.5);
+    }
+
+  // Add multiple line plots, setting the colors etc
+  vtkPlot *line = chart->AddPlot(vtkChart::LINE);
+  line->SetInput(table, 0, 1);
+  line->SetColor(0, 255, 0, 255);
+  line->SetWidth(1.0);
+  line = chart->AddPlot(vtkChart::LINE);
+  line->SetInput(table, 0, 2);
+  line->SetColor(255, 0, 0, 255);
+  line->SetWidth(5.0);
+  line = chart->AddPlot(vtkChart::LINE);
+  line->SetInput(table, 0, 3);
+  line->SetColor(0, 0, 255, 255);
+  line->SetWidth(4.0);
+
+  //Finally render the scene and compare the image to a reference image
+  view->GetRenderWindow()->SetMultiSamples(0);
+  view->GetInteractor()->Start();
+  return EXIT_SUCCESS;
+}

+ 68 - 0
Libs/Visualization/VTK/Widgets/Testing/Cpp/ctkVTKScalarsToColorsWidgetTest1.cpp

@@ -0,0 +1,68 @@
+/*=========================================================================
+
+  Library:   CTK
+
+  Copyright (c) 2010  Kitware Inc.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.commontk.org/LICENSE
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+=========================================================================*/
+
+// Qt includes
+#include <QApplication>
+#include <QSharedPointer>
+#include <QTimer>
+
+// CTK includes
+#include "ctkVTKScalarsToColorsView.h"
+#include "ctkVTKScalarsToColorsWidget.h"
+
+// VTK includes
+#include <vtkChartXY.h>
+#include <vtkPiecewiseFunction.h>
+#include <vtkPlot.h>
+#include <vtkSmartPointer.h>
+
+// STD includes
+#include <iostream>
+
+//-----------------------------------------------------------------------------
+int ctkVTKScalarsToColorsWidgetTest1(int argc, char * argv [] )
+{
+  QApplication app(argc, argv);
+
+  // Opacity function
+  vtkSmartPointer<vtkPiecewiseFunction> opacityFunction =
+    vtkSmartPointer<vtkPiecewiseFunction>::New();
+  opacityFunction->AddPoint(0.,0.3, 0.5, 0.5);
+  opacityFunction->AddPoint(0.2, 0.1, 0.5, 0.5);
+  opacityFunction->AddPoint(0.4,0.87, 0.5, 0.5);
+  opacityFunction->AddPoint(0.6, 1., 0.5, 0.5);
+  opacityFunction->AddPoint(0.8, 0.5, 0.5, 0.5);
+  opacityFunction->AddPoint(1.,0.8, 0.5, 0.5);
+
+  ctkVTKScalarsToColorsWidget widget(0);
+  // add transfer function item
+  vtkPlot* plot = widget.view()->addOpacityFunction(opacityFunction);
+  plot->SetColor(0, 67,  247, 255);
+  widget.view()->fitAxesToBounds();
+  widget.show();
+
+  QTimer autoExit;
+  if (argc < 2 || QString(argv[1]) != "-I")
+    {
+    QObject::connect(&autoExit, SIGNAL(timeout()), &app, SLOT(quit()));
+    autoExit.start(1000);
+    }
+  return app.exec();
+}

+ 92 - 0
Libs/Visualization/VTK/Widgets/ctkVTKScalarsToColorsWidget.cpp

@@ -0,0 +1,92 @@
+/*=========================================================================
+
+  Library:   CTK
+
+  Copyright (c) 2010  Kitware Inc.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.commontk.org/LICENSE
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+=========================================================================*/
+
+// Qt includes
+
+// CTK includes
+#include "ctkLogger.h"
+#include "ctkVTKScalarsToColorsView.h"
+#include "ctkVTKScalarsToColorsWidget.h"
+#include "ui_ctkVTKScalarsToColorsWidget.h"
+
+// VTK includes
+#include <vtkAxis.h>
+#include <vtkChartXY.h>
+#include <vtkColorTransferFunction.h>
+#include <vtkColorTransferFunctionItem.h>
+#include <vtkCompositeTransferFunctionItem.h>
+#include <vtkLookupTable.h>
+#include <vtkLookupTableItem.h>
+#include <vtkPiecewiseControlPointsItem.h>
+#include <vtkPiecewiseFunction.h>
+#include <vtkPiecewiseFunctionItem.h>
+
+//----------------------------------------------------------------------------
+static ctkLogger logger("org.commontk.visualization.vtk.widgets.ctkVTKScalarsToColorsWidget");
+//----------------------------------------------------------------------------
+
+class ctkVTKScalarsToColorsWidgetPrivate:
+  public Ui_ctkVTKScalarsToColorsWidget,
+  public ctkPrivate<ctkVTKScalarsToColorsWidget>
+{
+public:
+  ctkVTKScalarsToColorsWidgetPrivate();
+  void setupUi(QWidget* widget);
+};
+
+// ----------------------------------------------------------------------------
+// ctkVTKScalarsToColorsWidgetPrivate methods
+
+// ----------------------------------------------------------------------------
+ctkVTKScalarsToColorsWidgetPrivate::ctkVTKScalarsToColorsWidgetPrivate()
+{
+}
+
+// ----------------------------------------------------------------------------
+void ctkVTKScalarsToColorsWidgetPrivate::setupUi(QWidget* widget)
+{
+  this->Ui_ctkVTKScalarsToColorsWidget::setupUi(widget);
+  this->PSpinBox->setValue(0.4);
+  this->VSpinBox->setValue(0.87);
+}
+
+// ----------------------------------------------------------------------------
+// ctkVTKScalarsToColorsWidget methods
+
+// ----------------------------------------------------------------------------
+ctkVTKScalarsToColorsWidget::ctkVTKScalarsToColorsWidget(QWidget* parentWidget)
+  :QWidget(parentWidget)
+{
+  CTK_INIT_PRIVATE(ctkVTKScalarsToColorsWidget);
+  CTK_D(ctkVTKScalarsToColorsWidget);
+  d->setupUi(this);
+}
+
+// ----------------------------------------------------------------------------
+ctkVTKScalarsToColorsWidget::~ctkVTKScalarsToColorsWidget()
+{
+}
+
+// ----------------------------------------------------------------------------
+ctkVTKScalarsToColorsView* ctkVTKScalarsToColorsWidget::view()const
+{
+  CTK_D(const ctkVTKScalarsToColorsWidget);
+  return d->View;
+}

+ 91 - 0
Libs/Visualization/VTK/Widgets/ctkVTKScalarsToColorsWidget.cxx

@@ -0,0 +1,91 @@
+/*=========================================================================
+
+  Library:   CTK
+
+  Copyright (c) 2010  Kitware Inc.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.commontk.org/LICENSE
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+=========================================================================*/
+
+// Qt includes
+
+// CTK includes
+#include "ctkLogger.h"
+#include "ctkVTKScalarsToColorsView.h"
+#include "ctkVTKScalarsToColorsWidget.h"
+#include "ui_ctkVTKScalarsToColorsWidget.h"
+
+// VTK includes
+#include <vtkAxis.h>
+#include <vtkChartXY.h>
+#include <vtkColorTransferFunction.h>
+#include <vtkColorTransferFunctionItem.h>
+#include <vtkCompositeTransferFunctionItem.h>
+#include <vtkLookupTable.h>
+#include <vtkLookupTableItem.h>
+#include <vtkPiecewiseControlPointsItem.h>
+#include <vtkPiecewiseFunction.h>
+#include <vtkPiecewiseFunctionItem.h>
+
+//----------------------------------------------------------------------------
+static ctkLogger logger("org.commontk.visualization.vtk.widgets.ctkVTKScalarsToColorsWidget");
+//----------------------------------------------------------------------------
+
+class ctkVTKScalarsToColorsWidgetPrivate:
+  public Ui_ctkVTKScalarsToColorsWidget,
+  public ctkPrivate<ctkVTKScalarsToColorsWidget>
+{
+public:
+  ctkVTKScalarsToColorsWidgetPrivate();
+  void setupUi();
+};
+
+// ----------------------------------------------------------------------------
+// ctkVTKScalarsToColorsWidgetPrivate methods
+
+// ----------------------------------------------------------------------------
+ctkVTKScalarsToColorsWidgetPrivate::ctkVTKScalarsToColorsWidgetPrivate()
+{
+}
+
+// ----------------------------------------------------------------------------
+void ctkVTKScalarsToColorsWidgetPrivate::setupUi()
+{
+  CTK_P(ctkVTKScalarsToColorsWidget);
+  this->Ui_ctkVTKScalarsToColorsWidget->setupUi();
+}
+
+// ----------------------------------------------------------------------------
+// ctkVTKScalarsToColorsWidget methods
+
+// ----------------------------------------------------------------------------
+ctkVTKScalarsToColorsWidget::ctkVTKScalarsToColorsWidget(QWidget* parentWidget)
+  :ctkVTKChartWidget(parentWidget)
+{
+  CTK_INIT_PRIVATE(ctkVTKScalarsToColorsWidget);
+  CTK_D(ctkVTKScalarsToColorsWidget);
+  d->setupUi();
+}
+
+// ----------------------------------------------------------------------------
+ctkVTKScalarsToColorsWidget::~ctkVTKScalarsToColorsWidget()
+{
+}
+
+// ----------------------------------------------------------------------------
+ctkVTKScalarsToColorsView* ctkVTKScalarsToColorsWidget::view()const
+{
+  CTK_D(ctkVTKScalarsToColorsWidget);
+  return d->View;
+}

+ 49 - 0
Libs/Visualization/VTK/Widgets/ctkVTKScalarsToColorsWidget.h

@@ -0,0 +1,49 @@
+/*=========================================================================
+
+  Library:   CTK
+
+  Copyright (c) 2010  Kitware Inc.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.commontk.org/LICENSE
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+=========================================================================*/
+
+#ifndef __ctkVTKScalarsToColorsWidget_h
+#define __ctkVTKScalarsToColorsWidget_h
+
+//Qt includes
+#include <QWidget>
+
+// CTK includes
+#include <ctkPimpl.h>
+#include "CTKVisualizationVTKWidgetsExport.h"
+class ctkVTKScalarsToColorsView;
+class ctkVTKScalarsToColorsWidgetPrivate;
+
+// VTK includes
+#include <QVTKWidget.h>
+
+class CTK_VISUALIZATION_VTK_WIDGETS_EXPORT ctkVTKScalarsToColorsWidget : public QWidget
+{
+  Q_OBJECT
+
+public:
+  ctkVTKScalarsToColorsWidget(QWidget* parent = 0);
+  virtual ~ctkVTKScalarsToColorsWidget();
+
+  ctkVTKScalarsToColorsView* view()const;
+private:
+  CTK_DECLARE_PRIVATE(ctkVTKScalarsToColorsWidget);
+};
+
+#endif