Мне нужна некоторая концептуальная помощь для моего приложения Qt.
У меня есть программа, которая получает данные изображения от 12 аналоговых цифровых преобразователей (АЦП — они оцифровывают сигнал 12 детекторов в электронном микроскопе). Я показываю эти изображения в прямом эфире в моем приложении. Теперь я хочу дать пользователю возможность применять математические операции к сигналам очень гибко, сохраняя при этом отображение в реальном времени.
Поэтому я рассматриваю возможность реализации алгоритма маневрового двора. Моя идея заключается в том, что пользователь вводит / смешивает сигналы в текстовом поле, как ему / ей нравится. Например, если требуется сумма четырех сигналов АЦП, пользователь просто вводит
"ADC01 + ADC02 + ADC03 + ADC04"
Я понимаю, как применить алгоритм для получения польской нотации Postfix, а также как оценить такое выражение. Однако этот подход кажется слишком медленным, чтобы применять его к текущим значениям 8x256x256 (восемь квадратных изображений, к сожалению, все значения необходимо обновлять одновременно). Конечно, преобразование Postfix нужно сделать только один раз, но вставка моих переменных и оценка мне кажется гораздо более дорогостоящей, чем просто написание
uint valToDisp = ADC[1]+ADC[2]+ADC[3]+ADC[4];
в коде.
Можете ли вы придумать какой-нибудь способ сделать такое с хорошей производительностью? Я подумал о том, чтобы создать какую-то динамическую функцию из постфикса, но я не уверен, как реализовать что-то подобное в C ++.
Задача ещё не решена.
Других решений пока нет …