Exemplo n.º 1
0
def fourier_shift(input, shift, n = -1, axis = -1, output = None):
    """
    Multi-dimensional fourier shift filter.

    The array is multiplied with the fourier transform of a shift operation.

    Parameters
    ----------
    input : array_like
        The input array.
    shift : float or sequence
        The size of the box used for filtering.
        If a float, `shift` is the same for all axes. If a sequence, `shift`
        has to contain one value for each axis.
    n : int, optional
        If `n` is negative (default), then the input is assumed to be the
        result of a complex fft.
        If `n` is larger than or equal to zero, the input is assumed to be the
        result of a real fft, and `n` gives the length of the array before
        transformation along the real transform direction.
    axis : int, optional
        The axis of the real transform.
    output : ndarray, optional
        If given, the result of shifting the input is placed in this array.
        None is returned in this case.

    Returns
    -------
    return_value : ndarray or None
        The shifted input. If `output` is given as a parameter, None is
        returned.

    """
    input = numpy.asarray(input)
    output, return_value = _get_output_fourier_complex(output, input)
    axis = _ni_support._check_axis(axis, input.ndim)
    shifts = _ni_support._normalize_sequence(shift, input.ndim)
    shifts = numpy.asarray(shifts, dtype = numpy.float64)
    if not shifts.flags.contiguous:
        shifts = shifts.copy()
    _nd_image.fourier_shift(input, shifts, n, axis, output)
    return return_value
Exemplo n.º 2
0
def fourier_shift(input, shift, n=-1, axis=-1, output=None):
    """
    Multi-dimensional fourier shift filter.

    The array is multiplied with the fourier transform of a shift operation.

    Parameters
    ----------
    input : array_like
        The input array.
    shift : float or sequence
        The size of the box used for filtering.
        If a float, `shift` is the same for all axes. If a sequence, `shift`
        has to contain one value for each axis.
    n : int, optional
        If `n` is negative (default), then the input is assumed to be the
        result of a complex fft.
        If `n` is larger than or equal to zero, the input is assumed to be the
        result of a real fft, and `n` gives the length of the array before
        transformation along the real transform direction.
    axis : int, optional
        The axis of the real transform.
    output : ndarray, optional
        If given, the result of shifting the input is placed in this array.
        None is returned in this case.

    Returns
    -------
    return_value : ndarray or None
        The shifted input. If `output` is given as a parameter, None is
        returned.

    """
    input = numpy.asarray(input)
    output, return_value = _get_output_fourier_complex(output, input)
    axis = _ni_support._check_axis(axis, input.ndim)
    shifts = _ni_support._normalize_sequence(shift, input.ndim)
    shifts = numpy.asarray(shifts, dtype=numpy.float64)
    if not shifts.flags.contiguous:
        shifts = shifts.copy()
    _nd_image.fourier_shift(input, shifts, n, axis, output)
    return return_value
Exemplo n.º 3
0
def fourier_shift(input, shift, n = -1, axis = -1, output = None):
    """Multi-dimensional fourier shift filter.

    The array is multiplied with the fourier transform of a shift operation
    If the parameter n is negative, then the input is assumed to be the
    result of a complex fft. If n is larger or equal to zero, the input is
    assumed to be the result of a real fft, and n gives the length of the
    of the array before transformation along the the real transform
    direction. The axis of the real transform is given by the axis
    parameter.
     """
    input = numpy.asarray(input)
    output, return_value = _get_output_fourier_complex(output, input)
    axis = _ni_support._check_axis(axis, input.ndim)
    shifts = _ni_support._normalize_sequence(shift, input.ndim)
    shifts = numpy.asarray(shifts, dtype = numpy.float64)
    if not shifts.flags.contiguous:
        shifts = shifts.copy()
    _nd_image.fourier_shift(input, shifts, n, axis, output)
    return return_value
Exemplo n.º 4
0
def fourier_shift(input, shift, n=-1, axis=-1, output=None):
    """Multi-dimensional fourier shift filter.

    The array is multiplied with the fourier transform of a shift operation
    If the parameter n is negative, then the input is assumed to be the
    result of a complex fft. If n is larger or equal to zero, the input is
    assumed to be the result of a real fft, and n gives the length of the
    of the array before transformation along the the real transform
    direction. The axis of the real transform is given by the axis
    parameter.
     """
    input = numpy.asarray(input)
    output, return_value = _get_output_fourier_complex(output, input)
    axis = _ni_support._check_axis(axis, input.ndim)
    shifts = _ni_support._normalize_sequence(shift, input.ndim)
    shifts = numpy.asarray(shifts, dtype=numpy.float64)
    if not shifts.flags.contiguous:
        shifts = shifts.copy()
    _nd_image.fourier_shift(input, shifts, n, axis, output)
    return return_value