VTK: vtkImagePlaneWidget Class Reference

| VTK 9.0.1

Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
vtkImagePlaneWidget Class Reference

3D widget for reslicing image data More...

`#include <vtkImagePlaneWidget.h>`

Inheritance diagram for vtkImagePlaneWidget:
[legend]
Collaboration diagram for vtkImagePlaneWidget:
[legend]

## Public Types
enum | { VTK_CURSOR_ACTION = 0, VTK_SLICE_MOTION_ACTION = 1, VTK_WINDOW_LEVEL_ACTION = 2 }
| Set action associated to buttons. More...
enum | { VTK_NO_MODIFIER = 0, VTK_SHIFT_MODIFIER = 1, VTK_CONTROL_MODIFIER = 2 }
| Set the auto-modifiers associated to buttons. More...
typedef vtkPolyDataSourceWidget | Superclass
Public Types inherited from vtkPolyDataSourceWidget
typedef vtk3DWidget | Superclass
Public Types inherited from vtk3DWidget
typedef vtkInteractorObserver | Superclass
Public Types inherited from vtkInteractorObserver
typedef vtkObject | Superclass

## Public Member Functions
virtual vtkTypeBool | IsA (const char *type)
| Return 1 if this class is the same type of (or a subclass of) the named class. More...
vtkImagePlaneWidget * | NewInstance () const
void | PrintSelf (ostream &os, vtkIndent indent) override
| Methods invoked by print to print information about the object including superclasses. More...
void | SetEnabled (int) override
| Methods that satisfy the superclass' API. More...
void | PlaceWidget (double bounds[6]) override
| We have to redeclare this abstract, PlaceWidget() requires it. More...
void | PlaceWidget () override
void | PlaceWidget (double xmin, double xmax, double ymin, double ymax, double zmin, double zmax) override
void | SetInputConnection (vtkAlgorithmOutput *aout) override
| Set the vtkImageData* input for the vtkImageReslice. More...
void | SetOrigin (double x, double y, double z)
| Set/Get the origin of the plane. More...
void | SetOrigin (double xyz[3])
double * | GetOrigin ()
void | GetOrigin (double xyz[3])
void | SetPoint1 (double x, double y, double z)
| Set/Get the position of the point defining the first axis of the plane. More...
void | SetPoint1 (double xyz[3])
double * | GetPoint1 ()
void | GetPoint1 (double xyz[3])
void | SetPoint2 (double x, double y, double z)
| Set/Get the position of the point defining the second axis of the plane. More...
void | SetPoint2 (double xyz[3])
double * | GetPoint2 ()
void | GetPoint2 (double xyz[3])
double * | GetCenter ()
| Get the center of the plane. More...
void | GetCenter (double xyz[3])
double * | GetNormal ()
| Get the normal to the plane. More...
void | GetNormal (double xyz[3])
void | GetVector1 (double v1[3])
| Get the vector from the plane origin to point1. More...
void | GetVector2 (double v2[3])
| Get the vector from the plane origin to point2. More...
int | GetSliceIndex ()
| Get the slice position in terms of the data extent. More...
void | SetSliceIndex (int index)
| Set the slice position in terms of the data extent. More...
double | GetSlicePosition ()
| Get the position of the slice along its normal. More...
void | SetSlicePosition (double position)
| Set the position of the slice along its normal. More...
void | SetResliceInterpolate (int)
| Set the interpolation to use when texturing the plane. More...
virtual int | GetResliceInterpolate ()
void | SetResliceInterpolateToNearestNeighbour ()
void | SetResliceInterpolateToLinear ()
void | SetResliceInterpolateToCubic ()
vtkImageData * | GetResliceOutput ()
| Convenience method to get the vtkImageReslice output. More...
virtual void | SetRestrictPlaneToVolume (vtkTypeBool)
| Make sure that the plane remains within the volume. More...
virtual vtkTypeBool | GetRestrictPlaneToVolume ()
virtual void | RestrictPlaneToVolumeOn ()
virtual void | RestrictPlaneToVolumeOff ()
virtual void | SetUserControlledLookupTable (vtkTypeBool)
| Let the user control the lookup table. More...
virtual vtkTypeBool | GetUserControlledLookupTable ()
virtual void | UserControlledLookupTableOn ()
virtual void | UserControlledLookupTableOff ()
virtual void | SetTextureInterpolate (vtkTypeBool)
| Specify whether to interpolate the texture or not. More...
virtual vtkTypeBool | GetTextureInterpolate ()
virtual void | TextureInterpolateOn ()
virtual void | TextureInterpolateOff ()
virtual void | SetTextureVisibility (vtkTypeBool)
| Control the visibility of the actual texture mapped reformatted plane. More...
virtual vtkTypeBool | GetTextureVisibility ()
virtual void | TextureVisibilityOn ()
virtual void | TextureVisibilityOff ()
void | GetPolyData (vtkPolyData *pd)
| Grab the polydata (including points) that defines the plane. More...
vtkPolyDataAlgorithm * | GetPolyDataAlgorithm () override
| Satisfies superclass API. More...
void | UpdatePlacement (void) override
| Satisfies superclass API. More...
vtkTexture * | GetTexture ()
| Convenience method to get the texture used by this widget. More...
virtual vtkImageMapToColors * | GetColorMap ()
| Convenience method to get the vtkImageMapToColors filter used by this widget. More...
virtual void | SetColorMap (vtkImageMapToColors *)
virtual void | SetPlaneProperty (vtkProperty *)
| Set/Get the plane's outline properties. More...
virtual vtkProperty * | GetPlaneProperty ()
virtual void | SetSelectedPlaneProperty (vtkProperty *)
virtual vtkProperty * | GetSelectedPlaneProperty ()
void | SetPlaneOrientation (int)
| Convenience method sets the plane orientation normal to the x, y, or z axes. More...
virtual int | GetPlaneOrientation ()
void | SetPlaneOrientationToXAxes ()
void | SetPlaneOrientationToYAxes ()
void | SetPlaneOrientationToZAxes ()
void | SetPicker (vtkAbstractPropPicker *)
| Set the internal picker to one defined by the user. More...
virtual void | SetLookupTable (vtkLookupTable *)
| Set/Get the internal lookuptable (lut) to one defined by the user, or, alternatively, to the lut of another vtkImgePlaneWidget. More...
virtual vtkLookupTable * | GetLookupTable ()
virtual void | SetDisplayText (vtkTypeBool)
| Enable/disable text display of window-level, image coordinates and scalar values in a render window. More...
virtual vtkTypeBool | GetDisplayText ()
virtual void | DisplayTextOn ()
virtual void | DisplayTextOff ()
virtual void | SetCursorProperty (vtkProperty *)
| Set the properties of the cross-hair cursor. More...
virtual vtkProperty * | GetCursorProperty ()
virtual void | SetMarginProperty (vtkProperty *)
| Set the properties of the margins. More...
virtual vtkProperty * | GetMarginProperty ()
virtual void | SetMarginSizeX (double)
| Set the size of the margins based on a percentage of the plane's width and height, limited between 0 and 50%. More...
virtual double | GetMarginSizeX ()
virtual void | SetMarginSizeY (double)
virtual double | GetMarginSizeY ()
void | SetTextProperty (vtkTextProperty *tprop)
| Set/Get the text property for the image data and window-level annotation. More...
vtkTextProperty * | GetTextProperty ()
virtual void | SetTexturePlaneProperty (vtkProperty *)
| Set/Get the property for the resliced image. More...
virtual vtkProperty * | GetTexturePlaneProperty ()
void | SetWindowLevel (double window, double level, int copy=0)
| Set/Get the current window and level values. More...
void | GetWindowLevel (double wl[2])
double | GetWindow ()
double | GetLevel ()
int | GetCursorData (double xyzv[4])
| Get the image coordinate position and voxel value. More...
int | GetCursorDataStatus ()
| Get the status of the cursor data. More...
virtual double * | GetCurrentCursorPosition ()
| Get the current cursor position. More...
virtual void | GetCurrentCursorPosition (double data[3])
virtual double | GetCurrentImageValue ()
| Get the current image value at the current cursor position. More...
virtual vtkMatrix4x4 * | GetResliceAxes ()
| Get the current reslice class and reslice axes. More...
virtual vtkImageReslice * | GetReslice ()
virtual void | SetUseContinuousCursor (vtkTypeBool)
| Choose between voxel centered or continuous cursor probing. More...
virtual vtkTypeBool | GetUseContinuousCursor ()
virtual void | UseContinuousCursorOn ()
virtual void | UseContinuousCursorOff ()
void | SetInteraction (vtkTypeBool interact)
| Enable/disable mouse interaction so the widget remains on display. More...
virtual vtkTypeBool | GetInteraction ()
virtual void | InteractionOn ()
virtual void | InteractionOff ()
virtual void | SetLeftButtonAction (int)
virtual int | GetLeftButtonAction ()
virtual void | SetMiddleButtonAction (int)
virtual int | GetMiddleButtonAction ()
virtual void | SetRightButtonAction (int)
virtual int | GetRightButtonAction ()
virtual void | SetLeftButtonAutoModifier (int)
virtual int | GetLeftButtonAutoModifier ()
virtual void | SetMiddleButtonAutoModifier (int)
virtual int | GetMiddleButtonAutoModifier ()
virtual void | SetRightButtonAutoModifier (int)
virtual int | GetRightButtonAutoModifier ()
Public Member Functions inherited from vtkPolyDataSourceWidget
vtkPolyDataSourceWidget * | NewInstance () const
void | PrintSelf (ostream &os, vtkIndent indent) override
| Methods invoked by print to print information about the object including superclasses. More...
void | PlaceWidget () override
| Overrides vtk3DWidget PlaceWidget() so that it doesn't complain if there's no Input and no Prop3D. More...
void | PlaceWidget (double xmin, double xmax, double ymin, double ymax, double zmin, double zmax) override
| Convenience method brought over from vtkPlaneWidget. More...
Public Member Functions inherited from vtk3DWidget
vtk3DWidget * | NewInstance () const
virtual void | SetProp3D (vtkProp3D *)
| Specify a vtkProp3D around which to place the widget. More...
virtual vtkProp3D * | GetProp3D ()
virtual void | SetInputData (vtkDataSet *)
| Specify the input dataset. More...
virtual vtkDataSet * | GetInput ()
virtual void | SetPlaceFactor (double)
| Set/Get a factor representing the scaling of the widget upon placement (via the PlaceWidget() method). More...
virtual double | GetPlaceFactor ()
virtual void | SetHandleSize (double)
| Set/Get the factor that controls the size of the handles that appear as part of the widget. More...
virtual double | GetHandleSize ()
Public Member Functions inherited from vtkInteractorObserver
vtkInteractorObserver * | NewInstance () const
void | PrintSelf (ostream &os, vtkIndent indent) override
| Methods invoked by print to print information about the object including superclasses. More...
int | GetEnabled ()
void | EnabledOn ()
void | EnabledOff ()
void | On ()
void | Off ()
virtual void | SetInteractor (vtkRenderWindowInteractor *iren)
| This method is used to associate the widget with the render window interactor. More...
virtual vtkRenderWindowInteractor * | GetInteractor ()
virtual void | SetPriority (float)
| Set/Get the priority at which events are processed. More...
virtual float | GetPriority ()
virtual void | PickingManagedOn ()
| Enable/Disable the use of a manager to process the picking. More...
virtual void | PickingManagedOff ()
virtual void | SetPickingManaged (bool managed)
virtual bool | GetPickingManaged ()
virtual void | SetKeyPressActivation (vtkTypeBool)
| Enable/Disable of the use of a keypress to turn on and off the interactor observer. More...
virtual vtkTypeBool | GetKeyPressActivation ()
virtual void | KeyPressActivationOn ()
virtual void | KeyPressActivationOff ()
virtual void | SetKeyPressActivationValue (char)
| Specify which key press value to use to activate the interactor observer (if key press activation is enabled). More...
virtual char | GetKeyPressActivationValue ()
virtual vtkRenderer * | GetDefaultRenderer ()
| Set/Get the default renderer to use when activating the interactor observer. More...
virtual void | SetDefaultRenderer (vtkRenderer *)
virtual vtkRenderer * | GetCurrentRenderer ()
| Set/Get the current renderer. More...
virtual void | SetCurrentRenderer (vtkRenderer *)
void | GrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
| These methods enable an interactor observer to exclusively grab all events invoked by its associated vtkRenderWindowInteractor. More...
void | ReleaseFocus ()
Public Member Functions inherited from vtkObject
| vtkBaseTypeMacro (vtkObject, vtkObjectBase)
virtual void | DebugOn ()
| Turn debugging output on. More...
virtual void | DebugOff ()
| Turn debugging output off. More...
bool | GetDebug ()
| Get the value of the debug flag. More...
void | SetDebug (bool debugFlag)
| Set the value of the debug flag. More...
virtual void | Modified ()
| Update the modification time for this object. More...
virtual vtkMTimeType | GetMTime ()
| Return this object's modified time. More...
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
| Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f)
vtkCommand * | GetCommand (unsigned long tag)
void | RemoveObserver (vtkCommand *)
void | RemoveObservers (unsigned long event, vtkCommand *)
void | RemoveObservers (const char *event, vtkCommand *)
vtkTypeBool | HasObserver (unsigned long event, vtkCommand *)
vtkTypeBool | HasObserver (const char *event, vtkCommand *)
void | RemoveObserver (unsigned long tag)
void | RemoveObservers (unsigned long event)
void | RemoveObservers (const char *event)
void | RemoveAllObservers ()
vtkTypeBool | HasObserver (unsigned long event)
vtkTypeBool | HasObserver (const char *event)
template<class U , class T >
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
| Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
template<class U , class T >
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
template<class U , class T >
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
| Allow user to set the AbortFlagOn() with the return value of the callback method. More...
int | InvokeEvent (unsigned long event, void *callData)
| This method invokes an event and return whether the event was aborted or not. More...
int | InvokeEvent (const char *event, void *callData)
int | InvokeEvent (unsigned long event)
int | InvokeEvent (const char *event)
Public Member Functions inherited from vtkObjectBase
const char * | GetClassName () const
| Return the class name as a string. More...
virtual vtkIdType | GetNumberOfGenerationsFromBase (const char *name)
| Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More...
virtual void | Delete ()
| Delete a VTK object. More...
virtual void | FastDelete ()
| Delete a reference to this object. More...
void | InitializeObjectBase ()
void | Print (ostream &os)
| Print an object to an ostream. More...
virtual void | PrintHeader (ostream &os, vtkIndent indent)
virtual void | PrintTrailer (ostream &os, vtkIndent indent)
virtual void | Register (vtkObjectBase *o)
| Increase the reference count (mark as used by another object). More...
virtual void | UnRegister (vtkObjectBase *o)
| Decrease the reference count (release by another object). More...
int | GetReferenceCount ()
| Return the current reference count of this object. More...
void | SetReferenceCount (int)
| Sets the reference count. More...
void | PrintRevisions (ostream &)
| Legacy. More...

