Extract the channel angle from the rfft

    Parameters:
    -----------
    im: 2d array
        The channel image
    chanapproxangle: number, optional
        If not None, an approximation of the result
    isshiftdftedge: boolean, default False
        If The image has already been treated:
        (edge, dft, fftshift), set to True
    truesize: 2 numbers, required if isshiftdftedge is True
        The true size of the image

    Returns:
    --------
    angle: number
        The channel angle

def channel_angle(im, chanapproxangle=None, *, isshiftdftedge=False,
                  truesize=None):
    """Extract the channel angle from the rfft

    Parameters:
    -----------
    im: 2d array
        The channel image
    chanapproxangle: number, optional
        If not None, an approximation of the result
    isshiftdftedge: boolean, default False
        If The image has already been treated:
        (edge, dft, fftshift), set to True
    truesize: 2 numbers, required if isshiftdftedge is True
        The true size of the image

    Returns:
    --------
    angle: number
        The channel angle


    """
    im = np.asarray(im)
    # Compute edge
    if not isshiftdftedge:
        im = edge(im)
    return reg.orientation_angle(im, isshiftdft=isshiftdftedge,
                                 approxangle=chanapproxangle,
                                 truesize=truesize)