fsleyes.views.orthopanel

This module provides the OrthoPanel class, which displays a 2D view of 3D overlays.

A couple of other classes are provided for convenience:

OrthoFrame

Convenience class for displaying an OrthoPanel in a standalone frame.

OrthoDialog

Convenience class for displaying an OrthoPanel in a (possibly modal) dialog window.

class fsleyes.views.orthopanel.OrthoPanel(parent, overlayList, displayCtx, frame)[source]

Bases: fsleyes.views.canvaspanel.CanvasPanel

The OrthoPanel class is a FSLeyes view which displays a 2D view of 3D overlays. The OrthoPanel is the primary point of user interaction in FSLeyes.

Overview

An OrthoPanel contains three SliceCanvas panels, each of which provide a 2D view of the overlays in the OverlayList along one axis. These SliceCanvas instances can be accessed through the getXCanvas(), getYCanvas(), getZCanvas(), and getGLCanvases() methods.

An OrthoPanel looks something like this:

_images/orthopanel.png

Anatomical labels

The OrthoPanel creates an OrthoLabels instance, which manages the display of anatomical orientation labels on each of the three SliceCanvas instances.

Display

The display of an OrthoPanel can be configured through all of the settings provided by the OrthoOpts class. The OrthoOpts instance for a given OrthoPanel can be accessed via the CanvasPanel.sceneOpts() method.

Interaction

The following interaction profiles are defined for use with the OrthoPanel (see the ViewPanel for an overview of profiles):

view

Viewing/navigation, using the OrthoViewProfile.

edit

Simple editing of Image overlays, using the OrthoEditProfile (see also the editor package).

crop

Allows the user to crop an Image overlay.

Actions and control panels

The OrthoPanel adds a few extra actions to those provided by the CanvasPanel class:

toggleEditMode

Toggles the ViewPanel.profile between 'view' and 'edit'.

toggleCropMode

Toggles the ViewPanel.profile between 'view' and 'crop'.

toggleEditTransformPanel

Shows/hides an EditTransformPanel.

toggleEditPanel

Shows/hides an OrthoEditSettingsPanel.

toggleOrthoToolBar

Shows/hides an OrthoToolBar.

resetDisplay

Calls OrthoViewProfile.resetDisplay().

centreCursor

Calls OrthoViewProfile.centreCursor().

centreCursorWorld

Calls OrthoViewProfile.centreCursorWorld().

toggleCursor

Toggles the value of SceneOpts.showCursor.

toggleLabels

Toggles the value of OrthoOpts.showLabels.

toggleXCanvas

Toggles the value of OrthoOpts.showXCanvas.

toggleYCanvas

Toggles the value of OrthoOpts.showYCanvas.

toggleZCanvas

Toggles the value of OrthoOpts.showZCanvas.

__init__(parent, overlayList, displayCtx, frame)[source]

Create an OrthoPanel.

Parameters
destroy()[source]

Must be called when this OrthoPanel is closed.

Removes listeners from the DisplayContext and OverlayList instances, destroys each of the three SliceCanvas panels, and calls CanvasPanel.destroy().

toggleOrthoToolBar()[source]

Shows/hides an OrthoToolBar. See ViewPanel.togglePanel().

toggleEditMode()[source]

Toggles the ViewPanel.profile between 'view' and 'edit'. See __profileChanged().

toggleCropMode()[source]

Toggles the ViewPanel.profile between 'view' and 'crop'. See __profileChanged().

toggleEditTransformPanel()[source]

Shows/hides an EditTransformPanel. See ViewPanel.togglePanel().

toggleEditPanel(floatPane=False)[source]

Shows/hides an OrthoEditSettingsPanel. See ViewPanel.togglePanel().

pearsonCorrelation()[source]

Executes a PearsonCorrelateAction.

resetDisplay()[source]

Calls OrthoViewProfile.resetDisplay().

centreCursor()[source]

Calls OrthoViewProfile.centreCursor().

centreCursorWorld()[source]

Calls OrthoViewProfile.centreCursorWorld().

toggleCursor()[source]

Toggles the value of SceneOpts.showCursor.

toggleLabels()[source]