## Static Public Member Functions
static vtkImagePlaneWidget * | New ()
| Instantiate the object. More...
static vtkTypeBool | IsTypeOf (const char *type)
static vtkImagePlaneWidget * | SafeDownCast (vtkObjectBase *o)
Static Public Member Functions inherited from vtkPolyDataSourceWidget
static vtkTypeBool | IsTypeOf (const char *type)
static vtkPolyDataSourceWidget * | SafeDownCast (vtkObjectBase *o)
Static Public Member Functions inherited from vtk3DWidget
static vtkTypeBool | IsTypeOf (const char *type)
static vtk3DWidget * | SafeDownCast (vtkObjectBase *o)
Static Public Member Functions inherited from vtkInteractorObserver
static vtkTypeBool | IsTypeOf (const char *type)
static vtkInteractorObserver * | SafeDownCast (vtkObjectBase *o)
static void | ComputeDisplayToWorld (vtkRenderer *ren, double x, double y, double z, double worldPt[4])
| Convenience methods for outside classes. More...
static void | ComputeWorldToDisplay (vtkRenderer *ren, double x, double y, double z, double displayPt[3])
Static Public Member Functions inherited from vtkObject
static vtkObject * | New ()
| Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
static void | BreakOnError ()
| This method is called when vtkErrorMacro executes. More...
static void | SetGlobalWarningDisplay (int val)
| This is a global flag that controls whether any debug, warning or error messages are displayed. More...
static void | GlobalWarningDisplayOn ()
static void | GlobalWarningDisplayOff ()
static int | GetGlobalWarningDisplay ()
Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool | IsTypeOf (const char *name)
| Return 1 if this class type is the same type of (or a subclass of) the named class. More...
static vtkIdType | GetNumberOfGenerationsFromBaseType (const char *name)
| Given a the name of a base class of this class type, return the distance of inheritance between this class type and the named class (how many generations of inheritance are there between this class and the named class). More...
static vtkObjectBase * | New ()
| Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...

## Protected Types
enum | { VTK_NO_BUTTON = 0, VTK_LEFT_BUTTON = 1, VTK_MIDDLE_BUTTON = 2, VTK_RIGHT_BUTTON = 3 }
enum | WidgetState { Start = 0, Cursoring, WindowLevelling, Pushing, Spinning, Rotating, Moving, Scaling, Outside }

