]> Creatis software - clitk.git/blobdiff - vv/vvToolHistogram.h
Reslice with correct spacing
[clitk.git] / vv / vvToolHistogram.h
index c567862598361e5d8997fde583904dfdd8e41a71..437e4e6e04ef5ba9bf7ea7ef6fef5cf941e9a82b 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"
@@ -30,6 +34,8 @@
 #include <vtkTable.h>
 #include <vtkContextView.h>
 #include <vtkContextScene.h>
+#include <vtkInteractorObserver.h>
+#include <vtkEventQtSlotConnect.h>
 
 //------------------------------------------------------------------------------
 class vvToolHistogram:
@@ -48,14 +54,26 @@ class vvToolHistogram:
   virtual void InputIsSelected(vvSlicerManager * m);
 
   void computeHistogram();
+  void changeWindowLevel();
+  void computeWindowLevel();
+  void computeMinMax();
   void SetPoints();
 
+  void displayHistogram();
+
+  QVTKWidget* GetHistogramWidget();
+
   //-----------------------------------------------------
   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 +82,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;