return mCursor;
}
+ vtkTransform * GetSlicingTransform() { return mSlicingTransform; }
+ vtkTransform * GetConcatenatedTransform() { return mConcatenatedTransform; }
+
void SetCurrentPosition(double x, double y, double z, int t);
- double* GetCurrentPosition() {
- return mCurrent;
- }
+ double* GetCurrentPosition();
void UpdateCursorPosition();
void SetCursorVisibility(bool s);
void SetCornerAnnotationVisibility(bool s);
bool GetCornerAnnotationVisibility();
- void GetExtremasAroundMousePointer(double & min, double & max, vtkImageData *image);
+ void GetExtremasAroundMousePointer(double & min, double & max, vtkImageData *image, vtkTransform *transform);
void UpdateLandmarks();
void ForceUpdateDisplayExtent();
vvLandmarks* mLandmarks;
+ // __________ Image coordinates accounting for spacing and origin
+ // Λ Λ
+ // | | vvImage.GetTransform()
+ // | |
+ // GetConcatenatedTransform() | _|___ VV world coordinates (mm) (displayed in VV)
+ // | Λ
+ // | | GetSlicingTransform()
+ // | |
+ // ___|__|___ VTK world coordinates (mm) (never displayed)
+
vtkSmartPointer<vtkImageReslice> mImageReslice;
+ vtkSmartPointer<vtkTransform> mSlicingTransform;
+ vtkSmartPointer<vtkTransform> mConcatenatedTransform;
vtkSmartPointer<vtkImageReslice> mOverlayReslice;
vtkSmartPointer<vtkImageMapToWindowLevelColors> mOverlayMapper;
vtkSmartPointer<vvBlendImageActor> mOverlayActor;
int mCurrentTSlice;
double mCurrent[3];
+ double mCurrentBeforeSlicingTransform[3];
double mCursor[4];
int mSubSampling;
int mScale;