当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy ndimage.rank_filter用法及代码示例


本文简要介绍 python 语言中 scipy.ndimage.rank_filter 的用法。

用法:

scipy.ndimage.rank_filter(input, rank, size=None, footprint=None, output=None, mode='reflect', cval=0.0, origin=0, *, axes=None)#

计算多维秩过滤器。

参数

input array_like

输入数组。

rank int

rank 参数可能小于零,即 rank = -1 表示最大元素。

size 标量或元组,可选

请参见下面的足迹。如果给出足迹,则忽略。

footprint 数组,可选

任何一个尺寸或者脚印必须定义。尺寸给出在每个元素位置从输入数组中获取的形状,以定义过滤器函数的输入.脚印是一个布尔数组,它(隐式)指定一个形状,而且这个形状中的哪些元素将被传递给过滤器函数。因此size=(n,m)相当于footprint=np.ones((n,m)).我们调整尺寸到输入数组的维数,因此,如果输入数组是形状(10,10,10),并且尺寸为 2,则实际使用的大小为 (2,2,2)。什么时候脚印给出,尺寸被忽略。

output 数组或数据类型,可选

放置输出的数组,或返回数组的 dtype。默认情况下,将创建一个与输入具有相同 dtype 的数组。

mode {‘reflect’, ‘constant’, ‘nearest’, ‘mirror’, ‘wrap’},可选

mode 参数确定输入数组如何扩展到其边界之外。默认为‘reflect’。每个有效值的行为如下:

‘reflect’ (d c b a | a b c d | d c b a)

通过反射最后一个像素的边来扩展输入。此模式有时也称为half-sample 对称模式。

‘constant’ (k k k k | a b c d |呸呸呸呸)

通过使用 cval 参数定义的相同常量值填充边之外的所有值来扩展输入。

‘nearest’ (啊啊啊啊| a b c d |嘀嘀嘀嘀)

通过复制最后一个像素来扩展输入。

‘mirror’ (d c b | a b c d | c b a)

通过反射最后一个像素的中心来扩展输入。此模式有时也称为whole-sample 对称模式。

‘wrap’ (a b c d | a b c d | A B C D)

通过环绕到相对边来扩展输入。

为了与插值函数保持一致,还可以使用以下模式名称:

‘grid-mirror’

这是‘reflect’ 的同义词。

‘grid-constant’

这是‘constant’ 的同义词。

‘grid-wrap’

这是‘wrap’ 的同义词。

cval 标量,可选

如果模式为‘constant’,则填充过去输入边的值。默认值为 0.0。

origin int 或序列,可选

控制过滤器在输入数组像素上的位置。值 0(默认值)使过滤器以像素为中心,正值将过滤器向左移动,负值向右移动。通过传递长度等于输入数组维数的原点序列,可以沿每个轴指定不同的移位。

axes int 或 None 的元组,可选

如果无,则沿所有轴过滤输入。否则,将沿指定轴过滤输入。

返回

rank_filter ndarray

过滤数组。具有与输入相同的形状。

例子

>>> from scipy import ndimage, datasets
>>> import matplotlib.pyplot as plt
>>> fig = plt.figure()
>>> plt.gray()  # show the filtered result in grayscale
>>> ax1 = fig.add_subplot(121)  # left side
>>> ax2 = fig.add_subplot(122)  # right side
>>> ascent = datasets.ascent()
>>> result = ndimage.rank_filter(ascent, rank=42, size=20)
>>> ax1.imshow(ascent)
>>> ax2.imshow(result)
>>> plt.show()
scipy-ndimage-rank_filter-1.png

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.ndimage.rank_filter。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。