class_docstr: Enum for various lower bounding implementations.
  
  Bounding techniques constrain the indices a warping path may take. It does this
  by defining a criteria that every index in a warping path must conform to.
  We can define this bounding as:
  
  .. math::
      j-R_{i} \leq i \leq j+R_{i}
  
  Where i is the ith index value, j is the jth index value and R is a term defining
  the range in which a index is in bound.  It should be noted can be independent of
  the indexes (such as in Sakoe-Chiba bounding) or can even be a function of the index
  (such as in Itakura Parallelogram).
  
  The available bounding techniques are defined below:
  
      'NO_BOUNDING'. A warping path using no bounding is said to have no
      restrictions in what indexes are considered for warping. For no bounding R
      can be defined as:
  
      .. math::
          R = max(len(x), len(y))
  
      'SAKOE_CHIBA'. A warping path using Sakoe-Chibas technique restricts the warping
      path using a constant defined window size. This window determines the
      largest temporal shift allowed from the diagonal. This was originally presented
      in [1]_. For Sakoe-Chiba R can be defined as:
  
      .. math::
          R = window_size
  
      'ITAKURA_PARALLELOGRAM'. A warping path using Itakura-Parallelogram restricts
      the warping path as a function of a defined max slope value.
      This creates a parallelogram shape on the warping path.
      For Itakura-Parallelogram R is therefore instead defined as a function.
      Itakura parallelogram was originally presented in [2]_.
  
  For a more general comparison between different bounding see [3]_.
  
  Parameters
  ----------
  int_val: int
      integer value to perform desired bounding, where:
      NO_BOUNDING = 1
      SAKOE_CHIBA = 2
      ITAKURA_PARALLELOGRAM = 3
  
  References
  ----------
  .. [1]  H. Sakoe, S. Chiba, "Dynamic programming algorithm optimization for
          spoken word recognition," IEEE Transactions on Acoustics, Speech and
          Signal Processing, vol. 26(1), pp. 43--49, 1978.
  .. [2]  F. Itakura, "Minimum prediction residual principle applied to speech
          recognition," in IEEE Transactions on Acoustics, Speech, and Signal
          Processing, vol. 23, no. 1, pp. 67-72, February 1975,
          doi: 10.1109/TASSP.1975.1162641.
  .. [3]  Ratanamahatana, Chotirat & Keogh, Eamonn. (2004). Making Time-Series
          Classification More Accurate Using Learned Constraints.
          10.1137/1.9781611972740.2.
code: def __init__(self, int_val):
      self.int_val: int = int_val
      self.string_name: str = ""
  
file_path: sktime/sktime/distances/lower_bounding.py
imports: from enum import Enum
  from typing import Union
  import numpy
label_desc: Use image node_id 1 to create a new LowerBounding object from inherited base classes: Enum with example: obj = LowerBounding(int_val)