MaskPolicy#

class pypillometry.MaskPolicy(layers=(), unless=(), nan=True, name=None)[source]#

Bases: object

Which samples count as unusable (masked).

A sample is masked if its value is NaN (with nan), or if one of the layers is set and none of the layers in unless is set. Recording-wide layers (e.g., "excluded") mask a sample regardless of unless.

The predefined policies are in POLICIES: "default" (NaN, blinks, off-screen gaze, eye divergences, user masks and excluded periods are masked; interpolated samples are used), "strict" (interpolated samples are masked too) and "raw" (nothing is masked, not even NaN). All processing and analysis methods take the policy as their policy argument.

Parameters:
  • layers (str or list of str) – layers that make a sample unusable

  • unless (str or list of str) – layers that make a sample usable again (e.g., "interpolated": the value was reconstructed)

  • nan (bool) – NaN values are unusable

  • name (Optional[str]) – name of the policy

Examples

>>> d.mask("left", "pupil", policy=MaskPolicy(["blink"]))

Details