peakingduck.util module

peakingduck.util.get_window(values: List[float], centerindex: int, nouter: int = 5, ninner: int = 0, includeindex: bool = True) → List[float]

Given a list of values take nouter points either side of the index given and ignore ninner points.

Examples

>>> get_window([8, 2, 5, 2, 6, 6, 9, 23, 12], 4, 3, 0, True)
[2, 5, 2, 6, 6, 9, 23]
>>> get_window([8, 2, 5, 2, 6, 6, 9, 23, 12], 4, 3, 0, False)
[2, 5, 2, 6, 9, 23]
>>> get_window([8, 2, 5, 2, 6, 6, 9, 23, 12], 4, 3, 1, True)
[2, 5, 6, 9, 23]
>>> get_window([8, 2, 5, 2, 6, 6, 9, 23, 12], 4, 3, 1, False)
[2, 5, 9, 23]
Therefore:
  • ninner >= 0

  • ninner <= nouter

  • index >= nouter

  • index < values.size()

It will clip at (0, len(values))