def ffttruncate(ft, axis):
    """Truncates the FFTd data along the particular axis
    
    :param ft: multiple dimension array with at least one dimension FFT'd
    :type ft: numpy array
    
    :param axis: axis to truncate
    :type axis: list
    
    :return: Truncated data
    :rtype: numpy array
    
    This function shifts (rolls) the data along the correct axis, calculates a slice range
    which is either (N-1)/2 or N/2-1.
    
    """
    d = []
    for i in range(ft.ndim):
        d.append(slice(None, None, None))
    n = ft.shape[axis]
    x = (n + 1) / 2
    d[axis] = slice(None, x, None)
    return ft[d]
