#ifndef VVTOOLPROFILE_H
#define VVTOOLPROFILE_H
-#include <QtUiPlugin/QDesignerExportWidget>
+#include <QtGlobal>
+#include <QtDesigner/QDesignerExportWidget>
#include "vvToolBase.h"
#include "vvToolWidgetBase.h"
#include "vvImageContour.h"
+#include "vvLandmarks.h"
#include "ui_vvToolProfile.h"
+#include "vvBinaryImageOverlayActor.h"
#include "clitkProfileImage_ggo.h"
+#include "clitkProfileImageGenericFilter.h"
+#include <vtkTable.h>
+#include <vtkContextView.h>
+#include <vtkContextScene.h>
+#include <vtkTransformPolyDataFilter.h>
//------------------------------------------------------------------------------
class vvToolProfile:
//-----------------------------------------------------
static void Initialize();
+ void InitializeLine();
void GetArgsInfoFromGUI();
virtual void InputIsSelected(vvSlicerManager * m);
bool isPointsSelected();
+ void computeProfile();
+ void SetPoints();
//-----------------------------------------------------
public slots:
virtual void apply();
virtual bool close();
virtual void reject();
- void valueChangedT1(double v);
- void valueChangedT2(double v);
- void UpdateOrientation(int slicer, int orientation);
- void UpdateSlice(int slicer,int slices);
- void enableLowerThan(bool b);
- void useFGBGtoggled(bool);
- void InteractiveDisplayToggled(bool b);
- // void LeftButtonReleaseEvent(int slicer);
void selectPoint1();
void selectPoint2();
void cancelPoints();
+ void SaveAs();
+ void DisplayLine(int);
+ void DeleteLine(int);
protected:
void RemoveVTKObjects();
virtual void closeEvent(QCloseEvent *event);
Ui::vvToolProfile ui;
args_info_clitkProfileImage mArgsInfo;
- std::vector<vvImageContour::Pointer> mImageContour;
- std::vector<vvImageContour::Pointer> mImageContourLower;
- bool mInteractiveDisplayIsEnabled;
double* mPoint1;
double* mPoint2;
- bool point1Selected;
- bool point2Selected;
-
- void Update(int slicer);
+ bool mPoint1Selected;
+ bool mPoint2Selected;
+ vtkSmartPointer<vtkContextView> mView;
+ clitk::ProfileImageGenericFilter::Pointer mFilter;
+ std::string mTextFileName;
+ std::vector<vtkSmartPointer<vtkActor> > mLineActors;
+ vtkSmartPointer<vtkPolyData> mLinesPolyData;
+ vtkSmartPointer<vtkTransformPolyDataFilter> mLineTransform;
+
}; // end class vvToolProfile
//------------------------------------------------------------------------------