class menpo.landmark.LandmarkManager[source]

Bases: MutableMapping, Transformable

Store for LandmarkGroup instances associated with an object.

Every Landmarkable instance has an instance of this class available at the .landmarks property. It is through this class that all access to landmarks attached to instances is handled. In general the LandmarkManager provides a dictionary-like interface for storing landmarks. LandmarkGroup instances are stored under string keys - these keys are refereed to as the group name. A special case is where there is a single unambiguous LandmarkGroup attached to a LandmarkManager - in this case None can be used as a key to access the sole group.

Note that all landmarks stored on a Landmarkable in it’s attached LandmarkManager are automatically transformed and copied with their parent object.

clear() → None. Remove all items from D.

Generate an efficient copy of this LandmarkManager.

Returns:type(self) – A copy of this object
get(k[, d]) → D[k] if k in D, else d. d defaults to None.
items() → list of D's (key, value) pairs, as 2-tuples

Yield only items (group, LandmarkGroup) where the key matches a given glob.

Parameters:glob_pattern (str) – A glob pattern e.g. ‘frontal_face_*’
Yields:item ((group, LandmarkGroup)) – Tuple of group, LandmarkGroup where the group matches the glob
iteritems() → an iterator over the (key, value) items of D
iterkeys() → an iterator over the keys of D
itervalues() → an iterator over the values of D
keys() → list of D's keys

Yield only landmark group names (keys) matching a given glob.

Parameters:glob_pattern (str) – A glob pattern e.g. ‘frontal_face_*’
Yields:keys (group labels that match the glob pattern)
pop(k[, d]) → v, remove specified key and return the corresponding value.

If key is not found, d is returned if given, otherwise KeyError is raised.

popitem() → (k, v), remove and return some (key, value) pair

as a 2-tuple; but raise KeyError if D is empty.

setdefault(k[, d]) → D.get(k,d), also set D[k]=d if k not in D
update([E, ]**F) → None. Update D from mapping/iterable E and F.

If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

values() → list of D's values
view_widget(browser_style='buttons', figure_size=(10, 8), style='coloured')[source]

Visualizes the landmark manager object using an interactive widget.

  • browser_style ({'buttons', 'slider'}, optional) – It defines whether the selector of the landmark managers will have the form of plus/minus buttons or a slider.
  • figure_size ((int, int), optional) – The initial size of the rendered figure.
  • style ({'coloured', 'minimal'}, optional) – If 'coloured', then the style of the widget will be coloured. If minimal, then the style is simple using black and white colours.

All the labels for the landmark set sorted by insertion order.

Type:list of str

Whether the object has landmarks or not


The total number of dimensions.


Total number of labels.