#ifndef VVTOOLROIMANAGER_H
#define VVTOOLROIMANAGER_H
+#include <QtGlobal>
#include <QtDesigner/QDesignerExportWidget>
#include <QSharedPointer>
static void Initialize();
virtual void InputIsSelected(vvSlicerManager *m);
+ void AddImage(vvImage * binaryImage, std::string name, std::string filename, double BG, bool m_modeBG=true);
+ void UpdateAllContours();
+ void UpdateAllROIStatus();
+ virtual void SaveState(std::auto_ptr<QXmlStreamWriter> & m_XmlWriter);
+ virtual void InitializeNewTool(bool ReadStateFlag);
+
public slots:
void AnImageIsBeingClosed(vvSlicerManager *);
void SelectedImageHasChanged(vvSlicerManager *);
+ void Open();
+ void OpenBinaryImage(QStringList & filenames);
+ void OpenDicomImage(std::string filaneme);
+ void SelectedItemChangedInTree();
+ void VisibleROIToggled(bool b);
+ void VisibleContourROIToggled(bool b);
+ void OpacityChanged(int v);
+ void ChangeColor();
+ void ChangeContourColor();
+ void ChangeContourWidth(int n);
+ void ChangeDepth(int n);
+ void AllVisibleROIToggled(int b);
+ void AllVisibleContourROIToggled(int b);
+ void ReloadCurrentROI();
+ void close();
+ void RemoveROI();
+ vvSlicerManager * GetCurrentSlicerManager() { return mCurrentSlicerManager; }
protected:
Ui::vvToolROIManager ui;
- vvSlicerManager * mSlicerManager;
+ vvSlicerManager * mCurrentSlicerManager; // need it because do not inherit from vvToolWidgetBase
+ vvImage * mCurrentImage;
+ vvMainWindowBase * mMainWindow;
+ int mIndexFirstTab;
+ bool mOpenFileBrowserFlag;
+
+ int mNumberOfVisibleROI;
+ int mNumberOfVisibleContourROI;
+ static int nbTotalROI;
+
+ vtkSmartPointer<vtkLookupTable> mDefaultLUTColor;
+
+ QStringList mOpenedBinaryImageFilenames;
+ std::vector<clitk::DicomRT_ROI::Pointer> mROIList;
+ std::vector<QSharedPointer<vvROIActor> > mROIActorsList;
+
+ // Data for the widget Tree
+ std::vector< QSharedPointer<QTreeWidgetItem> > mTreeWidgetList;
+ std::map<clitk::DicomRT_ROI::Pointer, QTreeWidgetItem *> mMapROIToTreeWidget;
+ std::map<QTreeWidgetItem *, clitk::DicomRT_ROI::Pointer> mMapTreeWidgetToROI;
+
+ // Data for current selected roi
+ clitk::DicomRT_ROI::Pointer mCurrentROI;
+ QSharedPointer<vvROIActor> mCurrentROIActor;
+
+ // Data for XML Reader
+ void ReadXMLInformation();
+ void ReadXMLInformation_ROI();
+ uint mInitialImageIndex;
+ QStringList mROIFilenames;
+ std::vector<QSharedPointer<vvROIActor> > mROIActorsParamList;
}; // end class vvToolROIManager
//------------------------------------------------------------------------------