make_value_based_slice#

rojak.core.indexing.make_value_based_slice(coordinate: Sequence, min_value: float | None, max_value: float | None) slice[source]#

Make a slice from coordinate while accounting for whether values are increasing or decreasing.

Parameters:
  • coordinate (Sequence) – Sequence of values

  • min_value (float | None) – Minimum value in slice

  • max_value (float | None) – Maximum value in slice

Returns:

Slice to be used for indexing

Return type:

slice

>>> import numpy as np
>>> make_value_based_slice(np.arange(10), 0, 5)
slice(0, 5, None)
>>> make_value_based_slice(np.arange(10, 0, -1), 0, 5)
slice(5, 0, None)