Toggles the value of OrthoOpts.showLabels.

toggleXCanvas()[source]

Toggles the value of OrthoOpts.showXCanvas.

toggleYCanvas()[source]

Toggles the value of OrthoOpts.showYCanvas.

toggleZCanvas()[source]

Toggles the value of OrthoOpts.showZCanvas.

getActions()[source]

Overrides ActionProvider.getActions(). Returns all of the actions that are defined on this OrthoPanel.

getTools()[source]

Returns a list of methods to be added to the FSLeyesFrame Tools menu for OrthoPanel views.

getGLCanvases()[source]

Returns all of the SliceCanvas instances contained within this OrthoPanel.

getXCanvas()[source]

Returns the SliceCanvas instance displaying the X axis.

getYCanvas()[source]

Returns the SliceCanvas instance displaying the Y axis.

getZCanvas()[source]

Returns the SliceCanvas instance displaying the Z axis.

__profileChanged(*a)

Called when the ViewPanel.profile changes. If 'edit' mode has been enabled, OrthEditToolBar and OrthEditActionToolBar toolbars are added as control panels, and an “edit” menu is added to the FSLeyesFrame (if there is one).

__addEditMenu()

Called by __profleChanged() when the ViewPanel.profile is changed to 'edit'. Adds a menu to the FSLeyesFrame.

__removeEditMenu()

Called by __profleChanged() when the ViewPanel.profile is changed from 'edit'. If an edit menut has previously been added to the FSLeyesFrame, it is removed.

__toggleCanvas(*a)

Called when any of the OrthoOpts.showXCanvas, OrthoOpts.showYCanvas, or OrthoOpts.showZCanvas properties are changed.

Shows/hides each of the SliceCanvas panels accordingly.

__radioOrientationChanged(*a)

Called when the DisplayContext.radioOrientation or DisplayContext.displaySpace property changes. Figures out if the left-right canvas axes need to be flipped, and does so if necessary.

__overlayListChanged(*a)

Called when the OverlayList or DisplayContext.selectedOverlay is changed. Enables/disables various action methods based on the currently selected overlay.

__onResize(ev)

Called whenever the panel is resized. Makes sure that the SliceCanvas panels and Text annotations are drawn correctly.

__calcCanvasSizes(*a)

Sets the size for each displayed SliceCanvas.

The minimum/maximum size of each canvas is fixed so that they are scaled proportionally to each other, thus preserving the aspect ratio. The :mod:~fsl.utils.layout` module is used to perform the canvas size calculation.

__refreshLayout(*a, **kwa)

Called when the OrthoOpts.layout property changes, or the canvas layout needs to be refreshed. Updates the layout accordingly.

Parameters

refresh – Must be passed as a keyword argument. If True (the default), this OrthoPanel is refreshed.

__annotations__ = {}
__module__ = 'fsleyes.views.orthopanel'
class fsleyes.views.orthopanel.OrthoFrame(parent, overlayList, displayCtx, title=None)[source]

Bases: __main__.docbuilder.run.<locals>.MockClass

Convenience class for displaying an OrthoPanel in a standalone frame.

__init__(parent, overlayList, displayCtx, title=None)[source]

Create an OrthoFrame.

Parameters
  • parent – A wx parent object.

  • overlayList – An OverlayList instance.

  • displayCtx – A DisplayContext instance.

  • title – Dialog title.

__annotations__ = {}
__module__ = 'fsleyes.views.orthopanel'
class fsleyes.views.orthopanel.OrthoDialog(parent, overlayList, displayCtx, title=None, style=None)[source]

Bases: __main__.docbuilder.run.<locals>.MockClass

Convenience class for displaying an OrthoPanel in a (possibly modal) dialog window.

__init__(parent, overlayList, displayCtx, title=None, style=None)[source]

Create an OrthoDialog.

Parameters
  • parent – A wx parent object.

  • overlayList – An OverlayList instance.

  • displayCtx – A DisplayContext instance.

  • title – Dialog title.

  • style – Dialog style - defaults to wx.DEFAULT_DIALOG_STYLE.

__annotations__ = {}
__module__ = 'fsleyes.views.orthopanel'