def get_method(name):
    """
    Return a callable function for the optical flow method corresponding to
    the given name. The available options are:\n

    +--------------------------------------------------------------------------+
    | Python-based implementations                                             |
    +-------------------+------------------------------------------------------+
    |     Name          |              Description                             |
    +===================+======================================================+
    |  None             | returns a zero motion field                          |
    +-------------------+------------------------------------------------------+
    |  constant         | constant advection field estimated by maximizing the |
    |                   | correlation between two images                       |
    +-------------------+------------------------------------------------------+
    |  darts            | implementation of the DARTS method of Ruzanski et    |
    |                   | al. (2011)                                           |
    +-------------------+------------------------------------------------------+
    |  lucaskanade      | OpenCV implementation of the Lucas-Kanade method     |
    |                   | with interpolated motion vectors for areas with no   |
    |                   | precipitation                                        |
    +-------------------+------------------------------------------------------+
    |  proesmans        | the anisotropic diffusion method of Proesmans et     |
    |                   | al. (1994)                                           |
    +-------------------+------------------------------------------------------+
    |  vet              | implementation of the VET method of                  |
    |                   | Laroche and Zawadzki (1995) and                      |
    |                   | Germann and Zawadzki (2002)                          |
    +-------------------+------------------------------------------------------+

    +--------------------------------------------------------------------------+
    | Methods implemented in C (these require separate compilation and linkage)|
    +-------------------+------------------------------------------------------+
    |     Name          |              Description                             |
    +===================+======================================================+
    |  brox             | implementation of the variational method of          |
    |                   | Brox et al. (2004) from IPOL                         |
    |                   | (http://www.ipol.im/pub/art/2013/21)                 |
    +-------------------+------------------------------------------------------+
    |  clg              | implementation of the Combined Local-Global (CLG)    |
    |                   | method of Bruhn et al., 2005 from IPOL               |
    |                   | (http://www.ipol.im/pub/art/2015/44)                 |
    +-------------------+------------------------------------------------------+

    """

    if isinstance(name, str):
        name = name.lower()

    if name in ["brox", "clg"]:
        raise NotImplementedError("Method %s not implemented" % name)
    else:
        try:
            motion_method = _methods[name]
            return motion_method
        except KeyError:
            raise ValueError(
                "Unknown method {}\n".format(name)
                + "The available methods are:"
                + str(list(_methods.keys()))
            ) from None
Return a callable function for the optical flow method corresponding to
the given name. The available options are:\n

+--------------------------------------------------------------------------+
| Python-based implementations                                             |
+-------------------+------------------------------------------------------+
|     Name          |              Description                             |
+===================+======================================================+
|  None             | returns a zero motion field                          |
+-------------------+------------------------------------------------------+
|  constant         | constant advection field estimated by maximizing the |
|                   | correlation between two images                       |
+-------------------+------------------------------------------------------+
|  darts            | implementation of the DARTS method of Ruzanski et    |
|                   | al. (2011)                                           |
+-------------------+------------------------------------------------------+
|  lucaskanade      | OpenCV implementation of the Lucas-Kanade method     |
|                   | with interpolated motion vectors for areas with no   |
|                   | precipitation                                        |
+-------------------+------------------------------------------------------+
|  proesmans        | the anisotropic diffusion method of Proesmans et     |
|                   | al. (1994)                                           |
+-------------------+------------------------------------------------------+
|  vet              | implementation of the VET method of                  |
|                   | Laroche and Zawadzki (1995) and                      |
|                   | Germann and Zawadzki (2002)                          |
+-------------------+------------------------------------------------------+

+--------------------------------------------------------------------------+
| Methods implemented in C (these require separate compilation and linkage)|
+-------------------+------------------------------------------------------+
|     Name          |              Description                             |
+===================+======================================================+
|  brox             | implementation of the variational method of          |
|                   | Brox et al. (2004) from IPOL                         |
|                   | (http://www.ipol.im/pub/art/2013/21)                 |
+-------------------+------------------------------------------------------+
|  clg              | implementation of the Combined Local-Global (CLG)    |
|                   | method of Bruhn et al., 2005 from IPOL               |
|                   | (http://www.ipol.im/pub/art/2015/44)                 |
+-------------------+------------------------------------------------------+
pysteps/motion/interface.py