X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvMainWindow.h;h=dcfe9ed464798f904625ac7249f44e3a3b993122;hb=11e1f5ecf576e2a700f5c09d4b580c3234bf7e40;hp=b3cd6cd6834228ab2a47d1d5d0931d8a4910ca5c;hpb=686056dfe2391eed76302af43b08d30791901965;p=clitk.git diff --git a/vv/vvMainWindow.h b/vv/vvMainWindow.h index b3cd6cd..dcfe9ed 100644 --- a/vv/vvMainWindow.h +++ b/vv/vvMainWindow.h @@ -3,7 +3,7 @@ Authors belong to: - University of LYON http://www.universite-lyon.fr/ - - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - Léon Bérard cancer center http://www.centreleonberard.fr - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr This software is distributed WITHOUT ANY WARRANTY; without even @@ -14,7 +14,7 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -======================================================================-====*/ +===========================================================================**/ #ifndef VVMAINWINDOW_H #define VVMAINWINDOW_H @@ -24,7 +24,7 @@ #include "ui_vvMainWindow.h" #include "vvMainWindowBase.h" #include "vvToolManager.h" -#include "vvConstants.h" +#include "vvImageReader.h" #include "vvMesh.h" #include "clitkMemoryUsage.h" @@ -39,6 +39,7 @@ class vtkImageData; class vtkRenderer; class vtkMatrix4x4; class vvDicomSeriesSelector; +class vvSlicer; //------------------------------------------------------------------------------ class vvMainWindow: public vvMainWindowBase, @@ -49,7 +50,7 @@ class vvMainWindow: public vvMainWindowBase, public: vvMainWindow(); ~vvMainWindow(); - void LoadImages(std::vector filenames, LoadedImageType type); + void LoadImages(std::vector filenames, vvImageReader::LoadedImageType type); vvSlicerManager * AddImage(vvImage::Pointer image,std::string filename); void AddField(QString file,int index); void AddOverlayImage(int index, QString filename); @@ -68,8 +69,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(); @@ -84,9 +83,11 @@ public slots: void OpenVTKContour(); void SaveAs(); void CurrentImageChanged(std::string id); + void CurrentPickedImageChanged(std::string id); void ImageInfoChanged(); void ShowHelpDialog(); void ShowDocumentation(); + void PopupRegisterForm(bool checkCanPush=false); void ComputeDeformableRegistration(); void WarpImage(); void ChangeViewMode(); @@ -100,7 +101,6 @@ public slots: void SegmentationOnCurrentImage(); void SurfaceViewerLaunch(); - void WindowsChanged(int window, int view, int slice); void WindowLevelChanged(double window, double level,int preset, int colormap); void UpdateSlice(int slicer, int slice); void UpdateTSlice(int slicer, int slice); @@ -111,7 +111,7 @@ public slots: 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 UpdateLinkedNavigation(std::string id, vvSlicerManager *sm, vvSlicer* refSlicer); void AddLink(QString image1,QString image2); void RemoveLink(QString image1,QString image2); void ChangeImageWithIndexOffset(vvSlicerManager *sm, int slicer, int offset); @@ -140,9 +140,9 @@ 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); + void SetFusionProperty(int opacity, int tresOpacity, int colormap,double window,double level); void GoToCursor(); void PlayPause(); @@ -152,7 +152,13 @@ public slots: } void UpdateRenderWindows(); void UpdateMemoryUsage(); - + void show(); + +protected: + + void createRecentlyOpenedFilesMenu(); + void updateRecentlyOpenedFilesMenu(const std::list &files); + private: //variables @@ -180,10 +186,11 @@ private: QString Get4x4MatrixDoubleAsString(vtkSmartPointer matrix); int GetSlicerIndexFromItem(QTreeWidgetItem* item); QTreeWidgetItem* GetItemFromSlicerManager(vvSlicerManager* sm); - void SaveScreenshot(vtkImageData* image); + void SaveScreenshot(QVTKWidget *widget); int GetImageDuplicateFilenameNumber(std::string filename); QMenu contextMenu; + QMenu* recentlyOpenedFilesMenu; //QMenu *AddSubImageMenu; std::vector contextActions; std::vector horizontalSliders; @@ -191,6 +198,8 @@ private: int mFrameRate; std::string mCurrentSelectedImageId; + std::string mCurrentPickedImageId; + unsigned int mCurrentPickedImageIndex; // vvMainWindowToolInfo * mCurrentToolInfo; // std::vector mListOfRunningTool; @@ -198,9 +207,7 @@ private: static vvMainWindow * mSingleton; int mCurrentTime; - + }; -#include "vvMainWindow.txx" - #endif