def METHOD_NAME(self, imagedata):
    axes = PLANE_DATA[self.orientation][0] # "x", "y" or "z"
    colour = PLANE_DATA[self.orientation][1]
    #if self.orientation == SAGITAL:
    #    spacing = min(imagedata.GetSpacing())
    #    permute = vtk.vtkImagePermute()
    #    permute.SetInput(imagedata)
    #    permute.GetOutput().ReleaseDataFlagOn()
    #    permute.SetOutputSpacing(spacing, spacing, spacing)
    #    imagedata = permute.GetOutput()
    # Picker for enabling plane motion.
    # Allows selection of a cell by shooting a ray into graphics window
    picker = vtkCellPicker()
    picker.SetTolerance(0.005)
    picker.PickFromListOn()
    # 3D widget for reslicing image data.
    # This 3D widget defines a plane that can be interactively placed in an image volume.
    widget = vtkImagePlaneWidget()
    widget.METHOD_NAME(imagedata)
    widget.SetSliceIndex(self.index)
    widget.SetPicker(picker)
    widget.SetKeyPressActivationValue(axes)
    widget.SetInteractor(self.iren)
    widget.TextureVisibilityOff()
    widget.DisplayTextOff()
    widget.RestrictPlaneToVolumeOff()
    exec("widget.SetPlaneOrientationTo"+axes.upper()+"Axes()")
    widget.AddObserver("InteractionEvent",self.Update)
    self.widget = widget
    prop = widget.GetPlaneProperty()
    prop.SetColor(colour)
    # Syncronize coloured outline with texture appropriately
    source = vtkPlaneSource()
    source.SetOrigin(widget.GetOrigin())
    source.SetPoint1(widget.GetPoint1())
    source.SetPoint2(widget.GetPoint2())
    source.SetNormal(widget.GetNormal())
    self.source = source
    mapper = vtkPolyDataMapper()
    mapper.METHOD_NAME(source.GetOutput())
    actor = vtkActor()
    actor.SetMapper(mapper)
    actor.SetTexture(widget.GetTexture())
    actor.VisibilityOff()
    self.actor = actor
    self.render.AddActor(actor)