-
Notifications
You must be signed in to change notification settings - Fork 5
live tweaking
Alexandre Marcireau edited this page Oct 14, 2019
·
6 revisions
example files: examples/live_tweaking
You can either create a similar directory and install the Sepia, Tarsier and Chameleon dependencies as in the basics tutorials, or run:
git clone https://github.com/neuromorphic-paris/tutorials
cd tutorials/examples/live_tweaking
git submodule update --init --recursive -- third_party/sepia
git submodule update --init --recursive -- third_party/tarsier
git submodule update --init --recursive -- third_party/chameleon
premake4 gmake
cd build
make && release/live_tweaking
While developing an algorithm, it can be useful to manually tweak its parameters in real-time. This behavior can be implemented using:
- a Qt Quick Control 2 element, such as a Slider, a Dial, a CheckBox...
- a
QQmlPropertyMap
to create a bridge between QML and C++ - an event-handler using parameters with the
std::atomic&
type - a lambda function to update the atomic parameters when the
QQmlPropertyMap
changes
This example uses these components to implement a tweakable denoiser. It makes use of a mask_isolated event handler with a std::atomic<uint64_t>&
time window, unlike the original mask_isolated provided by the Tarsier library.
Note that some Qt Quick Control 1 elements are not compatible with the OpenGL version used by the Chameleon displays. Qt Quick Control 2 element should be preferred.