{ "info": { "author": "Yuki Koyama", "author_email": "yuki@koyama.xyz", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3" ], "description": "# VisOpt Slider\n\n![GitHub](https://img.shields.io/github/license/yuki-koyama/visoptslider.svg)\n![PyPI](https://img.shields.io/pypi/v/visoptslider.svg)\n\nQt-based implementation of VisOpt Slider widget [UIST 2014]\n\nIf your applications are based on Qt (PySide2), it is quite easy to integrate a VisOpt Slider widget into your applications.\n\n## Features\n\nVisOpt 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.\n\n- __Visualization__: VisOpt Slider visualizes the values of the target function along with the sliders in the interface using a colormap.\n- __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/).\n\n## Install\n\nThis package can be install via `pip`:\n```\npip install visoptslider\n```\nBy this, the dependencies (`matplotlib`, `numpy`, `PySide2`, and their dependencies) will be automatically installed together.\n\n## Example\n\n```python\nfrom PySide2.QtWidgets import QApplication\nimport numpy as np\nimport visoptslider\n\nif __name__ == \"__main__\":\n app = QApplication()\n\n # Define a target function\n num_dimensions = 3\n def target_function(x):\n return 1.0 - np.linalg.norm(x)\n\n # Define a target bound\n upper_bound = np.array([+1.0, +1.0, +1.0])\n lower_bound = np.array([-1.0, -1.0, -1.0])\n maximum_value = 1.0\n minimum_value = 0.0\n\n # Instantiate and initialize VisOpt Slider\n sliders_widget = visoptslider.SlidersWidget()\n sliders_widget.initialize(num_dimensions=num_dimensions,\n target_function=target_function,\n upper_bound=upper_bound,\n lower_bound=lower_bound,\n maximum_value=maximum_value,\n minimum_value=minimum_value)\n\n # Show VisOpt Sliders\n sliders_widget.show()\n\n app.exec_()\n```\nSee for more detailed examples.\n\n## References\n\n- 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: \n - Project page: \n- 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: \n - Project page: ", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/yuki-koyama/visoptslider", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "visoptslider", "package_url": "https://pypi.org/project/visoptslider/", "platform": "", "project_url": "https://pypi.org/project/visoptslider/", "project_urls": { "Homepage": "https://github.com/yuki-koyama/visoptslider" }, "release_url": "https://pypi.org/project/visoptslider/1.0.4/", "requires_dist": null, "requires_python": "", "summary": "Qt-based implementation of VisOpt Slider widget", "version": "1.0.4" }, "last_serial": 5712460, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "cc8a3bbbc2c4cc8f4d7a7fdc583c760c", "sha256": "90abb9c5e5d9bd466bb8a7d7d92c940f95ba500ad558667efc0db619d840fcab" }, "downloads": -1, "filename": "visoptslider-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "cc8a3bbbc2c4cc8f4d7a7fdc583c760c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5942, "upload_time": "2019-07-13T10:20:24", "url": "https://files.pythonhosted.org/packages/12/61/62c9b809dc67c8bc9f4d6469874e130f350b92c18e8dd2ddc02c06d7a46b/visoptslider-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "53b569f1d0098885f90ae3dead65d81b", "sha256": "6d07414299b545e949e22791c6818986bfa70811f7d1d331ebf80609b9f112ae" }, "downloads": -1, "filename": "visoptslider-1.0.0.tar.gz", "has_sig": false, "md5_digest": "53b569f1d0098885f90ae3dead65d81b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5568, "upload_time": "2019-07-13T10:20:26", "url": "https://files.pythonhosted.org/packages/00/7a/648eee0ea51ec477238d9e722641f1e87f990bcc9ecaa55604eca3c8c58d/visoptslider-1.0.0.tar.gz" } ], "1.0.0rc1": [ { "comment_text": "", "digests": { "md5": "9ceb1bddfaa5f01f66d4c3dc746acde2", "sha256": "50743bf0c505a47fc8517398174b0a07c8e7775a7095ec226be54499a7500096" }, "downloads": -1, "filename": "visoptslider-1.0.0rc1-py2-none-any.whl", "has_sig": false, "md5_digest": "9ceb1bddfaa5f01f66d4c3dc746acde2", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5975, "upload_time": "2019-07-13T07:48:41", "url": "https://files.pythonhosted.org/packages/55/a2/cb864cbb9aaa38a0dbe9b0687c58200b36bfa4ef18d778d56529f22a23d4/visoptslider-1.0.0rc1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5793b642159082cccfbf1b7903a4151e", "sha256": "df1e34bff86c5c080cf6765dc39b91280833928618f9a2c4ee6a6732c2a4ab39" }, "downloads": -1, "filename": "visoptslider-1.0.0rc1.tar.gz", "has_sig": false, "md5_digest": "5793b642159082cccfbf1b7903a4151e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5420, "upload_time": "2019-07-13T07:48:44", "url": "https://files.pythonhosted.org/packages/dd/90/d48b7ec48f978108b43047dd092438bd6fcea90191475fb2cab56daa8fd2/visoptslider-1.0.0rc1.tar.gz" } ], "1.0.0rc2": [ { "comment_text": "", "digests": { "md5": "dc92be6d8fc7409deecf60b9ace811d7", "sha256": "d58c65430245c9e1232cdc91592abb8d782b8eeba36aca27f0929f27a701b9d7" }, "downloads": -1, "filename": "visoptslider-1.0.0rc2-py2-none-any.whl", "has_sig": false, "md5_digest": "dc92be6d8fc7409deecf60b9ace811d7", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5976, "upload_time": "2019-07-13T09:00:14", "url": "https://files.pythonhosted.org/packages/36/13/23261bf8ced8518720b1556ea47d216190e2d2a104985df6b2177bbfca63/visoptslider-1.0.0rc2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "49b9c4db50c0afae78a39d93e3a5f344", "sha256": "1834a9437e124e947d7acec13a40e315af3ce7a26d9e776fe06c547d7c625211" }, "downloads": -1, "filename": "visoptslider-1.0.0rc2.tar.gz", "has_sig": false, "md5_digest": "49b9c4db50c0afae78a39d93e3a5f344", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5418, "upload_time": "2019-07-13T09:00:15", "url": "https://files.pythonhosted.org/packages/84/43/b0a26161ed7f3b4c3891bd7295151987cbd17d5acee02f7f9b5ffba96808/visoptslider-1.0.0rc2.tar.gz" } ], "1.0.0rc3": [ { "comment_text": "", "digests": { "md5": "129d82b06204e05dd05f9126b371ad74", "sha256": "1096cc237934e93af93e047cbef556b518cb33d75f9ba3080312b38783729c6b" }, "downloads": -1, "filename": "visoptslider-1.0.0rc3-py2-none-any.whl", "has_sig": false, "md5_digest": "129d82b06204e05dd05f9126b371ad74", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5976, "upload_time": "2019-07-13T09:36:15", "url": "https://files.pythonhosted.org/packages/8a/a3/4238091ba1ea663b2f39cfabd04ca37e2733bc71ac12ef398ed7977b3c30/visoptslider-1.0.0rc3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d94129c9fb6548605ccb953ed086a7f6", "sha256": "41d41951046fd65f137e9bca0289eb7fc5bd4012eefc5d8930098e730eedddf5" }, "downloads": -1, "filename": "visoptslider-1.0.0rc3.tar.gz", "has_sig": false, "md5_digest": "d94129c9fb6548605ccb953ed086a7f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5422, "upload_time": "2019-07-13T09:36:16", "url": "https://files.pythonhosted.org/packages/8b/e3/fcc4e7e49dd2168ce393cd9e84198e55523984c7b014d1ac5eaafd1ea870/visoptslider-1.0.0rc3.tar.gz" } ], "1.0.0rc4": [ { "comment_text": "", "digests": { "md5": "bd88340f250da9d8b9e18df9ebf77a13", "sha256": "d4e26c509efd8666809ef7965d8659b66005ffb2d08f183f4780d584643e9ecc" }, "downloads": -1, "filename": "visoptslider-1.0.0rc4-py2-none-any.whl", "has_sig": false, "md5_digest": "bd88340f250da9d8b9e18df9ebf77a13", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5977, "upload_time": "2019-07-13T09:52:30", "url": "https://files.pythonhosted.org/packages/c7/67/fff75626e4ea01c0d15892ca52cfe8cc1baa0c28cbfd8db4232f984eea34/visoptslider-1.0.0rc4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fa13b00adcd870fa86f93dfae13eefd4", "sha256": "1818978a6260f29ad8cdcd629de7641460833b98861f54cb57e07dfeb5f6f89b" }, "downloads": -1, "filename": "visoptslider-1.0.0rc4.tar.gz", "has_sig": false, "md5_digest": "fa13b00adcd870fa86f93dfae13eefd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5419, "upload_time": "2019-07-13T09:52:31", "url": "https://files.pythonhosted.org/packages/cf/cf/3331ab8841d2032bd9f9bc6333cacfe514411fccc90799ce2f0d115e5531/visoptslider-1.0.0rc4.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "9a2556aa97b2a2bcbcf87428810675d2", "sha256": "039ec76daf89983a6d5671e70affd0e872f7334dd96dd0ce8a1a1573226f5c24" }, "downloads": -1, "filename": "visoptslider-1.0.1.tar.gz", "has_sig": false, "md5_digest": "9a2556aa97b2a2bcbcf87428810675d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5718, "upload_time": "2019-07-13T15:10:36", "url": "https://files.pythonhosted.org/packages/e3/00/d02f64fd7f99577c442e143a28646f8ca81b1ae6fd4a310aee06f5a4042d/visoptslider-1.0.1.tar.gz" } ], "1.0.1.dev1": [ { "comment_text": "", "digests": { "md5": "0ff6831bd5e83376851b739182ef072c", "sha256": "4cf387fd822dc088e990a95a6c9036f52549e69f8e1a0f6232873217732e711e" }, "downloads": -1, "filename": "visoptslider-1.0.1.dev1.tar.gz", "has_sig": false, "md5_digest": "0ff6831bd5e83376851b739182ef072c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5703, "upload_time": "2019-07-13T11:00:47", "url": "https://files.pythonhosted.org/packages/d1/e1/d21ee2d6027ea7d91d7f3c53a6234637c538ec85251090a9163c6dcd8db7/visoptslider-1.0.1.dev1.tar.gz" } ], "1.0.1.dev2": [ { "comment_text": "", "digests": { "md5": "c9ce0fc2182512aad236a948184fecfe", "sha256": "0cf7685d43bd12d01f66b66d78cb4c9301075bbcc8f67f4be2c2f8cb7279985a" }, "downloads": -1, "filename": "visoptslider-1.0.1.dev2.tar.gz", "has_sig": false, "md5_digest": "c9ce0fc2182512aad236a948184fecfe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5722, "upload_time": "2019-07-13T14:56:21", "url": "https://files.pythonhosted.org/packages/84/9d/e1998efacebbfa90c3ff6a62722d4b1cd89d62078e35bba1b92b67c10cda/visoptslider-1.0.1.dev2.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "4615b3f26268ee82f2653a681627ff1f", "sha256": "f6897e39daa72ac8fbbb2023eadf07e0b5dd9637c8f14f267bdd030ee8c76452" }, "downloads": -1, "filename": "visoptslider-1.0.2.tar.gz", "has_sig": false, "md5_digest": "4615b3f26268ee82f2653a681627ff1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5863, "upload_time": "2019-07-13T23:58:37", "url": "https://files.pythonhosted.org/packages/f0/04/eed4f65c12d5a541665424453a98fe9cf5617c70e8162f691f9ed5cc198a/visoptslider-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "f789ebe85ef44a1a9ba39cfb6eda8e79", "sha256": "8c580cb44bd09eaf7612359b145b3ccfe49207a02ecbacd09d732d06defa75e4" }, "downloads": -1, "filename": "visoptslider-1.0.3.tar.gz", "has_sig": false, "md5_digest": "f789ebe85ef44a1a9ba39cfb6eda8e79", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5876, "upload_time": "2019-07-25T11:06:27", "url": "https://files.pythonhosted.org/packages/7b/f4/34cfbf141e5dd4ef0210f22c46f1ad347457f7ee3e259b2403a88d97d999/visoptslider-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "e07f810e2de10d31e3fa4422878c7be5", "sha256": "46d3d6ab3c4850809468647644297c6c2056694bca565ffd64477b714818e47f" }, "downloads": -1, "filename": "visoptslider-1.0.4.tar.gz", "has_sig": false, "md5_digest": "e07f810e2de10d31e3fa4422878c7be5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5983, "upload_time": "2019-08-22T00:21:57", "url": "https://files.pythonhosted.org/packages/ad/bf/9a56bd7999c328d0e198af049698777fec4b1ff06b4464327c1f1f890912/visoptslider-1.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e07f810e2de10d31e3fa4422878c7be5", "sha256": "46d3d6ab3c4850809468647644297c6c2056694bca565ffd64477b714818e47f" }, "downloads": -1, "filename": "visoptslider-1.0.4.tar.gz", "has_sig": false, "md5_digest": "e07f810e2de10d31e3fa4422878c7be5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5983, "upload_time": "2019-08-22T00:21:57", "url": "https://files.pythonhosted.org/packages/ad/bf/9a56bd7999c328d0e198af049698777fec4b1ff06b4464327c1f1f890912/visoptslider-1.0.4.tar.gz" } ] }