class_docstr: An abstract base class for a proximal operator
  
  Parameters
  ----------
  range : `tuple` of two `int`, default=`None`
      Range on which the prox is applied
  
  Attributes
  ----------
  dtype : `{'float64', 'float32'}`
      Type of the arrays used.
code: def range(self, val):
      if val is not None:
          if len(val) != 2:
              raise ValueError(
                  "``range`` must be a tuple with 2 " "elements"
              )
          if val[0] >= val[1]:
              raise ValueError(
                  "first element must be smaller than "
                  "second element in ``range``"
              )
          self._set("_range", val)
          _prox = self._prox
          if _prox is not None:
              _prox.set_start_end(val[0], val[1])
  
file_path: tick/tick/prox/base/prox.py
imports: import numpy
  from abc import ABC, abstractmethod
  from tick.base import Base
label_desc: Use image node_id 3 for calling the Prox obj's underlying member method code with example usage: obj.range(val) without return types