X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvMainWindow.h;h=d4f23b101702d3a1f23eb69006afa608d62559ca;hb=9a9ae52b68d1cc0fea67acb45702d092446b423e;hp=d92937408231ce15e2dc9f0c77d3bdf6ebd56125;hpb=0a85e47a06c7d046d06a4645b724c4e81b19998d;p=clitk.git diff --git a/vv/vvMainWindow.h b/vv/vvMainWindow.h index d929374..d4f23b1 100644 --- a/vv/vvMainWindow.h +++ b/vv/vvMainWindow.h @@ -1,33 +1,26 @@ /*========================================================================= + Program: vv http://www.creatis.insa-lyon.fr/rio/vv - Program: vv - Language: C++ - Author : Pierre Seroul (pierre.seroul@gmail.com) + Authors belong to: + - University of LYON http://www.universite-lyon.fr/ + - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr -Copyright (C) 2008 -Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr -CREATIS-LRMN http://www.creatis.insa-lyon.fr + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the copyright notices for more information. -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, version 3 of the License. + It is distributed under dual licence -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + - BSD See included LICENSE.txt file + - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +======================================================================-====*/ - You should have received a copy of the GNU General Public License - along with this program. If not, see . - - =========================================================================*/ - -#ifndef vvMainWindow_h -#define vvMainWindow_h +#ifndef VVMAINWINDOW_H +#define VVMAINWINDOW_H #include #include - #include "ui_vvMainWindow.h" #include "vvMainWindowBase.h" #include "vvToolManager.h" @@ -52,16 +45,17 @@ class vvMainWindow: public vvMainWindowBase, vvMainWindow(); ~vvMainWindow(); void LoadImages(std::vector filenames, LoadedImageType type); - void AddImage(vvImage::Pointer image,std::string filename); - void AddImage(vvSlicerManager * m); + vvSlicerManager * AddImage(vvImage::Pointer image,std::string filename); void AddField(QString file,int index); void AddOverlayImage(int index, QString filename); + void AddROI(int index, QString filename); ///Adds a mesh to a SlicerManager, with optional warping by vector field void AddContour(int image_index, vvMesh::Pointer contour, bool propagation); ///This is used to show an image when opened or computed void ShowLastImage(); virtual void UpdateCurrentSlicer(); + virtual QTabWidget * GetTab(); //vvMainWindowToolInfo * GetInfoForTool(); // void AddRunningTool(vvToolCreatorBase * tool); @@ -96,7 +90,6 @@ public slots: void VectorChanged(int visibility, double x, double y, double z, double value); void OverlayChanged(int visibility, double valueOver, double valueRef); void FusionChanged(int visibility, double value); - void ResampleCurrentImage(); void SegmentationOnCurrentImage(); void SurfaceViewerLaunch(); @@ -110,8 +103,10 @@ public slots: void UpdateWindowLevel(); void SwitchWindowLevel(); 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); void RemoveLink(QString image1,QString image2); + void ChangeImageWithIndexOffset(vvSlicerManager *sm, int slicer, int offset); ///Generic method called when any one of the horizontal sliders is moved void HorizontalSliderMoved(int value,int column, int slicer_index); @@ -131,7 +126,7 @@ public slots: void SaveSOScreenshot(); void ShowContextMenu(QPoint point); - void CropImage(); + // void CropImage(); void SplitImage(); void CloseImage(); void ReloadImage(); @@ -139,7 +134,7 @@ public slots: void SelectOverlayImage(); void AddFusionImage(); - void SetVFProperty(int subsampling,int scale,int lut); + void SetVFProperty(int subsampling,int scale,int lut, int width); void SetOverlayProperty(int color); void SetFusionProperty(int opacity,int colormap,double window,double level); @@ -151,9 +146,6 @@ public slots: } void UpdateRenderWindows(); -// signals: -// void SlicerManagersHasChanged(); - private: //variables @@ -162,7 +154,6 @@ private: vvDocumentation *documentation; vvDicomSeriesSelector *dicomSeriesSelector; - QString mInputPathName; bool viewMode; bool playMode; @@ -180,7 +171,9 @@ private: QString GetVectorDoubleAsString(std::vector vectorDouble); QString GetVectorIntAsString(std::vector vectorInt); int GetSlicerIndexFromItem(QTreeWidgetItem* item); + QTreeWidgetItem* GetItemFromSlicerManager(vvSlicerManager* sm); void SaveScreenshot(vtkImageData* image); + int GetImageDuplicateFilenameNumber(std::string filename); QMenu contextMenu; //QMenu *AddSubImageMenu; @@ -188,11 +181,16 @@ private: std::vector horizontalSliders; std::vector verticalSliders; int mFrameRate; + + std::string mCurrentSelectedImageId; // vvMainWindowToolInfo * mCurrentToolInfo; // std::vector mListOfRunningTool; static vvMainWindow * mSingleton; + + int mCurrentTime; + }; #include "vvMainWindow.txx"