#include "vtkRenderer.h"
#include "vtkImageActor.h"
#include "vtkImageData.h"
+
+
+
+
+
//-------------------------------------------------------------------
//-------------------------------------------------------------------
//-------------------------------------------------------------------
vtkImageViewer2_XYZ::vtkImageViewer2_XYZ()
{
- _vtkimageviewer2= vtkImageViewer2::New();
+ _colortable = NULL;
+ _vtkimageviewer2 = vtkImageViewer2::New();
_vtkimageviewer2->GetRenderer()->GradientBackgroundOn();
_vtkimageviewer2->GetRenderer()->SetBackground( 0.33 , 0.33 , 0.33 );
_vtkimageviewer2->GetRenderer()->SetBackground2( 0.66 , 0.66 , 0.66 );
- _colortable = NULL;
}
+
//-------------------------------------------------------------------
vtkImageViewer2_XYZ::~vtkImageViewer2_XYZ()
{
//_vtkimageviewer2->Delete();
}
+
//-------------------------------------------------------------------
void vtkImageViewer2_XYZ::SetExtentDimension(int x1,int x2,
int y1,int y2,
int z1,int z2)
{
- _x1=x1;
- _x2=x2;
- _y1=y1;
- _y2=y2;
- _z1=z1;
- _z2=z2;
+ _x1 = x1;
+ _x2 = x2;
+ _y1 = y1;
+ _y2 = y2;
+ _z1 = z1;
+ _z2 = z2;
}
+
//-------------------------------------------------------------------
void vtkImageViewer2_XYZ::SetXSlice(int slice)
{
vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
imageActor->SetDisplayExtent(slice, slice, _y1, _y2, _z1, _z2 );
}
+
//-------------------------------------------------------------------
void vtkImageViewer2_XYZ::SetYSlice(int slice)
{
vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
imageActor->SetDisplayExtent(_x1, _x2, slice, slice, _z1, _z2 );
}
+
//-------------------------------------------------------------------
void vtkImageViewer2_XYZ::SetZSlice(int slice)
{
#else
_vtkimageviewer2->SetZSlice( slice );
#endif
-
-
}
//-------------------------------------------------------------------
int vtkImageViewer2_XYZ::GetXSlice()
vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
return imageActor->GetDisplayExtent()[0];
}
+
//-------------------------------------------------------------------
int vtkImageViewer2_XYZ::GetYSlice()
{
vtkImageActor *imageActor = _vtkimageviewer2->GetImageActor();
return imageActor->GetDisplayExtent()[2];
}
+
//-------------------------------------------------------------------
int vtkImageViewer2_XYZ::GetZSlice()
{
-
int result;
#if (VTK_MAJOR_VERSION >= 5)
result= _vtkimageviewer2->GetSlice( );
#else
result= _vtkimageviewer2->GetZSlice( );
-#endif
-
-
+#endif
return result;
}
+
//-------------------------------------------------------------------
vtkImageViewer2 *vtkImageViewer2_XYZ::GetVtkImageViewer2()
{
return _vtkimageviewer2;
}
-void vtkImageViewer2_XYZ::setColorTransferFunction(vtkColorTransferFunction* colortable){
-
-
- vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _vtkimageviewer2->GetWindowLevel();
-
- if(colortable!=NULL&&colortable->GetSize()>0 && _colortable != colortable){
+//-------------------------------------------------------------------
+void vtkImageViewer2_XYZ::setColorTransferFunction(vtkColorTransferFunction* colortable)
+{
+ if(colortable!=NULL && colortable->GetSize()>0 && _colortable!=colortable)
+ {
_colortable = colortable;
- imagemaptowindowlevel->SetLookupTable(colortable);
- }
+ vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _vtkimageviewer2->GetWindowLevel();
+ imagemaptowindowlevel->SetLookupTable(_colortable);
+ } // if colortable
+}
+//-------------------------------------------------------------------
+void vtkImageViewer2_XYZ::setScalarsToColors(vtkScalarsToColors* colortable, int outputformat)
+{
+/* outputformat VTK-8.1.1/Common/Core/vtkSystemIncludes.h
+ VTK_LUMINANCE 1
+ VTK_LUMINANCE_ALPHA 2
+ VTK_RGB 3 OK
+ VTK_RGBA 4
+*/
+ if( _colortable!=colortable)
+ {
+ _colortable = colortable;
+ _vtkimageviewer2->GetWindowLevel()->SetOutputFormat( outputformat );
+ _vtkimageviewer2->GetWindowLevel()->SetLookupTable(colortable);
+ _vtkimageviewer2->GetWindowLevel()->SetOutputFormatToRGB();
+// vtkLookupTableDirectionVector2 *_LutEED = vtkLookupTableDirectionVector2::New();
+// _LutEED->SetVectorModeToRGBColors();
+// _vtkimageviewer2->GetWindowLevel()->SetLookupTable(_LutEED);
+ } // if colortable
}
+
+