1 #include "imageplanewidget.h"
3 ImagePlaneWidget::ImagePlaneWidget()
11 void ImagePlaneWidget::initialize(vtkRenderWindowInteractor* interactor){
13 _xwidget = vtkImagePlaneWidget::New( );
14 _ywidget = vtkImagePlaneWidget::New( );
15 _zwidget = vtkImagePlaneWidget::New( );
18 _xwidget->SetInteractor( interactor );
19 _ywidget->SetInteractor( interactor );
20 _zwidget->SetInteractor( interactor );
24 void ImagePlaneWidget::setImage(vtkImageData* img){
28 int *dims = _img->GetDimensions( );
29 unsigned int sliceX = dims[0]/2;
30 unsigned int sliceY = dims[1]/2;
31 unsigned int sliceZ = dims[2]/2;
33 // Set input X,Y and Z plane
35 _xwidget->SetInput( _img );
36 _xwidget->SetPlaneOrientationToXAxes( );
37 _xwidget->SetSliceIndex( sliceX );
38 //_xwidget->TextureInterpolateOff();
39 _xwidget->SetResliceInterpolateToLinear();
41 _xwidget->DisplayTextOn();
45 _ywidget->SetInput( _img );
46 _ywidget->SetPlaneOrientationToYAxes( );
47 _ywidget->SetSliceIndex( sliceY );
48 //_ywidget->TextureInterpolateOff();
49 _ywidget->SetResliceInterpolateToLinear();
50 _ywidget->DisplayTextOn();
54 _zwidget->SetInput( _img );
55 _zwidget->SetPlaneOrientationToZAxes( );
56 _zwidget->SetSliceIndex( sliceZ );
57 //_zwidget->TextureInterpolateOff();
58 _zwidget->SetResliceInterpolateToLinear();
59 _zwidget->DisplayTextOn();
63 void ImagePlaneWidget::SetLookupTable(vtkLookupTable *lookuptable){
65 _xwidget->SetLookupTable(lookuptable);
66 _ywidget->SetLookupTable(lookuptable);
67 _zwidget->SetLookupTable(lookuptable);
70 void ImagePlaneWidget::showPlanes(bool show){
84 void ImagePlaneWidget::invariant(){
86 throw "Image data is not initialized";
88 if(!_xwidget ||!_ywidget || !_zwidget){
89 throw "The widgets are not initialized";