vtkMimxImageActor.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef __vtkMimxImageActor_h
00031 #define __vtkMimxImageActor_h
00032
00033 #include "vtkMimxActorBase.h"
00034
00035 #include "itkImage.h"
00036 #include "itkImageFileReader.h"
00037 #include "itkImageToVTKImageFilter.h"
00038 #include "vtkImageData.h"
00039 #include "vtkMimxCommonWin32Header.h"
00040 #include "vtkMatrix4x4.h"
00041
00042
00043 class vtkImageFlip;
00044 class vtkImagePlaneWidget;
00045 class vtkRenderWindowInteractor;
00046 class vtkMatrix4x4;
00047
00048 typedef itk::Image<signed short, 3> ImageType;
00049
00050 class VTK_MIMXCOMMON_EXPORT vtkMimxImageActor : public vtkMimxActorBase
00051 {
00052 public:
00053 static vtkMimxImageActor *New();
00054 vtkTypeRevisionMacro(vtkMimxImageActor,vtkMimxActorBase);
00055 void PrintSelf(ostream& os, vtkIndent indent);
00056 vtkImageData* GetDataSet();
00057
00058 ImageType* GetITKImage();
00059 void SetITKImageFilePath(const char* FPath);
00060
00061
00062 void SetImageDataSet(vtkImageData* image);
00063 void SetImageDataSet(vtkImageData* image, vtkMatrix4x4* matrix, double origin[3], double spacing[3]);
00064 void InitializePlaneWidgets();
00065 void InitializePlaneWidgets(vtkMatrix4x4* matrix, double origin[3], double spacing[3]);
00066
00067 vtkSetObjectMacro(RASToIJKMatrix,vtkMatrix4x4);
00068 vtkGetObjectMacro(RASToIJKMatrix,vtkMatrix4x4);
00069
00070 void SetInteractor(vtkRenderWindowInteractor *Int)
00071 {
00072 this->Interactor = Int;
00073 }
00074 void DisplayActor(int Display);
00075 int GetActorVisibility();
00076
00077 vtkMimxImageActor();
00078 ~vtkMimxImageActor();
00079
00080 double Origin[3];
00081 double Spacing[3];
00082
00083 protected:
00084 typedef itk::ImageFileReader<ImageType> ReaderType;
00085 typedef itk::ImageToVTKImageFilter<ImageType> FilterType;
00086
00087
00088
00089 vtkMatrix4x4 *RASToIJKMatrix;
00090 ReaderType::Pointer Reader;
00091 FilterType::Pointer Filter;
00092 vtkImagePlaneWidget *PlaneX;
00093 vtkImagePlaneWidget *PlaneY;
00094 vtkImagePlaneWidget *PlaneZ;
00095 vtkRenderWindowInteractor *Interactor;
00096 vtkImageFlip* FlipFilter;
00097
00098
00099
00100
00101 vtkImageData* SavedImage;
00102
00103
00104 private:
00105 vtkMimxImageActor(const vtkMimxImageActor&);
00106 void operator=(const vtkMimxImageActor&);
00107 };
00108
00109 #endif
00110