fsleyes.overlay¶
This module defines the OverlayList class, which is a simple but
fundamental class in FSLeyes - it is a container for all loaded overlays.
Only one OverlayList ever exists, and it is shared throughout the entire
application.
What is an overlay?
The definition of an overlay is fairly broad; any object can be added to
the OverlayList - there is no Overlay base class, nor any interface
which must be provided by an overlay object. The only requirements imposed on
an overlay type are:
Must be able to be created with a single
__init__parameter, which is a string specifying the data source location (e.g. a file name) (but see the note below aboutImageoverlays).Must have an attribute called
name, which is used as the initial display name for the overlay.Must have an attribute called
dataSource, which is used to identify the source of the overlay data.Must be hashable (i.e. usable as a dictionary key).
Must be supported by the
glpackage .. ok, this is a pretty big requirement .. See theglobjectand thedisplaycontext.OVERLAY_TYPESdocumentation for details on how to get started with this one.
One further requirement is imposed on overlay types which derive from the
Image class:
The
__init__method for sub-classes of theImageclass must accept theloadData,calcRange,indexed, andthreadedparameters, and pass them through to the base class__init__method.
Currently (fsleyes version 0.34.2) the only overlay types in existence
(and able to be rendered) are:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This module also provides a few convenience classes and functions:
|
MagicMock is a subclass of Mock with default implementations of most of the magic methods. |
Searches the given |
-
class
fsleyes.overlay.OverlayList(overlays=None)[source]¶ Bases:
__main__.MockClassClass representing a collection of overlays to be displayed together.
Contains a
props.properties_types.Listproperty calledoverlays, containing overlay objects (e.g.ImageorMeshobjects). Listeners can be registered on theoverlaysproperty, so they are notified when the overlay list changes.An
OverlayListobject has a few wrapper methods around theoverlaysproperty, allowing theOverlayListto be used as if it were a list itself.The
loadoverlaymodule contains some convenience functions for loading and adding overlays.The
getData()andsetData()methods allow arbitrary bits of data associated with an overlay to be stored and retrieved.-
overlays= <MagicMock name='mock.List()' id='281473495788224'>¶ A list of overlay objects to be displayed.
-
initProps(overlay)[source]¶ Returns a dict containing initial
DisplayandDisplayOptsproperty values to be used for the givenoverlay, if they were specified via theappend()orinsert()methods.This method requires that there is no overlap between the property names used in
DisplayandDisplayOptsclasses.
-
getData(overlay, key, *args)[source]¶ Returns any stored value associated with the specified
overlayandkey.- Parameters
default – Default value if there is no value associated with the given
key. If not specified, and an unknown key is given, aKeyErroris raised.
-
find(name)[source]¶ Returns the first overlay with the given
nameordataSource, orNoneif there is no overlay with saidname/dataSource.
-
insert(index, item, **initProps)[source]¶ Insert a new overlay into the overlay list.
Any initial
Display/DisplayOptsproperty values may be passed in as keyword arguments.
-
append(item, **initProps)[source]¶ Add a new overlay to the end of the overlay list.
Any initial
Display/DisplayOptsproperty values may be passed in as keyword arguments.
-
extend(iterable, **initProps)[source]¶ Add new overlays to the overlay list.
Any initial
Display/DisplayOptsproperty values may be passed in as keyword arguments, where the argument name is the property name, and the argument value is a dict of{overlay : value}mappings.
-
_OverlayList__validateOverlay(atts, overlay)¶ Makes sure that the given overlay object is valid.
-
__module__= 'fsleyes.overlay'¶
-
-
class
fsleyes.overlay.PropCache[source]¶ Bases:
objectDeprecated - use
fsleyes_props.PropCacheinstead.A little convenience class which can be used to track and cache property values, related to each overlay in the
OverlayList, on someHasPropertiesobject.Whenever the selected overlay changes, the property values of the previously selected overlay are cached. Later on, when that overlay is re-selected, the cached property values may be retrieved via the
get()method.-
__init__= <MagicMock name='mock.utils.deprecated.deprecated()()' id='281473495817568'>¶
-
destroy()[source]¶ Must be called when this
PropCacheis no longer needed. Removes property listeners and clears references.
-
get(overlay, propName, *args)[source]¶ Returns the cached property value for the specified
overlay. If there is no cached property value for the overlay, the specifieddefaultvalue is returned. If adefaultvalue is not provided, the current property value is returned.- Parameters
overlay – Overlay to retrieve the property value for
propName – Name of the property to return a value for
default – Value to return if a value for the the overlay/property is not cached
-
_PropCache__cacheGC()¶ Removes any obsolete entries (those pertaining to overlays which are no longer present in the
OverlayList) from the cache.
-
_PropCache__selectedOverlayChanged(*a)¶ Called when either the
DisplayContext.selectedOverlay, or theOverlayList.overlayschange. Caches property values pertaining to the previously selected overlay.
-
__dict__= mappingproxy({'__module__': 'fsleyes.overlay', '__doc__': 'Deprecated - use :class:`fsleyes_props.PropCache` instead.\n\n A little convenience class which can be used to track and cache\n property values, related to each overlay in the :class:`.OverlayList`,\n on some :class:`.HasProperties` object.\n\n\n Whenever the selected overlay changes, the property values of the\n previously selected overlay are cached. Later on, when that overlay\n is re-selected, the cached property values may be retrieved via\n the :meth:`get` method.\n ', '__init__': <MagicMock name='mock.utils.deprecated.deprecated()()' id='281473495817568'>, 'destroy': <function PropCache.destroy>, 'get': <function PropCache.get>, '_PropCache__selectedOverlayChanged': <function PropCache.__selectedOverlayChanged>, '_PropCache__cacheGC': <function PropCache.__cacheGC>, '__dict__': <attribute '__dict__' of 'PropCache' objects>, '__weakref__': <attribute '__weakref__' of 'PropCache' objects>})¶
-
__module__= 'fsleyes.overlay'¶
-
__weakref__¶ list of weak references to the object (if defined)
-
-
fsleyes.overlay.findFEATImage(overlayList, overlay)[source]¶ Searches the given
OverlayListto see if there is aFEATImageassociated with the givenoverlay. Returns theFEATImageif found, otherwise returnsNone.
-
fsleyes.overlay.findMeshReferenceImage(overlayList, overlay)[source]¶ Searches the
OverlayListand tries to identify a reference image for the givenMeshoverlay. Returns the identified overlay, orNoneif one can’t be found.