радиальная шахматная доска в логарифмическом масштабе с психопией радиалстим

Я пытаюсь создать стимул радиальной шахматной доски, используя радиальный стимул психопии, где ширина каждого «кольца» увеличивается по мере увеличения эксцентриситета. Очень легко сделать радиальную шахматную доску с кольцами одинаковой ширины. Я просто создаю объектradialStim и использую значение по умолчанию tex = 'sqrXsqr'. Это создает что-то похожее на это:

кольца одинаковой ширины

Но я хочу отобразить что-то похожее на это (игнорируя цвет и тот факт, что это клин):

кольца расширяющейся ширины

Судя по документации и форуму по психотипам, для того, чтобы получить радиальную шахматную доску, которую я хочу, мне нужно будет создать текстуру с нуля, представляющую ее. Текстура определяется как массив NXN из 1, 0 и -1. 1 представляют собой белые пятна, -1 представляют собой черные пятна, а 0 представляют серые (не шахматные) пятна. Как лучше всего создать эту текстуру? Я нашел несколько практических советов по созданию текстуры шахматной доски «равной ширины кольца» с нуля, но я еще не нашел онлайн-ресурс для создания текстуры, которую я хочу сделать.

Я ценю любую помощь в этом, спасибо.


person Andy S    schedule 31.03.2016    source источник
comment
Вам нужно будет более конкретно указать, что вы подразумеваете под увеличением ширины каждого кольца по мере увеличения эксцентриситета. Только когда это можно будет выразить в математических терминах, вы получите полезный ответ. Найдите в дистрибутиве PsychoPy файл basevisual.py. В его методе _createtexture() вы увидите множество примеров создания текстур. Думаю, вы захотите создать вариант sqrXsqr. Онлайн это (в настоящее время) на github.com/psychopy. /versions/blob/master/psychopy/visual/.   -  person Michael MacAskill    schedule 31.03.2016
comment
Вы увидите, что текстура sqrXsqr создается путем дискретизации синусоиды следующим образом: intensity = numpy.where(sinusoid > 0, 1, -1) Таким образом, вы можете создать эквивалент, создав синусоиду, где частота уменьшается, а не остается постоянной. например проверьте уравнение для частотной модуляции здесь: волна с увеличением амплитуды и частоты с течением времени"> stackoverflow.com/questions/26921544/   -  person Michael MacAskill    schedule 31.03.2016
comment
Это было чрезвычайно полезно. Спасибо, Михаил, теперь я понимаю, как это сделать. Кроме того, это ответило на другой вопрос, который у меня был, который заключался в том, что при подаче radiostim текстуры, которая уже была круглой (а не квадратной шахматной доской), текстура выглядела полностью деформированной. Я не знал, что для radioStim требуется текстура квадратной шахматной доски, и он внутренне деформирует ее в радиальную шахматную доску.   -  person Andy S    schedule 31.03.2016