psifr.maskers.outputs_masker#

psifr.maskers.outputs_masker(pool_items, recall_items, pool_output, recall_output, pool_test=None, recall_test=None, test=None)#

Iterate over valid outputs.

Parameters:
  • pool_items (list) – Items available for recall. Order does not matter. May contain repeated values. Item identifiers must be unique within pool.

  • recall_items (list) – Recalled items in output position order.

  • pool_output (list) – Output values for pool items. Must be the same order as pool.

  • recall_output (list) – Output values in output position order.

  • pool_test (list, optional) – Test values for items available for recall. Must be the same order as pool.

  • recall_test (list, optional) – Test values for items in output position order.

  • test (callable, optional) – Used to test whether output recalls and possible recalls should be included, based on their test values.

Yields:
  • curr (object) – Output value for the item at this valid output position.

  • poss (numpy.array) – Output values for all possible items that could be recalled at this output position.

  • output (int) – Current output position.

Examples

>>> from psifr import maskers
>>> pool_items = [1, 2, 3, 4]
>>> recall_items = [4, 2, 3, 1]
>>> masker = maskers.outputs_masker(
...     pool_items, recall_items, pool_items, recall_items
... )
>>> for curr, poss, output in masker:
...     print(curr, poss, output)
4 [1 2 3 4] 1
2 [1 2 3] 2
3 [1 3] 3
1 [1] 4