vtkImageViewer2_XYZ.cxx
Go to the documentation of this file.00001 #include "vtkImageViewer2_XYZ.h"
00002 #include "vtkRenderer.h"
00003 #include "vtkImageActor.h"
00004 #include "vtkImageData.h"
00005
00006
00007
00008 vtkImageViewer2_XYZ::vtkImageViewer2_XYZ()
00009 {
00010 _vtkimageviewer2= vtkImageViewer2::New();
00011 _vtkimageviewer2->GetRenderer()->GradientBackgroundOn();
00012 _vtkimageviewer2->GetRenderer()->SetBackground( 0.33 , 0.33 , 0.33 );
00013 _vtkimageviewer2->GetRenderer()->SetBackground2( 0.66 , 0.66 , 0.66 );
00014 _colortable = NULL;
00015 }
00016
00017 vtkImageViewer2_XYZ::~vtkImageViewer2_XYZ()
00018 {
00019
00020 }
00021
00022 void vtkImageViewer2_XYZ::SetExtentDimension(int x1,int x2,
00023 int y1,int y2,
00024 int z1,int z2)
00025 {
00026 _x1=x1;
00027 _x2=x2;
00028 _y1=y1;
00029 _y2=y2;
00030 _z1=z1;
00031 _z2=z2;
00032 }
00033
00034 void vtkImageViewer2_XYZ::SetXSlice(int slice)
00035 {
00036 vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
00037 imageActor->SetDisplayExtent(slice, slice, _y1, _y2, _z1, _z2 );
00038 }
00039
00040 void vtkImageViewer2_XYZ::SetYSlice(int slice)
00041 {
00042 vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
00043 imageActor->SetDisplayExtent(_x1, _x2, slice, slice, _z1, _z2 );
00044 }
00045
00046 void vtkImageViewer2_XYZ::SetZSlice(int slice)
00047 {
00048 #if (VTK_MAJOR_VERSION >= 5)
00049
00050 vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
00051 imageActor->SetDisplayExtent(_x1, _x2, _y1, _y2, slice, slice );
00052 #else
00053 _vtkimageviewer2->SetZSlice( slice );
00054 #endif
00055
00056
00057 }
00058
00059 int vtkImageViewer2_XYZ::GetXSlice()
00060 {
00061 vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
00062 return imageActor->GetDisplayExtent()[0];
00063 }
00064
00065 int vtkImageViewer2_XYZ::GetYSlice()
00066 {
00067 vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
00068 return imageActor->GetDisplayExtent()[2];
00069 }
00070
00071 int vtkImageViewer2_XYZ::GetZSlice()
00072 {
00073
00074 int result;
00075 #if (VTK_MAJOR_VERSION >= 5)
00076 result= _vtkimageviewer2->GetSlice( );
00077 #else
00078 result= _vtkimageviewer2->GetZSlice( );
00079 #endif
00080
00081
00082 return result;
00083 }
00084
00085 vtkImageViewer2 *vtkImageViewer2_XYZ::GetVtkImageViewer2()
00086 {
00087 return _vtkimageviewer2;
00088 }
00089
00090 void vtkImageViewer2_XYZ::setColorTransferFunction(vtkColorTransferFunction* colortable){
00091
00092
00093 vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _vtkimageviewer2->GetWindowLevel();
00094
00095 if(colortable!=NULL&&colortable->GetSize()>0 && _colortable != colortable){
00096 _colortable = colortable;
00097 imagemaptowindowlevel->SetLookupTable(colortable);
00098 }
00099
00100 }