2015-08-08 2 views
-1

В основном я рисую изображение, и рисунки, которые я беру, иногда могут содержать элементы, которые не помещаются внутри массива, который я нажимаю на экран. Я попытался использовать numpy.clip на массивах, прежде чем добавлять их в свой основной массив, но это кажется слишком медленным, чтобы быть приемлемым.Остановка исключений из диапазона для Numpy

Есть ли способ отключить исключения (элементы, находящиеся за пределами диапазона, вообще не важны и могут быть безопасно потеряны)? Обратите внимание, что я не думаю, что я могу просто поймать исключение, поскольку это, кажется, останавливает рисунок в этой точке, что означает, что любые строки ниже того, который содержит элемент вне экрана, будут просто потеряны, и это неприемлемо.

Чтобы уточнить, у меня есть массив, представляющий вывод на экран, который соответствует разрешению начального окна. Это ширина x высота, и каждый элемент указывает цвет на этом пикселе. Я использую модифицированную версию scikit-image для создания кругов. Эти круги могут содержать точки, которые находятся за пределами экрана, но я рисую их так часто, что не могу позволить себе время (по крайней мере, с numpy.clip), необходимое для очистки любых элементов из массива, которые находятся за пределами экран.

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

+2

Сложно сказать, что вы задаете в этом вопросе. Одна вещь, которая обычно помогает _a lot_, добавляет фрагмент кода, показывающий, что вы сделали, а затем быстрое объяснение того, что вы хотите. – mgilson

+2

Привет. Вы получите гораздо лучшую помощь по этой проблеме, если вы можете предоставить [минимальный, полный и проверяемый пример] (http://stackoverflow.com/help/mcve). Без этого трудно посоветовать, что возможно или хорошо для вашей ситуации –

ответ

1

Я определенно должен был заглянуть в scikit-image дальше, прежде чем спросить об этом, есть встроенная опция для указания формы массива, на которую будет нарисован круг, на который будут останавливаться эти исключения. Прошу прощения за то, что я не проводил достаточно исследований, прежде чем публиковать это, я только что взволновался и решил спросить здесь.

Для тех, кто мог бы делать что-то подобное в будущем, функция формы рисования scikit имеет необязательный параметр,

форма: кортеж, опциональный

форма

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

Смежные вопросы