заполнение массивов с использованием NumPy - PullRequest
4 голосов
/ 08 октября 2011

в моей программе у меня есть массив numpy и я делаю на нем некоторую сверточную фильтрацию. Я ищу какой-нибудь способ сделать заполнение массива (а затем распаковывать для вывода) легко, используя Numpy, чтобы избежать проверки границы. я знаю, что Сципи может сделать свертку, но у меня есть причины сделать это самому. gnuplot.py используется для вывода.

def touch(field, coords, value):
    field[coords[0], coords[1]] = value
    if coords[0] - 1 > 0:
        field[coords[0] - 1, coords[1]] = value / 2
    if coords[1] - 1 > 0:
        field[coords[0], coords[1] - 1] = value / 2
    if coords[0] < field.shape[0] - 1:
        field[coords[0] + 1, coords[1]] = value / 2
    if coords[1] < field.shape[1] - 1:
        field[coords[0], coords[1] + 1] = value / 2

1 Ответ

6 голосов
/ 08 октября 2011

Для Numpy 1.7.0 запланирован модуль pad, см. этот билет . А пока просто скачайте его и используйте функцию with_constant.

Распаковка так же проста, как field[1:-1, 1:-1].

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