## Protected Member Functions
virtual vtkObjectBase * | NewInstanceInternal () const
| vtkImagePlaneWidget ()
| ~vtkImagePlaneWidget () override
void | AddObservers ()
virtual void | OnMouseMove ()
virtual void | OnLeftButtonDown ()
virtual void | OnLeftButtonUp ()
virtual void | OnMiddleButtonDown ()
virtual void | OnMiddleButtonUp ()
virtual void | OnRightButtonDown ()
virtual void | OnRightButtonUp ()
void | OnChar () override
| Sets up the keypress-i event. More...
virtual void | StartCursor ()
virtual void | StopCursor ()
virtual void | StartSliceMotion ()
virtual void | StopSliceMotion ()
virtual void | StartWindowLevel ()
virtual void | StopWindowLevel ()
void | HighlightPlane (int highlight)
void | GeneratePlaneOutline ()
void | BuildRepresentation ()
void | RegisterPickers () override
| Register internal Pickers in the Picking Manager. More...
void | InvertTable ()
void | WindowLevel (int X, int Y)
void | Push (double *p1, double *p2)
void | Spin (double *p1, double *p2)
void | Rotate (double *p1, double *p2, double *vpn)
void | Scale (double *p1, double *p2, int X, int Y)
void | Translate (double *p1, double *p2)
vtkLookupTable * | CreateDefaultLookupTable ()
void | CreateDefaultProperties ()
void | UpdatePlane ()
void | GenerateTexturePlane ()
void | GenerateCursor ()
void | UpdateCursor (int, int)
void | ActivateCursor (int)
int | UpdateContinuousCursor (double *q)
int | UpdateDiscreteCursor (double *q)
void | GenerateText ()
void | ManageTextDisplay ()
void | ActivateText (int)
void | AdjustState ()
void | GenerateMargins ()
void | UpdateMargins ()
void | ActivateMargins (int)
Protected Member Functions inherited from vtkPolyDataSourceWidget
| vtkPolyDataSourceWidget ()
| Empty constructor that calls the parent constructor. More...
Protected Member Functions inherited from vtk3DWidget
| vtk3DWidget ()
| ~vtk3DWidget () override
void | AdjustBounds (double bounds[6], double newBounds[6], double center[3])
double | SizeHandles (double factor)
virtual void | SizeHandles ()
void | UpdateInput ()
Protected Member Functions inherited from vtkInteractorObserver
| vtkInteractorObserver ()
| ~vtkInteractorObserver () override
virtual void | StartInteraction ()
| Utility routines used to start and end interaction. More...
virtual void | EndInteraction ()
void | ComputeDisplayToWorld (double x, double y, double z, double worldPt[4])
| Helper method for subclasses. More...
void | ComputeWorldToDisplay (double x, double y, double z, double displayPt[3])
void | UnRegisterPickers ()
| Unregister internal pickers from the Picking Manager. More...
vtkPickingManager * | GetPickingManager ()
| Return the picking manager associated on the context on which the observer currently belong. More...
vtkAssemblyPath * | GetAssemblyPath (double X, double Y, double Z, vtkAbstractPropPicker *picker)
| Proceed to a pick, whether through the PickingManager if the picking is managed or directly using the picker, and return the assembly path. More...
int | RequestCursorShape (int requestedShape)
Protected Member Functions inherited from vtkObject
| vtkObject ()
| ~vtkObject () override
void | RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
void | UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
| These methods allow a command to exclusively grab all events. More...
void | InternalReleaseFocus ()
Protected Member Functions inherited from vtkObjectBase
| vtkObjectBase ()
virtual | ~vtkObjectBase ()
virtual void | CollectRevisions (ostream &)
virtual void | ReportReferences (vtkGarbageCollector *)
| vtkObjectBase (const vtkObjectBase &)
void | operator= (const vtkObjectBase &)

## Static Protected Member Functions
static void | ProcessEvents (vtkObject *object, unsigned long event, void *clientdata, void *calldata)
Static Protected Member Functions inherited from vtkInteractorObserver
static void | ProcessEvents (vtkObject *object, unsigned long event, void *clientdata, void *calldata)
| Handles the char widget activation event. More...

## Protected Attributes
vtkTypeBool | TextureVisibility
int | LeftButtonAction
int | MiddleButtonAction
int | RightButtonAction
int | LeftButtonAutoModifier
int | MiddleButtonAutoModifier
int | RightButtonAutoModifier
int | LastButtonPressed
int | State
vtkTypeBool | Interaction
int | PlaneOrientation
vtkTypeBool | RestrictPlaneToVolume
double | OriginalWindow
double | OriginalLevel
double | CurrentWindow
double | CurrentLevel
double | InitialWindow
double | InitialLevel
int | StartWindowLevelPositionX
int | StartWindowLevelPositionY
int | ResliceInterpolate
vtkTypeBool | TextureInterpolate
vtkTypeBool | UserControlledLookupTable
vtkTypeBool | DisplayText
vtkPlaneSource * | PlaneSource
vtkPolyData * | PlaneOutlinePolyData
vtkActor * | PlaneOutlineActor
vtkAbstractPropPicker * | PlanePicker
vtkImageData * | ImageData
vtkImageReslice * | Reslice
vtkMatrix4x4 * | ResliceAxes
vtkTransform * | Transform
vtkActor * | TexturePlaneActor
vtkImageMapToColors * | ColorMap
vtkTexture * | Texture
vtkLookupTable * | LookupTable
vtkProperty * | PlaneProperty
vtkProperty * | SelectedPlaneProperty
vtkProperty * | CursorProperty
vtkProperty * | MarginProperty
vtkProperty * | TexturePlaneProperty
vtkPolyData * | CursorPolyData
vtkActor * | CursorActor
double | CurrentCursorPosition [3]
double | CurrentImageValue
vtkTypeBool | UseContinuousCursor
vtkTextActor * | TextActor
char | TextBuff [VTK_IMAGE_PLANE_WIDGET_MAX_TEXTBUFF]
double | RotateAxis [3]
double | RadiusVector [3]
vtkPolyData * | MarginPolyData
vtkActor * | MarginActor
int | MarginSelectMode
double | MarginSizeX
double | MarginSizeY
Protected Attributes inherited from vtk3DWidget
vtkProp3D * | Prop3D
vtk3DWidgetConnection * | ConnectionHolder
double | PlaceFactor
int | Placed
double | InitialBounds [6]
double | InitialLength
double | HandleSize
int | ValidPick
double | LastPickPosition [3]
Protected Attributes inherited from vtkInteractorObserver
int | Enabled
vtkCallbackCommand * | EventCallbackCommand
vtkCallbackCommand * | KeyPressCallbackCommand
float | Priority
bool | PickingManaged
vtkTypeBool | KeyPressActivation
char | KeyPressActivationValue
vtkRenderWindowInteractor * | Interactor
vtkRenderer * | CurrentRenderer
vtkRenderer * | DefaultRenderer
unsigned long | CharObserverTag
unsigned long | DeleteObserverTag
vtkObserverMediator * | ObserverMediator
Protected Attributes inherited from vtkObject
bool | Debug
vtkTimeStamp | MTime
vtkSubjectHelper * | SubjectHelper
Protected Attributes inherited from vtkObjectBase
std::atomic< int32_t > | ReferenceCount
vtkWeakPointerBase ** | WeakPointers

## Detailed Description

3D widget for reslicing image data

This 3D widget defines a plane that can be interactively placed in an image volume. A nice feature of the object is that the vtkImagePlaneWidget, like any 3D widget, will work with the current interactor style. That is, if vtkImagePlaneWidget does not handle an event, then all other registered observers (including the interactor style) have an opportunity to process the event. Otherwise, the vtkImagePlaneWidget will terminate the processing of the event that it handles.

The core functionality of the widget is provided by a vtkImageReslice object which passes its output onto a texture mapping pipeline for fast slicing through volumetric data. See the key methods: GenerateTexturePlane() and UpdatePlane() for implementation details.

To use this object, just invoke SetInteractor() with the argument of the method a vtkRenderWindowInteractor. You may also wish to invoke "PlaceWidget()" to initially position the widget. If the "i" key (for "interactor") is pressed, the vtkImagePlaneWidget will appear. (See superclass documentation for information about changing this behavior.)

Selecting the widget with the middle mouse button with and without holding the shift or control keys enables complex reslicing capablilites. To facilitate use, a set of 'margins' (left, right, top, bottom) are shown as a set of plane-axes aligned lines, the properties of which can be changed as a group. Without keyboard modifiers: selecting in the middle of the margins enables translation of the plane along its normal. Selecting one of the corners within the margins enables spinning around the plane's normal at its center. Selecting within a margin allows rotating about the center of the plane around an axis aligned with the margin (i.e., selecting left margin enables rotating around the plane's local y-prime axis). With control key modifier: margin selection enables edge translation (i.e., a constrained form of scaling). Selecting within the margins enables translation of the entire plane. With shift key modifier: uniform plane scaling is enabled. Moving the mouse up enlarges the plane while downward movement shrinks it.

