load_legacy_metrics
sleap.gui.learning.load_legacy_metrics
¶
Load legacy metrics from SLEAP <= v1.4.1
Classes:
| Name | Description |
|---|---|
CustomUnpickler |
Custom unpickler that intercepts SLEAP class loading. |
MockSLEAPArray |
Mock ndarray subclass to replace SLEAP array objects during unpickling. |
MockSLEAPObject |
Mock class for non-array SLEAP objects. |
Functions:
| Name | Description |
|---|---|
extract_arrays_from_object |
Recursively find and extract all numpy arrays and numeric values from an object. |
load_npz_extract_arrays |
Load .npz file and extract all numpy arrays, even from pickled objects. |
CustomUnpickler
¶
Bases: Unpickler
Custom unpickler that intercepts SLEAP class loading.
When pickle tries to import sleap.instance.PointArray (which we don't have), we return our mock class instead so unpickling can complete.
Source code in sleap/gui/learning/load_legacy_metrics.py
MockSLEAPArray
¶
Bases: ndarray
Mock ndarray subclass to replace SLEAP array objects during unpickling.
SLEAP's PointArray is an ndarray subclass, so we need this to be one too for numpy's unpickling to work properly.
Source code in sleap/gui/learning/load_legacy_metrics.py
MockSLEAPObject
¶
extract_arrays_from_object(obj, prefix='', arrays=None)
¶
Recursively find and extract all numpy arrays and numeric values from an object.
Searches through dicts, lists, object attributes, and nested arrays to find all numpy arrays and scalar numeric values.
Source code in sleap/gui/learning/load_legacy_metrics.py
load_npz_extract_arrays(npz_file)
¶
Load .npz file and extract all numpy arrays, even from pickled objects.
Returns a dict mapping array names to numpy arrays and numeric values.