scipy.ndimage.

зум#

scipy.ndimage.зум(входные данные, зум, вывод=None, порядок=3, mode='constant', cval=0.0, prefilter=True, *, grid_mode=False)[источник]#

Увеличить массив.

Массив масштабируется с использованием сплайн-интерполяции указанного порядка.

Параметры:
входные данныеarray_like

Входной массив.

зумfloat или последовательность

Коэффициент масштабирования по осям. Если float, zoom одинаково для каждой оси. Если последовательность, zoom должен содержать одно значение для каждой оси.

выводмассив или dtype, опционально

Массив, в который будет помещен результат, или тип данных возвращаемого массива. По умолчанию будет создан массив того же типа данных, что и входной.

порядокint, необязательный

Порядок сплайн-интерполяции, по умолчанию 3. Порядок должен быть в диапазоне 0-5.

mode{‘reflect’, ‘grid-mirror’, ‘constant’, ‘grid-constant’, ‘nearest’, ‘mirror’, ‘grid-wrap’, ‘wrap’}, опционально

The mode параметр определяет, как входной массив расширяется за пределы его границ. По умолчанию 'constant'. Поведение для каждого допустимого значения следующее (см. дополнительные графики и детали на граничные режимы):

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

Входные данные расширяются путем отражения относительно края последнего пикселя. Этот режим также иногда называют полувыборочной симметрией.

'grid-mirror'

Это синоним для 'reflect'.

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

Входные данные расширяются путем заполнения всех значений за границей одним и тем же постоянным значением, определенным cval параметр. Никакая интерполяция не выполняется за пределами границ ввода.

‘grid-constant’ (k k k k | a b c d | k k k k)

Входные данные расширяются путем заполнения всех значений за границей одним и тем же постоянным значением, определенным cval параметр. Интерполяция происходит и для выборок за пределами области входных данных.

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

Входные данные расширяются путём репликации последнего пикселя.

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

Входные данные расширяются путем отражения относительно центра последнего пикселя. Этот режим также иногда называют симметрией целого образца.

‘grid-wrap’ (a b c d | a b c d | a b c d)

Входные данные расширяются путём обёртывания вокруг противоположного края.

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

Входные данные расширяются за счёт зацикливания на противоположный край, но таким образом, что последняя точка и начальная точка точно перекрываются. В этом случае не определено, какой образец будет выбран в точке перекрытия.

cvalскаляр, опционально

Значение для заполнения за краями ввода, если mode равно 'constant'. По умолчанию равно 0.0.

prefilterbool, необязательно

Определяет, предварительно ли отфильтрован входной массив с помощью spline_filter перед интерполяцией. По умолчанию True, что создаст временный float64 массив отфильтрованных значений, если order > 1. Если установить это значение в False, вывод будет слегка размыт, если order > 1, если только входные данные не предварительно отфильтрованы, т.е. они являются результатом вызова spline_filter на исходных входных данных.

grid_modebool, необязательно

Если False, расстояние от центров пикселей масштабируется. В противном случае используется расстояние, включающее полный размер пикселя. Например, одномерный сигнал длиной 5 считается имеющим длину 4, когда grid_mode равно False, но длина 5, когда grid_mode равно True. См. следующую визуальную иллюстрацию:

| pixel 1 | pixel 2 | pixel 3 | pixel 4 | pixel 5 |
     |<-------------------------------------->|
                        vs.
|<----------------------------------------------->|

Начальная точка стрелки на диаграмме выше соответствует координате 0 в каждом режиме.

Возвращает:
зумndarray

Увеличенный вход.

Примечания

Для комплекснозначных входные данные, эта функция масштабирует действительную и мнимую части независимо.

Добавлено в версии 1.6.0: Добавлена поддержка комплексных значений.

Примеры

>>> from scipy import ndimage, datasets
>>> import matplotlib.pyplot as plt
>>> fig = plt.figure()
>>> ax1 = fig.add_subplot(121)  # left side
>>> ax2 = fig.add_subplot(122)  # right side
>>> ascent = datasets.ascent()
>>> result = ndimage.zoom(ascent, 3.0)
>>> ax1.imshow(ascent, vmin=0, vmax=255)
>>> ax2.imshow(result, vmin=0, vmax=255)
>>> plt.show()
../../_images/scipy-ndimage-zoom-1_00_00.png
>>> print(ascent.shape)
(512, 512)
>>> print(result.shape)
(1536, 1536)