]> Creatis software - clitk.git/blobdiff - vv/vvMainWindow.h
Use QSharedPointers for vvROIActors
[clitk.git] / vv / vvMainWindow.h
index 8f218a2a54f1f62b34c1882d9850eeb9eb70a919..fa61855e1fc99b331b9a39444c51421fd562419a 100644 (file)
 #include "vvToolManager.h"
 #include "vvConstants.h"
 #include "vvMesh.h"
+#include "clitkMemoryUsage.h"
+
+#include "vtkSmartPointer.h"
+
 
 class vvSlicerManager;
 class vvHelpDialog;
@@ -33,6 +37,7 @@ class vvDocumentation;
 class vtkRenderWindowInteractor;
 class vtkImageData;
 class vtkRenderer;
+class vtkMatrix4x4;
 class vvDicomSeriesSelector;
 
 //------------------------------------------------------------------------------
@@ -63,8 +68,6 @@ class vvMainWindow: public vvMainWindowBase,
 public slots:
   ///Allows the user to open and select various surfaces contained in a dicom-struct file
   void OpenDCStructContour();
-  ///Computes the MIP of the currently selected image and displays it
-  void ComputeMIP();
   ///Computes the midposition image of a 4D sequence with a VF and displays it
   void ComputeMidPosition();
   void OpenImages();
@@ -72,12 +75,14 @@ public slots:
   void OpenRecentImage();
   void OpenImageWithTime();
   void MergeImages();
+  void SliceImages();
   void MergeImagesWithTime();
   void OpenDicom();
   ///Open a vtkPolyData surface mesh and display it over the current image
   void OpenVTKContour();
   void SaveAs();
   void CurrentImageChanged(std::string id);
+  void CurrentPickedImageChanged(std::string id);
   void ImageInfoChanged();
   void ShowHelpDialog();
   void ShowDocumentation();
@@ -103,6 +108,7 @@ public slots:
   void UpdateColorMap();
   void UpdateWindowLevel();
   void SwitchWindowLevel();
+  void ApplyWindowLevelToAllImages();
   void UpdateLinkManager(std::string id, int slicer, double x, double y, double z, int temps);
   void UpdateLinkedNavigation(std::string id, vvSlicerManager *sm);
   void AddLink(QString image1,QString image2);
@@ -133,7 +139,7 @@ public slots:
   void SelectOverlayImage();
   void SelectFusionImage();
 
-  void SetVFProperty(int subsampling,int scale,int lut, int width);
+  void SetVFProperty(int subsampling,int scale,int lut, int width, double r, double g, double b);
   void SetOverlayProperty(int color);
   void SetFusionProperty(int opacity,int colormap,double window,double level);
 
@@ -144,6 +150,7 @@ public slots:
     mFrameRate = rate;
   }
   void UpdateRenderWindows();
+  void UpdateMemoryUsage();
 
 private:
 
@@ -169,6 +176,7 @@ private:
   QString GetSizeInBytes(unsigned long size);
   QString GetVectorDoubleAsString(std::vector<double> vectorDouble);
   QString GetVectorIntAsString(std::vector<int> vectorInt);
+  QString Get4x4MatrixDoubleAsString(vtkSmartPointer<vtkMatrix4x4> matrix);
   int GetSlicerIndexFromItem(QTreeWidgetItem* item);
   QTreeWidgetItem* GetItemFromSlicerManager(vvSlicerManager* sm);
   void SaveScreenshot(vtkImageData* image);
@@ -182,6 +190,8 @@ private:
   int mFrameRate;
   
   std::string mCurrentSelectedImageId;
+  std::string mCurrentPickedImageId;
+  unsigned int mCurrentPickedImageIndex;
 
   // vvMainWindowToolInfo * mCurrentToolInfo;
   // std::vector<vvToolCreatorBase*> mListOfRunningTool;
@@ -189,7 +199,7 @@ private:
   static vvMainWindow * mSingleton;
 
   int mCurrentTime;
-
+  
 };
 
 #include "vvMainWindow.txx"