#ifndef VVTOOLSEGMENTATION_H
#define VVTOOLSEGMENTATION_H
+#include <QtGlobal>
+#if QT_VERSION >= 0x050000
+#include <QtUiPlugin/QDesignerExportWidget>
+#else
#include <QtDesigner/QDesignerExportWidget>
+#endif
#include "vvToolBase.h"
#include "vvToolWidgetBase.h"
static void Initialize();
virtual void InputIsSelected(vvSlicerManager * m);
void OpenBinaryImage();
+ void RegionGrowing();
void Erode();
void Dilate();
void Labelize();
+ void Merge();
void RemoveLabel();
void UpdateAndRenderNewMask();
//-----------------------------------------------------
public slots:
virtual void apply();
- bool eventFilter(QObject *object, QEvent *event);
+ void KeyPressed(std::string KeyPress);
virtual bool close();
virtual void MousePositionChanged(int slicer);
- // virtual void keyPressEvent(QKeyEvent * event);
- // virtual void reject();
protected:
- // virtual void closeEvent(QCloseEvent *event);
Ui::vvToolSegmentation ui;
QSharedPointer<vvROIActor> mRefMaskActor;
QSharedPointer<vvROIActor> mCurrentMaskActor;
vvImage::Pointer mCurrentCCLImage;
int mKernelValue;
vtkSmartPointer<vtkLookupTable> mDefaultLUTColor;
- enum { Mode_Default, Mode_CCL};
- int mCurrentMode;
+ enum { State_Default, State_CCL};
+ int mCurrentState;
QSharedPointer<vvROIActor> CreateMaskActor(vvImage::Pointer image, int i, int colorID, bool BGMode=false);
+
+ double mCurrentLabelUnderMousePointer;
+ std::vector<double> mCurrentMousePositionInMM;
+ //std::vector<double> mCurrentMousePositionInPixel;
+ double GetBackgroundValue() { return 0; }
+ double GetForegroundValue() { return 1; }
+ long ComputeNumberOfPixels(vvImage::Pointer image, double value);
+
+ // Compute and store sizes of mask Foreground
+ void UpdateMaskSize(vvImage::Pointer image, long & pix, double & cc);
+ void UpdateMaskSizeLabels();
+ long mRefMaskSizeInPixels;
+ double mRefMaskSizeInCC;
+ long mCurrentMaskSizeInPixels;
+ double mCurrentMaskSizeInCC;
}; // end class vvToolSegmentation
//------------------------------------------------------------------------------