Window-level is achieved by using the right mouse button. Window-level values can be reset by shift + 'r' or control + 'r' while regular reset camera is maintained with 'r' or 'R'. The left mouse button can be used to query the underlying image data with a snap-to cross-hair cursor. Currently, the nearest point in the input image data to the mouse cursor generates the cross-hairs. With oblique slicing, this behaviour may appear unsatisfactory. Text display of window-level and image coordinates/data values are provided by a text actor/mapper pair.

Events that occur outside of the widget (i.e., no part of the widget is picked) are propagated to any other registered obsevers (such as the interaction style). Turn off the widget by pressing the "i" key again (or invoke the Off() method). To support interactive manipulation of objects, this class invokes the events StartInteractionEvent, InteractionEvent, and EndInteractionEvent as well as StartWindowLevelEvent, WindowLevelEvent, EndWindowLevelEvent and ResetWindowLevelEvent.

The vtkImagePlaneWidget has several methods that can be used in conjunction with other VTK objects. The GetPolyData() method can be used to get the polygonal representation of the plane and can be used as input for other VTK objects. Typical usage of the widget is to make use of the StartInteractionEvent, InteractionEvent, and EndInteractionEvent events. The InteractionEvent is called on mouse motion; the other two events are called on button down and button up (either left or right button).

Some additional features of this class include the ability to control the properties of the widget. You can set the properties of: the selected and unselected representations of the plane's outline; the text actor via its vtkTextProperty; the cross-hair cursor. In addition there are methods to constrain the plane so that it is aligned along the x-y-z axes. Finally, one can specify the degree of interpolation (vtkImageReslice): nearest neighbour, linear, and cubic.

Thanks:
  Thanks to Dean Inglis for developing and contributing this class. Based on the Python SlicePlaneFactory from Atamai, Inc.

See also
  vtk3DWidget vtkBoxWidget vtkLineWidget vtkPlaneWidget vtkPointWidget vtkPolyDataSourceWidget vtkSphereWidget vtkImplicitPlaneWidget

Events:
  vtkCommand::DisableEvent vtkCommand::EnableEvent vtkCommand::EndInteractionEvent vtkCommand::EndWindowLevelEvent vtkCommand::InteractionEvent vtkCommand::ResetWindowLevelEvent vtkCommand::StartInteractionEvent vtkCommand::StartWindowLevelEvent vtkCommand::WindowLevelEvent

Examples:
  vtkImagePlaneWidget (Examples)

Tests:
  vtkImagePlaneWidget (Tests)

Definition at line 139 of file vtkImagePlaneWidget.h.

## Member Typedef Documentation

## ◆ Superclass

typedef vtkPolyDataSourceWidget vtkImagePlaneWidget::Superclass

Definition at line 147 of file vtkImagePlaneWidget.h.

## Member Enumeration Documentation

## ◆ anonymous enum

anonymous enum

Set action associated to buttons.

Enumerator
VTK_CURSOR_ACTION |
VTK_SLICE_MOTION_ACTION |
VTK_WINDOW_LEVEL_ACTION |

Definition at line 521 of file vtkImagePlaneWidget.h.

## ◆ anonymous enum

anonymous enum

Set the auto-modifiers associated to buttons.

This allows users to bind some buttons to actions that are usually triggered by a key modifier. For example, if you do not need cursoring, you can bind the left button action to VTK_SLICE_MOTION_ACTION (see above) and the left button auto modifier to VTK_CONTROL_MODIFIER: you end up with the left button controlling panning without pressing a key.

Enumerator
VTK_NO_MODIFIER |
VTK_SHIFT_MODIFIER |
VTK_CONTROL_MODIFIER |

Definition at line 544 of file vtkImagePlaneWidget.h.

## ◆ anonymous enum

anonymous enum
| protected

Enumerator
VTK_NO_BUTTON |
VTK_LEFT_BUTTON |
VTK_MIDDLE_BUTTON |
VTK_RIGHT_BUTTON |

Definition at line 572 of file vtkImagePlaneWidget.h.

## ◆ WidgetState

enum vtkImagePlaneWidget::WidgetState
| protected

Enumerator
Start |
Cursoring |
WindowLevelling |
Pushing |
Spinning |
Rotating |
Moving |
Scaling |
Outside |

Definition at line 583 of file vtkImagePlaneWidget.h.

## Constructor & Destructor Documentation

## ◆ vtkImagePlaneWidget()

vtkImagePlaneWidget::vtkImagePlaneWidget | ( |  | ) |
| protected

## ◆ ~vtkImagePlaneWidget()

vtkImagePlaneWidget::~vtkImagePlaneWidget | ( |  | ) |
| overrideprotected

## Member Function Documentation

## ◆ New()

static vtkImagePlaneWidget* vtkImagePlaneWidget::New | ( |  | ) |
| static

Instantiate the object.

## ◆ IsTypeOf()

static vtkTypeBool vtkImagePlaneWidget::IsTypeOf | ( | const char * | type | ) |
| static

## ◆ IsA()

virtual vtkTypeBool vtkImagePlaneWidget::IsA | ( | const char * | name | ) |
| virtual

Return 1 if this class is the same type of (or a subclass of) the named class.

Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkPolyDataSourceWidget.

## ◆ SafeDownCast()

static vtkImagePlaneWidget* vtkImagePlaneWidget::SafeDownCast | ( | vtkObjectBase * | o | ) |
| static

## ◆ NewInstanceInternal()

virtual vtkObjectBase* vtkImagePlaneWidget::NewInstanceInternal | ( |  | ) | const
| protectedvirtual

Reimplemented from vtkPolyDataSourceWidget.

## ◆ NewInstance()

vtkImagePlaneWidget* vtkImagePlaneWidget::NewInstance | ( |  | ) | const

## ◆ PrintSelf()

void vtkImagePlaneWidget::PrintSelf | ( | ostream & | os,
|  | vtkIndent | indent
| ) |  |
| overridevirtual

Methods invoked by print to print information about the object including superclasses.

Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtk3DWidget.

## ◆ SetEnabled()

void vtkImagePlaneWidget::SetEnabled | ( | int |  | ) |
| overridevirtual

Methods that satisfy the superclass' API.

Reimplemented from vtkInteractorObserver.

## ◆ PlaceWidget() [1/3]

void vtkImagePlaneWidget::PlaceWidget | ( | double | bounds[6] | ) |
| overridevirtual

We have to redeclare this abstract, PlaceWidget() requires it.

You HAVE to override this in your concrete child classes. If there's no Prop3D and no Input, your PlaceWidget must make use of the underlying PolyDataSource to do its work.

Implements vtkPolyDataSourceWidget.

## ◆ PlaceWidget() [2/3]

void vtkImagePlaneWidget::PlaceWidget | ( |  | ) |
| inlineoverridevirtual

Reimplemented from vtk3DWidget.

Definition at line 156 of file vtkImagePlaneWidget.h.

## ◆ PlaceWidget() [3/3]

void vtkImagePlaneWidget::PlaceWidget | ( | double | xmin,
|  | double | xmax,
|  | double | ymin,
|  | double | ymax,
|  | double | zmin,
|  | double | zmax
| ) |  |
| inlineoverridevirtual

Reimplemented from vtk3DWidget.

Definition at line 157 of file vtkImagePlaneWidget.h.

## ◆ SetInputConnection()

void vtkImagePlaneWidget::SetInputConnection | ( | vtkAlgorithmOutput * | aout | ) |
| overridevirtual

Set the vtkImageData* input for the vtkImageReslice.

Reimplemented from vtk3DWidget.

## ◆ SetOrigin() [1/2]

void vtkImagePlaneWidget::SetOrigin | ( | double | x,
|  | double | y,
|  | double | z
| ) |  |

Set/Get the origin of the plane.

## ◆ SetOrigin() [2/2]

void vtkImagePlaneWidget::SetOrigin | ( | double | xyz[3] | ) |

## ◆ GetOrigin() [1/2]

double* vtkImagePlaneWidget::GetOrigin | ( |  | ) |

## ◆ GetOrigin() [2/2]

void vtkImagePlaneWidget::GetOrigin | ( | double | xyz[3] | ) |

## ◆ SetPoint1() [1/2]

void vtkImagePlaneWidget::SetPoint1 | ( | double | x,
|  | double | y,
|  | double | z
| ) |  |

Set/Get the position of the point defining the first axis of the plane.

## ◆ SetPoint1() [2/2]

void vtkImagePlaneWidget::SetPoint1 | ( | double | xyz[3] | ) |

## ◆ GetPoint1() [1/2]

double* vtkImagePlaneWidget::GetPoint1 | ( |  | ) |

## ◆ GetPoint1() [2/2]

void vtkImagePlaneWidget::GetPoint1 | ( | double | xyz[3] | ) |

## ◆ SetPoint2() [1/2]

void vtkImagePlaneWidget::SetPoint2 | ( | double | x,
|  | double | y,
|  | double | z
| ) |  |

