======================================================================-====*/
#ifndef VVIMAGE_H
#define VVIMAGE_H
+
#include <iostream>
#include <vector>
#include <itkObjectFactory.h>
+#include <vtkSmartPointer.h>
class vtkImageData;
+class vtkImageReslice;
+class vtkTransform;
+class vtkImageReslice;
+class vtkAbstractTransform;
class vvImage : public itk::LightObject {
public :
itkNewMacro(Self);
void Init();
+ void Reset();
+
void SetImage(std::vector<vtkImageData*> images);
void AddImage(vtkImageData* image);
const std::vector<vtkImageData*>& GetVTKImages();
bool IsTimeSequence();
bool IsScalarTypeInteger();
bool IsScalarTypeInteger(int t);
+ vtkAbstractTransform * GetTransform();
+ void SetTransform(vtkAbstractTransform *transform);
+ vtkImageReslice* GetVTKImageReslice();
+ void SetVTKImageReslice(vtkImageReslice *reslice);
+
+ void SetRotateX(int xvalue);
+ void SetRotateY(int yvalue);
+ void SetRotateZ(int zvalue);
-private:
+ void SetTranslationX(int xvalue);
+ void SetTranslationY(int yvalue);
+ void SetTranslationZ(int zvalue);
+ void SetOrigin(double value[3]);
+
+ void SetTimeSpacing(double s) { mTimeSpacing = s; }
+ void SetTimeOrigin(double o) { mTimeOrigin = o; }
+
+ private:
vvImage();
~vvImage();
std::vector<vtkImageData*> mVtkImages;
-
+ vtkSmartPointer<vtkImageReslice> mVtkImageReslice;
+ vtkSmartPointer<vtkTransform> transform;
+ double mTimeOrigin;
+ double mTimeSpacing;
+ double * origin;
};
#endif