#include "vvROIActor.h"
#include "ui_vvToolSegmentation.h"
+#include "vtkLookupTable.h"
+
//------------------------------------------------------------------------------
class vvToolSegmentation:
public vvToolWidgetBase,
void OpenBinaryImage();
void Erode();
void Dilate();
- void UpdateAndRender();
+ void Labelize();
+ void Merge();
+ void RemoveLabel();
+ void UpdateAndRenderNewMask();
//-----------------------------------------------------
public slots:
virtual void apply();
- virtual void keyPressEvent(QKeyEvent * event);
+ // 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;
- vvImage::Pointer mMaskImage;
+ QSharedPointer<vvROIActor> mCurrentMaskActor;
+ std::vector<QSharedPointer<vvROIActor> > mCurrentCCLActors;
+ vvImage::Pointer mRefMaskImage;
+ vvImage::Pointer mCurrentMaskImage;
+ vvImage::Pointer mCurrentCCLImage;
int mKernelValue;
+ vtkSmartPointer<vtkLookupTable> mDefaultLUTColor;
+ enum { State_Default, State_CCL};
+ int mCurrentState;
+
+ QSharedPointer<vvROIActor> CreateMaskActor(vvImage::Pointer image, int i, int colorID, bool BGMode=false);
+
+ double mCurrentLabelUnderMousePointer;
}; // end class vvToolSegmentation
//------------------------------------------------------------------------------