Set/Get the position of the point defining the second axis of the plane.

## ◆ SetPoint2() [2/2]

void vtkImagePlaneWidget::SetPoint2 | ( | double | xyz[3] | ) |

## ◆ GetPoint2() [1/2]

double* vtkImagePlaneWidget::GetPoint2 | ( |  | ) |

## ◆ GetPoint2() [2/2]

void vtkImagePlaneWidget::GetPoint2 | ( | double | xyz[3] | ) |

## ◆ GetCenter() [1/2]

double* vtkImagePlaneWidget::GetCenter | ( |  | ) |

Get the center of the plane.

## ◆ GetCenter() [2/2]

void vtkImagePlaneWidget::GetCenter | ( | double | xyz[3] | ) |

## ◆ GetNormal() [1/2]

double* vtkImagePlaneWidget::GetNormal | ( |  | ) |

Get the normal to the plane.

## ◆ GetNormal() [2/2]

void vtkImagePlaneWidget::GetNormal | ( | double | xyz[3] | ) |

## ◆ GetVector1()

void vtkImagePlaneWidget::GetVector1 | ( | double | v1[3] | ) |

Get the vector from the plane origin to point1.

## ◆ GetVector2()

void vtkImagePlaneWidget::GetVector2 | ( | double | v2[3] | ) |

Get the vector from the plane origin to point2.

## ◆ GetSliceIndex()

int vtkImagePlaneWidget::GetSliceIndex | ( |  | ) |

Get the slice position in terms of the data extent.

## ◆ SetSliceIndex()

void vtkImagePlaneWidget::SetSliceIndex | ( | int | index | ) |

Set the slice position in terms of the data extent.

## ◆ GetSlicePosition()

double vtkImagePlaneWidget::GetSlicePosition | ( |  | ) |

Get the position of the slice along its normal.

## ◆ SetSlicePosition()

void vtkImagePlaneWidget::SetSlicePosition | ( | double | position | ) |

Set the position of the slice along its normal.

## ◆ SetResliceInterpolate()

void vtkImagePlaneWidget::SetResliceInterpolate | ( | int |  | ) |

Set the interpolation to use when texturing the plane.

## ◆ GetResliceInterpolate()

virtual int vtkImagePlaneWidget::GetResliceInterpolate | ( |  | ) |
| virtual

## ◆ SetResliceInterpolateToNearestNeighbour()

void vtkImagePlaneWidget::SetResliceInterpolateToNearestNeighbour | ( |  | ) |
| inline

Definition at line 251 of file vtkImagePlaneWidget.h.

## ◆ SetResliceInterpolateToLinear()

void vtkImagePlaneWidget::SetResliceInterpolateToLinear | ( |  | ) |
| inline

Definition at line 255 of file vtkImagePlaneWidget.h.

## ◆ SetResliceInterpolateToCubic()

void vtkImagePlaneWidget::SetResliceInterpolateToCubic | ( |  | ) |
| inline

Definition at line 256 of file vtkImagePlaneWidget.h.

## ◆ GetResliceOutput()

vtkImageData* vtkImagePlaneWidget::GetResliceOutput | ( |  | ) |

Convenience method to get the vtkImageReslice output.

## ◆ SetRestrictPlaneToVolume()

virtual void vtkImagePlaneWidget::SetRestrictPlaneToVolume | ( | vtkTypeBool |  | ) |
| virtual

Make sure that the plane remains within the volume.

Default is On.

## ◆ GetRestrictPlaneToVolume()

virtual vtkTypeBool vtkImagePlaneWidget::GetRestrictPlaneToVolume | ( |  | ) |
| virtual

## ◆ RestrictPlaneToVolumeOn()

virtual void vtkImagePlaneWidget::RestrictPlaneToVolumeOn | ( |  | ) |
| virtual

## ◆ RestrictPlaneToVolumeOff()

virtual void vtkImagePlaneWidget::RestrictPlaneToVolumeOff | ( |  | ) |
| virtual

## ◆ SetUserControlledLookupTable()

virtual void vtkImagePlaneWidget::SetUserControlledLookupTable | ( | vtkTypeBool |  | ) |
| virtual

Let the user control the lookup table.

NOTE: apply this method BEFORE applying the SetLookupTable method. Default is Off.

## ◆ GetUserControlledLookupTable()

virtual vtkTypeBool vtkImagePlaneWidget::GetUserControlledLookupTable | ( |  | ) |
| virtual

## ◆ UserControlledLookupTableOn()

virtual void vtkImagePlaneWidget::UserControlledLookupTableOn | ( |  | ) |
| virtual

## ◆ UserControlledLookupTableOff()

virtual void vtkImagePlaneWidget::UserControlledLookupTableOff | ( |  | ) |
| virtual

## ◆ SetTextureInterpolate()

virtual void vtkImagePlaneWidget::SetTextureInterpolate | ( | vtkTypeBool |  | ) |
| virtual

Specify whether to interpolate the texture or not.

When off, the reslice interpolation is nearest neighbour regardless of how the interpolation is set through the API. Set before setting the vtkImageData input. Default is On.

## ◆ GetTextureInterpolate()

virtual vtkTypeBool vtkImagePlaneWidget::GetTextureInterpolate | ( |  | ) |
| virtual

## ◆ TextureInterpolateOn()

virtual void vtkImagePlaneWidget::TextureInterpolateOn | ( |  | ) |
| virtual

## ◆ TextureInterpolateOff()

virtual void vtkImagePlaneWidget::TextureInterpolateOff | ( |  | ) |
| virtual

## ◆ SetTextureVisibility()

virtual void vtkImagePlaneWidget::SetTextureVisibility | ( | vtkTypeBool |  | ) |
| virtual

Control the visibility of the actual texture mapped reformatted plane.

in some cases you may only want the plane outline for example.

## ◆ GetTextureVisibility()

virtual vtkTypeBool vtkImagePlaneWidget::GetTextureVisibility | ( |  | ) |
| virtual

## ◆ TextureVisibilityOn()

virtual void vtkImagePlaneWidget::TextureVisibilityOn | ( |  | ) |
| virtual

## ◆ TextureVisibilityOff()

virtual void vtkImagePlaneWidget::TextureVisibilityOff | ( |  | ) |
| virtual

## ◆ GetPolyData()

void vtkImagePlaneWidget::GetPolyData | ( | vtkPolyData * | pd | ) |

Grab the polydata (including points) that defines the plane.

The polydata consists of (res+1)*(res+1) points, and res*res quadrilateral polygons, where res is the resolution of the plane. These point values are guaranteed to be up-to-date when either the InteractionEvent or EndInteraction events are invoked. The user provides the vtkPolyData and the points and polygons are added to it.

## ◆ GetPolyDataAlgorithm()

vtkPolyDataAlgorithm* vtkImagePlaneWidget::GetPolyDataAlgorithm | ( |  | ) |
| overridevirtual

Satisfies superclass API.

This returns a pointer to the underlying vtkPolyData. Make changes to this before calling the initial PlaceWidget() to have the initial placement follow suit. Or, make changes after the widget has been initialised and call UpdatePlacement() to realise.

Implements vtkPolyDataSourceWidget.

## ◆ UpdatePlacement()

void vtkImagePlaneWidget::UpdatePlacement | ( | void |  | ) |
| overridevirtual

Satisfies superclass API.

This will change the state of the widget to match changes that have been made to the underlying vtkPolyDataSource

Implements vtkPolyDataSourceWidget.

## ◆ GetTexture()

vtkTexture* vtkImagePlaneWidget::GetTexture | ( |  | ) |

Convenience method to get the texture used by this widget.

This can be used in external slice viewers.

## ◆ GetColorMap()

virtual vtkImageMapToColors* vtkImagePlaneWidget::GetColorMap | ( |  | ) |
| virtual

Convenience method to get the vtkImageMapToColors filter used by this widget.

The user can properly render other transparent actors in a scene by calling the filter's SetOutputFormatToRGB and PassAlphaToOutputOff.

## ◆ SetColorMap()

virtual void vtkImagePlaneWidget::SetColorMap | ( | vtkImageMapToColors * |  | ) |
| virtual

## ◆ SetPlaneProperty()

virtual void vtkImagePlaneWidget::SetPlaneProperty | ( | vtkProperty * |  | ) |
| virtual

Set/Get the plane's outline properties.

The properties of the plane's outline when selected and unselected can be manipulated.

## ◆ GetPlaneProperty()

virtual vtkProperty* vtkImagePlaneWidget::GetPlaneProperty | ( |  | ) |
| virtual

## ◆ SetSelectedPlaneProperty()

virtual void vtkImagePlaneWidget::SetSelectedPlaneProperty | ( | vtkProperty * |  | ) |
| virtual

## ◆ GetSelectedPlaneProperty()

virtual vtkProperty* vtkImagePlaneWidget::GetSelectedPlaneProperty | ( |  | ) |
| virtual

