]> Creatis software - clitk.git/blobdiff - vv/vvToolHistogram.h
Debug RTStruct conversion with empty struc
[clitk.git] / vv / vvToolHistogram.h
index c567862598361e5d8997fde583904dfdd8e41a71..84813782cf3b6de6098be44c7f4bcca0bd5818f6 100644 (file)
 #define VVTOOLHISTOGRAM_H
 
 #include <QtGlobal>
+#if QT_VERSION >= 0x050000
+#include <QtUiPlugin/QDesignerExportWidget>
+#else
 #include <QtDesigner/QDesignerExportWidget>
+#endif
 
 #include "vvToolBase.h"
 #include "vvToolWidgetBase.h"
+#include <vtkVersion.h>
+#if (VTK_MAJOR_VERSION == 8 && VTK_MINOR_VERSION >= 2) || VTK_MAJOR_VERSION >= 9
 #include "ui_vvToolHistogram.h"
+#else
+#include "ui_vvToolHistogramVTK7.h"
+#endif
 
 #include "clitkHistogramImage_ggo.h"
 #include "clitkHistogramImageGenericFilter.h"
 #include <vtkTable.h>
 #include <vtkContextView.h>
 #include <vtkContextScene.h>
+#include <vtkInteractorObserver.h>
+#include <vtkEventQtSlotConnect.h>
 
 //------------------------------------------------------------------------------
 class vvToolHistogram:
@@ -48,14 +59,30 @@ class vvToolHistogram:
   virtual void InputIsSelected(vvSlicerManager * m);
 
   void computeHistogram();
+  void changeWindowLevel();
+  void computeWindowLevel();
+  void computeMinMax();
   void SetPoints();
 
+  void displayHistogram();
+
+#if (VTK_MAJOR_VERSION == 8 && VTK_MINOR_VERSION >= 2) || VTK_MAJOR_VERSION >= 9
+  QVTKOpenGLNativeWidget* GetHistogramWidget();
+#else
+  QVTKWidget* GetHistogramWidget();
+#endif
+
   //-----------------------------------------------------
   public slots:
   virtual void apply();
   virtual bool close();
   virtual void reject();
 
+  void windowLevelChanged();
+  void reduceWindow();
+  void expandWindow();
+  void translateWindow(double x);
+
   void SaveAs();
 
  protected:
@@ -64,7 +91,17 @@ class vvToolHistogram:
   Ui::vvToolHistogram ui;
   args_info_clitkHistogramImage mArgsInfo;
 
+  double mMinWindowLevel;
+  double mMaxWindowLevel;
+  double originalWindow;
+  double originalLevel;
+  bool mModificationsDone;
+
   vtkSmartPointer<vtkContextView> mView;
+
+  vtkSmartPointer<vtkTable> mTableWindowLevel;
+  vtkSmartPointer<vtkTable> mTable;
+  //vtkSmartPointer<vtkContextView> mView;
   clitk::HistogramImageGenericFilter::Pointer mFilter;
   std::string mTextFileName;