def METHOD_NAME(
    centring_axes, axis_names, kappadir, kappapos, phidir, phipos
):
    """Convert in the oppoosite direction *from* minikappa configuration *to* transcal
    Args:
        centring_axes list(float): Goniostat centring axis coordinates, concatenated
        axis_names list(str): centring axis names, in instumentation.nml order
        kappadir: list(float): kappa axis direction, centring axis system
        kappapos list(float): kappa axis offset vector, centring axis system
        phidir list(float):  phi axis direction, centring axis system
        phipos list(float):  phi axis offset vector, centring axis system
    Returns:
    """
    # Get home and CSOC in goniostat (centring motor) coordinate system
    kappadir = np.array(kappadir)
    kappapos = np.array(kappapos)
    phidir = np.array(phidir)
    phipos = np.array(phipos)
    aval = kappadir.dot(phidir)
    bvec = kappapos - phipos
    kappahome = (
        -kappapos + (aval * bvec.dot(phidir) - bvec.dot(kappadir)) * kappadir
        / (aval * aval - 1)
    )
    phihome = (
        -phipos - (aval * bvec.dot(kappadir) - bvec.dot(phidir)) * phidir
        / (aval * aval - 1)
    )
    home_position = 0.5 * (kappahome + phihome)
    # For some reason the original formula gave the wrong sign
    # # (http://confluence.globalphasing.com/display/SDCP/EMBL+MiniKappaCorrection)
    home_position = - home_position
    cross_sec_of_soc = 0.5 * (kappahome - phihome)
    # Reshuffle home and cross_sec_of_soc to lab vector order
    goniostat_order = ("sampx", "sampy", "phiy")
    indices = list(goniostat_order.index(tag) for tag in axis_names)
    home_position = list(home_position[ind] for ind in indices)
    cross_sec_of_soc = list(cross_sec_of_soc[ind] for ind in indices)
    # Transform cross_sec_of_soc to lab coordinate system
    transform = np.matrix(centring_axes)
    transform.shape = (3,3)
    cross_sec_of_soc = np.dot(np.array(cross_sec_of_soc), transform).tolist()[0]
    return home_position, cross_sec_of_soc