## ◆ SetPlaneOrientation()

void vtkImagePlaneWidget::SetPlaneOrientation | ( | int |  | ) |

Convenience method sets the plane orientation normal to the x, y, or z axes.

Default is XAxes (0).

## ◆ GetPlaneOrientation()

virtual int vtkImagePlaneWidget::GetPlaneOrientation | ( |  | ) |
| virtual

## ◆ SetPlaneOrientationToXAxes()

void vtkImagePlaneWidget::SetPlaneOrientationToXAxes | ( |  | ) |
| inline

Definition at line 366 of file vtkImagePlaneWidget.h.

## ◆ SetPlaneOrientationToYAxes()

void vtkImagePlaneWidget::SetPlaneOrientationToYAxes | ( |  | ) |
| inline

Definition at line 367 of file vtkImagePlaneWidget.h.

## ◆ SetPlaneOrientationToZAxes()

void vtkImagePlaneWidget::SetPlaneOrientationToZAxes | ( |  | ) |
| inline

Definition at line 368 of file vtkImagePlaneWidget.h.

## ◆ SetPicker()

void vtkImagePlaneWidget::SetPicker | ( | vtkAbstractPropPicker * |  | ) |

Set the internal picker to one defined by the user.

In this way, a set of three orthogonal planes can share the same picker so that picking is performed correctly. The default internal picker can be re-set/allocated by setting to 0 (nullptr).

## ◆ SetLookupTable()

virtual void vtkImagePlaneWidget::SetLookupTable | ( | vtkLookupTable * |  | ) |
| virtual

Set/Get the internal lookuptable (lut) to one defined by the user, or, alternatively, to the lut of another vtkImgePlaneWidget.

In this way, a set of three orthogonal planes can share the same lut so that window-levelling is performed uniformly among planes. The default internal lut can be re- set/allocated by setting to 0 (nullptr).

## ◆ GetLookupTable()

virtual vtkLookupTable* vtkImagePlaneWidget::GetLookupTable | ( |  | ) |
| virtual

## ◆ SetDisplayText()

virtual void vtkImagePlaneWidget::SetDisplayText | ( | vtkTypeBool |  | ) |
| virtual

Enable/disable text display of window-level, image coordinates and scalar values in a render window.

## ◆ GetDisplayText()

virtual vtkTypeBool vtkImagePlaneWidget::GetDisplayText | ( |  | ) |
| virtual

## ◆ DisplayTextOn()

virtual void vtkImagePlaneWidget::DisplayTextOn | ( |  | ) |
| virtual

## ◆ DisplayTextOff()

virtual void vtkImagePlaneWidget::DisplayTextOff | ( |  | ) |
| virtual

## ◆ SetCursorProperty()

virtual void vtkImagePlaneWidget::SetCursorProperty | ( | vtkProperty * |  | ) |
| virtual

Set the properties of the cross-hair cursor.

## ◆ GetCursorProperty()

virtual vtkProperty* vtkImagePlaneWidget::GetCursorProperty | ( |  | ) |
| virtual

## ◆ SetMarginProperty()

virtual void vtkImagePlaneWidget::SetMarginProperty | ( | vtkProperty * |  | ) |
| virtual

Set the properties of the margins.

## ◆ GetMarginProperty()

virtual vtkProperty* vtkImagePlaneWidget::GetMarginProperty | ( |  | ) |
| virtual

## ◆ SetMarginSizeX()

virtual void vtkImagePlaneWidget::SetMarginSizeX | ( | double |  | ) |
| virtual

Set the size of the margins based on a percentage of the plane's width and height, limited between 0 and 50%.

## ◆ GetMarginSizeX()

virtual double vtkImagePlaneWidget::GetMarginSizeX | ( |  | ) |
| virtual

## ◆ SetMarginSizeY()

virtual void vtkImagePlaneWidget::SetMarginSizeY | ( | double |  | ) |
| virtual

## ◆ GetMarginSizeY()

virtual double vtkImagePlaneWidget::GetMarginSizeY | ( |  | ) |
| virtual

## ◆ SetTextProperty()

void vtkImagePlaneWidget::SetTextProperty | ( | vtkTextProperty * | tprop | ) |

Set/Get the text property for the image data and window-level annotation.

## ◆ GetTextProperty()

vtkTextProperty* vtkImagePlaneWidget::GetTextProperty | ( |  | ) |

## ◆ SetTexturePlaneProperty()

virtual void vtkImagePlaneWidget::SetTexturePlaneProperty | ( | vtkProperty * |  | ) |
| virtual

Set/Get the property for the resliced image.

## ◆ GetTexturePlaneProperty()

virtual vtkProperty* vtkImagePlaneWidget::GetTexturePlaneProperty | ( |  | ) |
| virtual

## ◆ SetWindowLevel()

void vtkImagePlaneWidget::SetWindowLevel | ( | double | window,
|  | double | level,
|  | int | copy = `0`
| ) |  |

Set/Get the current window and level values.

SetWindowLevel should only be called after SetInput. If a shared lookup table is being used, a callback is required to update the window level values without having to update the lookup table again.

## ◆ GetWindowLevel()

void vtkImagePlaneWidget::GetWindowLevel | ( | double | wl[2] | ) |

## ◆ GetWindow()

double vtkImagePlaneWidget::GetWindow | ( |  | ) |
| inline

Definition at line 453 of file vtkImagePlaneWidget.h.

## ◆ GetLevel()

double vtkImagePlaneWidget::GetLevel | ( |  | ) |
| inline

Definition at line 454 of file vtkImagePlaneWidget.h.

## ◆ GetCursorData()

int vtkImagePlaneWidget::GetCursorData | ( | double | xyzv[4] | ) |

Get the image coordinate position and voxel value.

Currently only supports single component image data.

## ◆ GetCursorDataStatus()

int vtkImagePlaneWidget::GetCursorDataStatus | ( |  | ) |

Get the status of the cursor data.

If this returns 1 the CurrentCursorPosition and CurrentImageValue will have current data. If it returns 0, these values are invalid.

## ◆ GetCurrentCursorPosition() [1/2]

virtual double* vtkImagePlaneWidget::GetCurrentCursorPosition | ( |  | ) |
| virtual

Get the current cursor position.

To be used in conjunction with GetCursorDataStatus.

## ◆ GetCurrentCursorPosition() [2/2]

virtual void vtkImagePlaneWidget::GetCurrentCursorPosition | ( | double | data[3] | ) |
| virtual

## ◆ GetCurrentImageValue()

virtual double vtkImagePlaneWidget::GetCurrentImageValue | ( |  | ) |
| virtual

Get the current image value at the current cursor position.

To be used in conjunction with GetCursorDataStatus. The value is VTK_DOUBLE_MAX when the data is invalid.

## ◆ GetResliceAxes()

virtual vtkMatrix4x4* vtkImagePlaneWidget::GetResliceAxes | ( |  | ) |
| virtual

Get the current reslice class and reslice axes.

## ◆ GetReslice()

virtual vtkImageReslice* vtkImagePlaneWidget::GetReslice | ( |  | ) |
| virtual

## ◆ SetUseContinuousCursor()

virtual void vtkImagePlaneWidget::SetUseContinuousCursor | ( | vtkTypeBool |  | ) |
| virtual

Choose between voxel centered or continuous cursor probing.

With voxel centered probing, the cursor snaps to the nearest voxel and the reported cursor coordinates are extent based. With continuous probing, voxel data is interpolated using vtkDataSetAttributes' InterpolatePoint method and the reported coordinates are 3D spatial continuous.

## ◆ GetUseContinuousCursor()

virtual vtkTypeBool vtkImagePlaneWidget::GetUseContinuousCursor | ( |  | ) |
| virtual

## ◆ UseContinuousCursorOn()

virtual void vtkImagePlaneWidget::UseContinuousCursorOn | ( |  | ) |
| virtual

## ◆ UseContinuousCursorOff()

virtual void vtkImagePlaneWidget::UseContinuousCursorOff | ( |  | ) |
| virtual

## ◆ SetInteraction()

void vtkImagePlaneWidget::SetInteraction | ( | vtkTypeBool | interact | ) |

Enable/disable mouse interaction so the widget remains on display.

## ◆ GetInteraction()

virtual vtkTypeBool vtkImagePlaneWidget::GetInteraction | ( |  | ) |
| virtual

## ◆ InteractionOn()

virtual void vtkImagePlaneWidget::InteractionOn | ( |  | ) |
| virtual

## ◆ InteractionOff()

virtual void vtkImagePlaneWidget::InteractionOff | ( |  | ) |
| virtual

## ◆ SetLeftButtonAction()

virtual void vtkImagePlaneWidget::SetLeftButtonAction | ( | int |  | ) |
| virtual

## ◆ GetLeftButtonAction()

