visoptslider

Qt-based implementation of VisOpt Slider widget [UIST 2014] for C++ & Python

MIT License

Downloads
154
Stars
12
Committers
1

VisOpt Slider

Qt-based implementation of VisOpt Slider widget [UIST 2014]

If your applications are based on Qt (PySide2), it is quite easy to integrate a VisOpt Slider widget into your applications.

Features

VisOpt Slider is a GUI widget consisting of multiple sliders. It is specifically designed for interactive exploration of a high-dimensional scalar-valued function. It has the following special features.

  • Visualization: VisOpt Slider visualizes the values of the target function along with the sliders in the interface using a colormap.
  • Optimization: Not available yet. Please refer to the original paper (Koyama et al. 2014) and its extended version (Koyama et al. 2016).

Install

This package can be install via pip:

pip install visoptslider

By this, the dependencies (matplotlib, numpy, PySide2, and their dependencies) will be automatically installed together.

Example

from PySide2.QtWidgets import QApplication
import numpy as np
import visoptslider

if __name__ == "__main__":
    app = QApplication()

    # Define a target function
    num_dimensions = 3
    def target_function(x):
        return 1.0 - np.linalg.norm(x)

    # Define a target bound
    upper_bound = np.array([+1.0, +1.0, +1.0])
    lower_bound = np.array([-1.0, -1.0, -1.0])
    maximum_value = 1.0
    minimum_value = 0.0

    # Instantiate and initialize VisOpt Slider
    sliders_widget = visoptslider.SlidersWidget()
    sliders_widget.initialize(num_dimensions=num_dimensions,
                              target_function=target_function,
                              upper_bound=upper_bound,
                              lower_bound=lower_bound,
                              maximum_value=maximum_value,
                              minimum_value=minimum_value)

    # Show VisOpt Sliders
    sliders_widget.show()

    app.exec_()

See https://github.com/yuki-koyama/visoptslider/tree/master/python_tests for more detailed examples.

References

Package Rankings
Top 19.44% on Pypi.org