Для эффективности замените 2D-отображение на numpy ufun c - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть массив отображения, который принимает значение в качестве индекса и сопоставляет его с предварительно вычисленным значением

Например: mapping [255] = 7

Задача, которую я хочу выполнить выполните следующие действия:

width, height = ni.shape
for x in range(width):
    for y in range(height):
        NI_mapped[x][y] = mapping[ni[x][y]]
        RD_mapped[x][y] = mapping[rd[x][y]]

Чтобы получить контекст, ni и rd - это изображения, загруженные в виде ndarrays с целочисленными значениями.

Я хочу ускорить эту операцию с помощью numpy ufuncs или другого метод, позволяющий избежать двух циклов for.

Я понимаю, что если бы я использовал функцию отображения, я мог бы просто сделать NI_mapped = ni.vectorize(myfunc), однако в этом случае myfunc, из которого сопоставление Вывод дорогой, так что это не практично.

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