virtual int vtkImagePlaneWidget::GetLeftButtonAction | ( |  | ) |
| virtual

## ◆ SetMiddleButtonAction()

virtual void vtkImagePlaneWidget::SetMiddleButtonAction | ( | int |  | ) |
| virtual

## ◆ GetMiddleButtonAction()

virtual int vtkImagePlaneWidget::GetMiddleButtonAction | ( |  | ) |
| virtual

## ◆ SetRightButtonAction()

virtual void vtkImagePlaneWidget::SetRightButtonAction | ( | int |  | ) |
| virtual

## ◆ GetRightButtonAction()

virtual int vtkImagePlaneWidget::GetRightButtonAction | ( |  | ) |
| virtual

## ◆ SetLeftButtonAutoModifier()

virtual void vtkImagePlaneWidget::SetLeftButtonAutoModifier | ( | int |  | ) |
| virtual

## ◆ GetLeftButtonAutoModifier()

virtual int vtkImagePlaneWidget::GetLeftButtonAutoModifier | ( |  | ) |
| virtual

## ◆ SetMiddleButtonAutoModifier()

virtual void vtkImagePlaneWidget::SetMiddleButtonAutoModifier | ( | int |  | ) |
| virtual

## ◆ GetMiddleButtonAutoModifier()

virtual int vtkImagePlaneWidget::GetMiddleButtonAutoModifier | ( |  | ) |
| virtual

## ◆ SetRightButtonAutoModifier()

virtual void vtkImagePlaneWidget::SetRightButtonAutoModifier | ( | int |  | ) |
| virtual

## ◆ GetRightButtonAutoModifier()

virtual int vtkImagePlaneWidget::GetRightButtonAutoModifier | ( |  | ) |
| virtual

## ◆ ProcessEvents()

static void vtkImagePlaneWidget::ProcessEvents | ( | vtkObject * | object,
|  | unsigned long | event,
|  | void * | clientdata,
|  | void * | calldata
| ) |  |
| staticprotected

## ◆ AddObservers()

void vtkImagePlaneWidget::AddObservers | ( |  | ) |
| protected

## ◆ OnMouseMove()

virtual void vtkImagePlaneWidget::OnMouseMove | ( |  | ) |
| protectedvirtual

## ◆ OnLeftButtonDown()

virtual void vtkImagePlaneWidget::OnLeftButtonDown | ( |  | ) |
| protectedvirtual

## ◆ OnLeftButtonUp()

virtual void vtkImagePlaneWidget::OnLeftButtonUp | ( |  | ) |
| protectedvirtual

## ◆ OnMiddleButtonDown()

virtual void vtkImagePlaneWidget::OnMiddleButtonDown | ( |  | ) |
| protectedvirtual

## ◆ OnMiddleButtonUp()

virtual void vtkImagePlaneWidget::OnMiddleButtonUp | ( |  | ) |
| protectedvirtual

## ◆ OnRightButtonDown()

virtual void vtkImagePlaneWidget::OnRightButtonDown | ( |  | ) |
| protectedvirtual

## ◆ OnRightButtonUp()

virtual void vtkImagePlaneWidget::OnRightButtonUp | ( |  | ) |
| protectedvirtual

## ◆ OnChar()

void vtkImagePlaneWidget::OnChar | ( |  | ) |
| overrideprotectedvirtual

Sets up the keypress-i event.

Reimplemented from vtkInteractorObserver.

## ◆ StartCursor()

virtual void vtkImagePlaneWidget::StartCursor | ( |  | ) |
| protectedvirtual

## ◆ StopCursor()

virtual void vtkImagePlaneWidget::StopCursor | ( |  | ) |
| protectedvirtual

## ◆ StartSliceMotion()

virtual void vtkImagePlaneWidget::StartSliceMotion | ( |  | ) |
| protectedvirtual

## ◆ StopSliceMotion()

virtual void vtkImagePlaneWidget::StopSliceMotion | ( |  | ) |
| protectedvirtual

## ◆ StartWindowLevel()

virtual void vtkImagePlaneWidget::StartWindowLevel | ( |  | ) |
| protectedvirtual

## ◆ StopWindowLevel()

virtual void vtkImagePlaneWidget::StopWindowLevel | ( |  | ) |
| protectedvirtual

## ◆ HighlightPlane()

void vtkImagePlaneWidget::HighlightPlane | ( | int | highlight | ) |
| protected

## ◆ GeneratePlaneOutline()

void vtkImagePlaneWidget::GeneratePlaneOutline | ( |  | ) |
| protected

## ◆ BuildRepresentation()

void vtkImagePlaneWidget::BuildRepresentation | ( |  | ) |
| protected

## ◆ RegisterPickers()

void vtkImagePlaneWidget::RegisterPickers | ( |  | ) |
| overrideprotectedvirtual

Register internal Pickers in the Picking Manager.

Must be reimplemented by concrete widgets to register their pickers.

Reimplemented from vtkInteractorObserver.

## ◆ InvertTable()

void vtkImagePlaneWidget::InvertTable | ( |  | ) |
| protected

## ◆ WindowLevel()

void vtkImagePlaneWidget::WindowLevel | ( | int | X,
|  | int | Y
| ) |  |
| protected

## ◆ Push()

void vtkImagePlaneWidget::Push | ( | double * | p1,
|  | double * | p2
| ) |  |
| protected

## ◆ Spin()

void vtkImagePlaneWidget::Spin | ( | double * | p1,
|  | double * | p2
| ) |  |
| protected

## ◆ Rotate()

void vtkImagePlaneWidget::Rotate | ( | double * | p1,
|  | double * | p2,
|  | double * | vpn
| ) |  |
| protected

## ◆ Scale()

void vtkImagePlaneWidget::Scale | ( | double * | p1,
|  | double * | p2,
|  | int | X,
|  | int | Y
| ) |  |
| protected

## ◆ Translate()

void vtkImagePlaneWidget::Translate | ( | double * | p1,
|  | double * | p2
| ) |  |
| protected

## ◆ CreateDefaultLookupTable()

vtkLookupTable* vtkImagePlaneWidget::CreateDefaultLookupTable | ( |  | ) |
| protected

## ◆ CreateDefaultProperties()

void vtkImagePlaneWidget::CreateDefaultProperties | ( |  | ) |
| protected

## ◆ UpdatePlane()

void vtkImagePlaneWidget::UpdatePlane | ( |  | ) |
| protected

## ◆ GenerateTexturePlane()

void vtkImagePlaneWidget::GenerateTexturePlane | ( |  | ) |
| protected

## ◆ GenerateCursor()

void vtkImagePlaneWidget::GenerateCursor | ( |  | ) |
| protected

## ◆ UpdateCursor()

void vtkImagePlaneWidget::UpdateCursor | ( | int | ,
|  | int |
| ) |  |
| protected

## ◆ ActivateCursor()

void vtkImagePlaneWidget::ActivateCursor | ( | int |  | ) |
| protected

## ◆ UpdateContinuousCursor()

int vtkImagePlaneWidget::UpdateContinuousCursor | ( | double * | q | ) |
| protected

## ◆ UpdateDiscreteCursor()

int vtkImagePlaneWidget::UpdateDiscreteCursor | ( | double * | q | ) |
| protected

## ◆ GenerateText()

void vtkImagePlaneWidget::GenerateText | ( |  | ) |
| protected

## ◆ ManageTextDisplay()

void vtkImagePlaneWidget::ManageTextDisplay | ( |  | ) |
| protected

## ◆ ActivateText()

void vtkImagePlaneWidget::ActivateText | ( | int |  | ) |
| protected

## ◆ AdjustState()

void vtkImagePlaneWidget::AdjustState | ( |  | ) |
| protected

## ◆ GenerateMargins()

void vtkImagePlaneWidget::GenerateMargins | ( |  | ) |
| protected

## ◆ UpdateMargins()

void vtkImagePlaneWidget::UpdateMargins | ( |  | ) |
| protected

## ◆ ActivateMargins()

void vtkImagePlaneWidget::ActivateMargins | ( | int |  | ) |
| protected

## Member Data Documentation

## ◆ TextureVisibility

vtkTypeBool vtkImagePlaneWidget::TextureVisibility
| protected

Definition at line 562 of file vtkImagePlaneWidget.h.

## ◆ LeftButtonAction

int vtkImagePlaneWidget::LeftButtonAction
| protected

Definition at line 564 of file vtkImagePlaneWidget.h.

## ◆ MiddleButtonAction

int vtkImagePlaneWidget::MiddleButtonAction
| protected

Definition at line 565 of file vtkImagePlaneWidget.h.

## ◆ RightButtonAction

int vtkImagePlaneWidget::RightButtonAction
| protected

Definition at line 566 of file vtkImagePlaneWidget.h.

## ◆ LeftButtonAutoModifier

int vtkImagePlaneWidget::LeftButtonAutoModifier
| protected

