#include <iostream>
#include <vector>
+#include <QString> //TODO delete
+#include <QMessageBox>
+
#include "vvLandmarks.h"
#include "vvImage.h"
#include "vvMesh.h"
#include "vvMeshActor.h"
+#include "vvClipPolyData.h"
#include <vtkSmartPointer.h>
#include <vtkImageViewer2.h>
#include <vtkImageReslice.h>
#include <vtkImageMapToColors.h>
+#include <vtkCaptionActor2D.h>
class vtkActor;
class vtkActor2D;
void SetLandmarks(vvLandmarks* landmarks);
void SetTSlice(int t);
+
+ void SetFusionSequenceTSlice(int t);
+
void SetSliceOrientation(int orientation);
void AdjustResliceToSliceOrientation(vtkImageReslice *reslice);
int GetTSlice();
+ int GetFusionTSlice();
+ int GetOverlayTSlice();
+ int GetMaxCurrentTSlice();
///Reimplemented from vtkImageViewer2 to add polydata support
void SetSlice(int s);
- int GetTMax() {
- return (unsigned int)mImage->GetVTKImages().size() - 1;
- }
+ int GetTMax();
void SetOpacity(double s);
void SetRenderWindow(int orientation, vtkRenderWindow * rw);
vtkTransform * GetSlicingTransform() { return mSlicingTransform; }
vtkTransform * GetConcatenatedTransform() { return mConcatenatedTransform; }
+ vtkTransform * GetConcatenatedFusionTransform() { return mConcatenatedFusionTransform; }
+ vtkTransform * GetConcatenatedOverlayTransform() { return mConcatenatedOverlayTransform; }
void SetCurrentPosition(double x, double y, double z, int t);
double* GetCurrentPosition();
// Λ Λ
// | | vvImage.GetTransform()
// | |
- // GetConcatenatedTransform() | _|___ VV world coordinates (mm) (displayed in VV)
+ // GetConcatenatedTransform() | _|___ VV world coordinates (mm) (displayed in VV) mCurrentBeforeSlicingTransform
// | Λ
// | | GetSlicingTransform()
// | |
- // ___|__|___ VTK world coordinates (mm) (never displayed)
+ // ___|__|___ VTK world coordinates (mm) (never displayed) mCurrent
- vtkSmartPointer<vtkImageReslice> mImageReslice;
vtkSmartPointer<vtkTransform> mSlicingTransform;
+ vtkSmartPointer<vtkImageReslice> mImageReslice;
vtkSmartPointer<vtkTransform> mConcatenatedTransform;
vtkSmartPointer<vtkImageReslice> mOverlayReslice;
+ vtkSmartPointer<vtkTransform> mConcatenatedOverlayTransform;
vtkSmartPointer<vtkImageMapToWindowLevelColors> mOverlayMapper;
vtkSmartPointer<vvBlendImageActor> mOverlayActor;
vtkSmartPointer<vtkImageReslice> mFusionReslice;
+ vtkSmartPointer<vtkTransform> mConcatenatedFusionTransform;
vtkSmartPointer<vtkImageMapToColors> mFusionMapper;
vtkSmartPointer<vtkImageActor> mFusionActor;
vtkSmartPointer<vtkCornerAnnotation> ca;
vtkSmartPointer<vtkActor> mVFActor;
vtkSmartPointer<vtkGlyph3D> mLandGlyph;
vtkSmartPointer<vtkCursor3D> mCross;
- vtkSmartPointer<vtkClipPolyData> mLandClipper;
+ vtkSmartPointer<vvClipPolyData> mLandClipper;
vtkSmartPointer<vtkPolyDataMapper> mLandMapper;
vtkSmartPointer<vtkActor> mLandActor;
+ std::vector<vtkSmartPointer<vtkCaptionActor2D> > mLandLabelActors;
vtkSmartPointer<vtkBox> mClipBox;
vtkSmartPointer<vtkScalarBarActor> legend;
std::vector<vvMeshActor*> mSurfaceCutActors;
int mCurrentTSlice;
+ int mCurrentFusionTSlice;
+ int mCurrentOverlayTSlice;
double mCurrent[3];
double mCurrentBeforeSlicingTransform[3];
double mCursor[4];