def METHOD_NAME(
    self,
    x,
    y,
    tangential_stretch,
    radial_stretch,
    curvature,
    direction,
    gamma1,
    gamma2,
    center_x,
    center_y,
):
    """
    :param x:
    :param y:
    :param tangential_stretch: float, stretch of intrinsic source in tangential direction
    :param radial_stretch: float, stretch of intrinsic source in radial direction
    :param curvature: 1/curvature radius
    :param direction: float, angle in radian
    :param gamma1: non-linear reduced shear distortion in the source plane
    :param gamma2: non-linear reduced shear distortion in the source plane
    :param center_x: center of source in image plane
    :param center_y: center of source in image plane
    :return:
    """
    # computed regular curved arc deflection
    f_x_c, f_y_c = self._curve.METHOD_NAME(
        x,
        y,
        tangential_stretch,
        radial_stretch,
        curvature,
        direction,
        center_x,
        center_y,
    )
    # map to source plane coordinate system
    beta_x, beta_y = x - f_x_c, y - f_y_c
    # distort source plane coordinate system around (center_x, center_y)
    f_x_b, f_y_b = self._distort.METHOD_NAME(
        beta_x, beta_y, gamma1, gamma2, ra_0=center_x, dec_0=center_y
    )
    beta_x_, beta_y_ = beta_x - f_x_b, beta_y - f_y_b
    # compute total deflection between initial coordinate and final source coordinate to match lens equation
    # beta = theta - alpha
    f_x, f_y = x - beta_x_, y - beta_y_
    return f_x, f_y