Definition at line 568 of file vtkImagePlaneWidget.h.

## ◆ MiddleButtonAutoModifier

int vtkImagePlaneWidget::MiddleButtonAutoModifier
| protected

Definition at line 569 of file vtkImagePlaneWidget.h.

## ◆ RightButtonAutoModifier

int vtkImagePlaneWidget::RightButtonAutoModifier
| protected

Definition at line 570 of file vtkImagePlaneWidget.h.

## ◆ LastButtonPressed

int vtkImagePlaneWidget::LastButtonPressed
| protected

Definition at line 579 of file vtkImagePlaneWidget.h.

## ◆ State

int vtkImagePlaneWidget::State
| protected

Definition at line 582 of file vtkImagePlaneWidget.h.

## ◆ Interaction

vtkTypeBool vtkImagePlaneWidget::Interaction
| protected

Definition at line 623 of file vtkImagePlaneWidget.h.

## ◆ PlaneOrientation

int vtkImagePlaneWidget::PlaneOrientation
| protected

Definition at line 624 of file vtkImagePlaneWidget.h.

## ◆ RestrictPlaneToVolume

vtkTypeBool vtkImagePlaneWidget::RestrictPlaneToVolume
| protected

Definition at line 625 of file vtkImagePlaneWidget.h.

## ◆ OriginalWindow

double vtkImagePlaneWidget::OriginalWindow
| protected

Definition at line 626 of file vtkImagePlaneWidget.h.

## ◆ OriginalLevel

double vtkImagePlaneWidget::OriginalLevel
| protected

Definition at line 627 of file vtkImagePlaneWidget.h.

## ◆ CurrentWindow

double vtkImagePlaneWidget::CurrentWindow
| protected

Definition at line 628 of file vtkImagePlaneWidget.h.

## ◆ CurrentLevel

double vtkImagePlaneWidget::CurrentLevel
| protected

Definition at line 629 of file vtkImagePlaneWidget.h.

## ◆ InitialWindow

double vtkImagePlaneWidget::InitialWindow
| protected

Definition at line 630 of file vtkImagePlaneWidget.h.

## ◆ InitialLevel

double vtkImagePlaneWidget::InitialLevel
| protected

Definition at line 631 of file vtkImagePlaneWidget.h.

## ◆ StartWindowLevelPositionX

int vtkImagePlaneWidget::StartWindowLevelPositionX
| protected

Definition at line 632 of file vtkImagePlaneWidget.h.

## ◆ StartWindowLevelPositionY

int vtkImagePlaneWidget::StartWindowLevelPositionY
| protected

Definition at line 633 of file vtkImagePlaneWidget.h.

## ◆ ResliceInterpolate

int vtkImagePlaneWidget::ResliceInterpolate
| protected

Definition at line 634 of file vtkImagePlaneWidget.h.

## ◆ TextureInterpolate

vtkTypeBool vtkImagePlaneWidget::TextureInterpolate
| protected

Definition at line 635 of file vtkImagePlaneWidget.h.

## ◆ UserControlledLookupTable

vtkTypeBool vtkImagePlaneWidget::UserControlledLookupTable
| protected

Definition at line 636 of file vtkImagePlaneWidget.h.

## ◆ DisplayText

vtkTypeBool vtkImagePlaneWidget::DisplayText
| protected

Definition at line 637 of file vtkImagePlaneWidget.h.

## ◆ PlaneSource

vtkPlaneSource* vtkImagePlaneWidget::PlaneSource
| protected

Definition at line 640 of file vtkImagePlaneWidget.h.

## ◆ PlaneOutlinePolyData

vtkPolyData* vtkImagePlaneWidget::PlaneOutlinePolyData
| protected

Definition at line 641 of file vtkImagePlaneWidget.h.

## ◆ PlaneOutlineActor

vtkActor* vtkImagePlaneWidget::PlaneOutlineActor
| protected

Definition at line 642 of file vtkImagePlaneWidget.h.

## ◆ PlanePicker

vtkAbstractPropPicker* vtkImagePlaneWidget::PlanePicker
| protected

Definition at line 650 of file vtkImagePlaneWidget.h.

## ◆ ImageData

vtkImageData* vtkImagePlaneWidget::ImageData
| protected

Definition at line 666 of file vtkImagePlaneWidget.h.

## ◆ Reslice

vtkImageReslice* vtkImagePlaneWidget::Reslice
| protected

Definition at line 667 of file vtkImagePlaneWidget.h.

## ◆ ResliceAxes

vtkMatrix4x4* vtkImagePlaneWidget::ResliceAxes
| protected

Definition at line 668 of file vtkImagePlaneWidget.h.

## ◆ Transform

vtkTransform* vtkImagePlaneWidget::Transform
| protected

Definition at line 669 of file vtkImagePlaneWidget.h.

## ◆ TexturePlaneActor

vtkActor* vtkImagePlaneWidget::TexturePlaneActor
| protected

Definition at line 670 of file vtkImagePlaneWidget.h.

## ◆ ColorMap

vtkImageMapToColors* vtkImagePlaneWidget::ColorMap
| protected

Definition at line 671 of file vtkImagePlaneWidget.h.

## ◆ Texture

vtkTexture* vtkImagePlaneWidget::Texture
| protected

Definition at line 672 of file vtkImagePlaneWidget.h.

## ◆ LookupTable

vtkLookupTable* vtkImagePlaneWidget::LookupTable
| protected

Definition at line 673 of file vtkImagePlaneWidget.h.

## ◆ PlaneProperty

vtkProperty* vtkImagePlaneWidget::PlaneProperty
| protected

Definition at line 680 of file vtkImagePlaneWidget.h.

## ◆ SelectedPlaneProperty

vtkProperty* vtkImagePlaneWidget::SelectedPlaneProperty
| protected

Definition at line 681 of file vtkImagePlaneWidget.h.

## ◆ CursorProperty

vtkProperty* vtkImagePlaneWidget::CursorProperty
| protected

Definition at line 682 of file vtkImagePlaneWidget.h.

## ◆ MarginProperty

vtkProperty* vtkImagePlaneWidget::MarginProperty
| protected

Definition at line 683 of file vtkImagePlaneWidget.h.

## ◆ TexturePlaneProperty

vtkProperty* vtkImagePlaneWidget::TexturePlaneProperty
| protected

Definition at line 684 of file vtkImagePlaneWidget.h.

## ◆ CursorPolyData

vtkPolyData* vtkImagePlaneWidget::CursorPolyData
| protected

Definition at line 692 of file vtkImagePlaneWidget.h.

## ◆ CursorActor

vtkActor* vtkImagePlaneWidget::CursorActor
| protected

Definition at line 693 of file vtkImagePlaneWidget.h.

## ◆ CurrentCursorPosition

double vtkImagePlaneWidget::CurrentCursorPosition[3]
| protected

Definition at line 694 of file vtkImagePlaneWidget.h.

## ◆ CurrentImageValue

double vtkImagePlaneWidget::CurrentImageValue
| protected

Definition at line 695 of file vtkImagePlaneWidget.h.

## ◆ UseContinuousCursor

vtkTypeBool vtkImagePlaneWidget::UseContinuousCursor
| protected

Definition at line 701 of file vtkImagePlaneWidget.h.

## ◆ TextActor

vtkTextActor* vtkImagePlaneWidget::TextActor
| protected

Definition at line 704 of file vtkImagePlaneWidget.h.

## ◆ TextBuff

char vtkImagePlaneWidget::TextBuff[VTK_IMAGE_PLANE_WIDGET_MAX_TEXTBUFF]
| protected

Definition at line 705 of file vtkImagePlaneWidget.h.

## ◆ RotateAxis

double vtkImagePlaneWidget::RotateAxis[3]
| protected

Definition at line 711 of file vtkImagePlaneWidget.h.

## ◆ RadiusVector

double vtkImagePlaneWidget::RadiusVector[3]
| protected

Definition at line 712 of file vtkImagePlaneWidget.h.

## ◆ MarginPolyData

vtkPolyData* vtkImagePlaneWidget::MarginPolyData
| protected

Definition at line 716 of file vtkImagePlaneWidget.h.

## ◆ MarginActor

vtkActor* vtkImagePlaneWidget::MarginActor
| protected

Definition at line 717 of file vtkImagePlaneWidget.h.

## ◆ MarginSelectMode

int vtkImagePlaneWidget::MarginSelectMode
| protected

Definition at line 718 of file vtkImagePlaneWidget.h.

## ◆ MarginSizeX

double vtkImagePlaneWidget::MarginSizeX
| protected

Definition at line 722 of file vtkImagePlaneWidget.h.

## ◆ MarginSizeY

double vtkImagePlaneWidget::MarginSizeY
| protected

Definition at line 723 of file vtkImagePlaneWidget.h.

The documentation for this class was generated from the following file:

- Interaction/Widgets/vtkImagePlaneWidget.h