2016-04-26 1 views
3

Контекст: Я оцениваю библиотеки для соответствия стерео. Они почти повсеместно вообще не работают, пока вы не получите правильную последовательность параметров, зависящих от алгоритма.Инструмент для интерактивного исследования параметров функции

Есть ли какой-либо хорошо обобщенный инструмент, чтобы сделать процесс ручной настройки десятков параметров плохо документированной C++-функцией до тех пор, пока она не станет менее болезненной?

Я ищу что-то вроде комбинации SWIG и инфраструктуры динамического перенастроения от ROS, где вы указываете ее на чистую C++-функцию, и она генерирует простой gui с ползунками, флажками и т. Д. ... для значений входов и вызывает функцию over-and-over, чтобы вы могли настраивать параметры в интерактивном режиме.

+0

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

+0

Обновление: чтение о guidata/guiqwt, traits/traits-ui/chaco ... запуск моего собственного инструмента может быть доступным с помощью этих библиотек ... –

+0

Мне не удалось получить обновление окон и графики для работы с guidata + matplotlib, что-то всегда кажется запертым или не обновляющимся независимо от того, что я делаю. Попробуем черты enthought/chaco stuff next ... –

ответ

0

Похоже, что ROS's dynamic_reconfigure с графическим интерфейсом rqt_reconfigure может быть близким к тому, что вы ищете. После того, как вы укажете параметры, которые хотите изменить, GUI будет генерировать ползунки/переключатели/поля/и т. Д. изменить параметры на лета:

enter image description here

Вам все еще нужно явно добавить отображение из паров ROS параметра алгоритма (и обновление алгоритма в dynamic_reconfigure обратного вызова), но, ваши параметры хранятся в сервер параметр РОС может быть полезным в долгосрочной перспективе:

  • параметры могут быть под контролем версий очень легко (хранится в виде файла YAML).
  • Вы можете сохранить все параметры, как только найдете подходящее решение (rosparam dump)
  • вы можете иметь разные «версии» параметров для разных приложений.
  • другие узлы могут считывать параметры, если это необходимо