Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yuki-koyama/visoptslider
Qt-based implementation of VisOpt Slider widget [UIST 2014] for C++ & Python
https://github.com/yuki-koyama/visoptslider
cpp python qt slider visualization widget
Last synced: 4 months ago
JSON representation
Qt-based implementation of VisOpt Slider widget [UIST 2014] for C++ & Python
- Host: GitHub
- URL: https://github.com/yuki-koyama/visoptslider
- Owner: yuki-koyama
- License: mit
- Created: 2019-01-21T08:24:51.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-10-12T13:11:26.000Z (over 5 years ago)
- Last Synced: 2024-09-29T07:42:39.854Z (4 months ago)
- Topics: cpp, python, qt, slider, visualization, widget
- Language: C++
- Homepage:
- Size: 1.44 MB
- Stars: 12
- Watchers: 2
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: README.PyPI.md
- License: LICENSE
Awesome Lists containing this project
README
# VisOpt Slider
![GitHub](https://img.shields.io/github/license/yuki-koyama/visoptslider.svg)
![PyPI](https://img.shields.io/pypi/v/visoptslider.svg)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)](https://koyama.xyz/project/CrowdPoweredAnalysis/) and its extended version [(Koyama et al. 2016)](https://koyama.xyz/project/SelPh/).## 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
```python
from PySide2.QtWidgets import QApplication
import numpy as np
import visoptsliderif __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 for more detailed examples.## References
- Yuki Koyama, Daisuke Sakamoto, and Takeo Igarashi. 2014. __Crowd-Powered Parameter Analysis for Visual Design Exploration__. In _Proceedings of the 27th annual ACM symposium on User interface software and technology_ (UIST '14), pp.65-74. DOI:
- Project page:
- Yuki Koyama, Daisuke Sakamoto, and Takeo Igarashi. 2016. __SelPh: Progressive Learning and Support of Manual Photo Color Enhancement__. In _Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems_ (CHI '16), pp.2520--2532. DOI:
- Project page: