{ "info": { "author": "Naoki Ishikawa", "author_email": "contact@ishikawa.cc", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.7" ], "description": "# IMToolkit\n\n\nIMToolkit, an open-source index modulation (IM) toolkit, attempts to facilitate reproducible research in wireless communications.\nThe major advantages of this toolkit are highlighted as follows:\n\n- It accelerates bit error ratio and average mutual information simulations by relying on a state-of-the-art Nvidia GPU and the massively parallel algorithms proposed in [1].\n- It also supports the representative multiplexing schemes for ideal MIMO and OFDM scenarios, in addition to the IM family.\n- It contains [a comprehensive database of designed active indices](https://ishikawa.cc/imtoolkit/db/index.html), that determine the achievable performance of the generalized spatial modulation or the subcarrier-index modulation.\n\nFor more information, please refer to the following webpages.\n- [IMToolkit official website](https://ishikawa.cc/imtoolkit/).\n- [A detailed tutorial for the imtoolkit command](https://ishikawa.cc/imtoolkit/tutorial.html).\n- [A comprehensive database of the designed active indices](https://ishikawa.cc/imtoolkit/db/index.html).\n- [A compute capsule on Code Ocean](https://codeocean.com/capsule/4685246/tree), that reproduces the same results as those reported in [1].\n\n## Installation Guide\n\nIMToolkit is available from the Python official package repository [PyPi](https://pypi.org/project/imtoolkit/).\n\n > pip install imtoolkit\n\nThis installation requires NumPy, Pandas, SciPy, SymPy, Numba, and tqdm, all of which are popular Python packages.\nAdditionally, it is strongly recommended to install [CuPy](https://cupy.chainer.org/) 5.40+. \nIMToolkit is heavily dependent on CuPy to achieve significantly fast Monte Carlo simulations.\n[The key components required by CuPy are listed here.](https://docs-cupy.chainer.org/en/stable/install.html)\nIn case CuPy is not installed in your environment, IMToolkit uses NumPy only.\nNote that the CuPy-based simulation is 145 times faster than the NumPy-based calculation, as reported in [1].\n\n[The above PyPi package](https://pypi.org/project/imtoolkit/) excluded the designed active indices due to their large file size, which exceeds 500MB.\nHence, this reduced-size PyPi package will automatically download a required file from the GitHub repository or a mirror website.\nIf you need all the project files, to use `imtoolkit` offline, it is recommended to obtain the whole package from GitHub as follows:\n\n > pip install git+https://github.com/imtoolkit/imtoolkit\n\nThe IMToolkit development team welcomes other researchers' contributions and pull requests.\nIn that case, it would be better to install the latest package and activate the editable mode as follows:\n\n > git clone https://github.com/imtoolkit/imtoolkit\n > pip install -e ./imtoolkit # this activates the editable mode\n\n[A detailed tutorial for the installed imtoolkit command is available here.](https://ishikawa.cc/imtoolkit/tutorial.html)\n\n## Citations\n\nIt would be highly appreciated if you cite the following reference when using IMToolkit.\n\n- [1] N. Ishikawa, ``[IMToolkit: An open-source index modulation toolkit for reproducible research based on massively parallel algorithms](https://doi.org/10.1109%2Faccess.2019.2928033),'' IEEE Access, vol. 7, pp. 93830--93846, July 2019.\n\nOf course, if your project relies on CuPy, the following reference is strongly recommended.\n\n- [2] R. Okuta, Y. Unno, D. Nishino, S. Hido, and C. Loomis, ``[CuPy: A NumPy-compatible library for NVIDIA GPU calculations](http://learningsys.org/nips17/assets/papers/paper_16.pdf),'' in Conference on Neural Information Processing Systems Workshop, Long Beach, CA, USA, December 4--9, 2017.\n\n## Contributor(s)\n\n- Naoki Ishikawa ([Web](https://ishikawa.cc) / [Google Scholar](https://scholar.google.co.jp/citations?user=JHnisGYAAAAJ) / [ResearchGate](https://www.researchgate.net/profile/Naoki_Ishikawa) / [Publons](https://publons.com/researcher/3012020/naoki-ishikawa/))\n- You might become a valuable contributor of this project. Any contributions and issues are appreciated.\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://pypi.org/project/imtoolkit/", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://ishikawa.cc/imtoolkit/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "imtoolkit", "package_url": "https://pypi.org/project/imtoolkit/", "platform": "", "project_url": "https://pypi.org/project/imtoolkit/", "project_urls": { "Download": "https://pypi.org/project/imtoolkit/", "Homepage": "https://ishikawa.cc/imtoolkit/" }, "release_url": "https://pypi.org/project/imtoolkit/0.7/", "requires_dist": [ "numpy", "pandas", "scipy", "sympy", "numba", "tqdm" ], "requires_python": "", "summary": "IMToolkit: An open-source index modulation toolkit for reproducible research based on massively parallel algorithms", "version": "0.7" }, "last_serial": 5629911, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "1da8570d8ce666c325b0cd9c2752e604", "sha256": "044f2db746b3d05371d8e867e240e57ce279dbd9494000c2b2622c253b9981b3" }, "downloads": -1, "filename": "imtoolkit-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1da8570d8ce666c325b0cd9c2752e604", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19167, "upload_time": "2019-04-23T04:41:18", "url": "https://files.pythonhosted.org/packages/08/ab/3f9c904a954e2673384282a015c9d81d0f9078c592eac7f2d0237b92200a/imtoolkit-0.1-py3-none-any.whl" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "172cbb527a7e052d9387bb5d1e21a5c5", "sha256": "4d85c49f2faba27ae12dfc92081286921c873397a33adc5e79cfc228b2b7c61d" }, "downloads": -1, "filename": "imtoolkit-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "172cbb527a7e052d9387bb5d1e21a5c5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22797, "upload_time": "2019-06-11T02:50:35", "url": "https://files.pythonhosted.org/packages/6f/d7/a7afa5fd815a129d873041e317564c307e8ce9610126e7d0589b79566f1e/imtoolkit-0.2-py3-none-any.whl" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "5f0c550f6bbf3bab283a4811db005cde", "sha256": "176cbb68e81399bba91425cf60af73fa271997ec2db8e775dd1bc3d9e9693e66" }, "downloads": -1, "filename": "imtoolkit-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "5f0c550f6bbf3bab283a4811db005cde", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22968, "upload_time": "2019-06-11T06:07:45", "url": "https://files.pythonhosted.org/packages/17/e4/1174c21eae85788dff0c7089672cf81241c899d1e32bcfc30b72bf9e749d/imtoolkit-0.3-py3-none-any.whl" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "883c35a5bcdd8b5fc98a57220b6217df", "sha256": "654cb0d297cf6486ddfc2232fc2fdaf1973320da5a853404e7e97ff0230b9e79" }, "downloads": -1, "filename": "imtoolkit-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "883c35a5bcdd8b5fc98a57220b6217df", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24671, "upload_time": "2019-07-10T02:24:45", "url": "https://files.pythonhosted.org/packages/9d/5c/f13b7b50976d8943f506a9f42dbf4f2a7e7385e8e7b06545c0fe1d5d3c2e/imtoolkit-0.4-py3-none-any.whl" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "d37a88d40296216923ad26b5e2a7d877", "sha256": "3ee2543e9cce9d99547a0cae44927c54f56160a0919beac7741807ecc97cd6dc" }, "downloads": -1, "filename": "imtoolkit-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "d37a88d40296216923ad26b5e2a7d877", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24550, "upload_time": "2019-07-10T05:50:10", "url": "https://files.pythonhosted.org/packages/2e/cd/5adb557de05db7da1ed9fd429aa9f7db68f07e9cf8020e6c2d36e88bfdfc/imtoolkit-0.5-py3-none-any.whl" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "bf1596d84018f932b8da2cad63bf35c0", "sha256": "60938c3f2ba4d85eb21b77f8d5fb725191c119ed29e1f91231273481b9d36f4a" }, "downloads": -1, "filename": "imtoolkit-0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "bf1596d84018f932b8da2cad63bf35c0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 33727, "upload_time": "2019-07-13T08:03:51", "url": "https://files.pythonhosted.org/packages/ed/db/c821508fd7e63782fe84e8d5818808401728efd7fda57f34a10b63ba175d/imtoolkit-0.6-py3-none-any.whl" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "16c2cdcc5643ab5eb1f55c7c3582f9a9", "sha256": "ee0d4fc375b01265db5b302064b62e4dfa92b5916825cf019489342833abc08f" }, "downloads": -1, "filename": "imtoolkit-0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "16c2cdcc5643ab5eb1f55c7c3582f9a9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44790, "upload_time": "2019-08-04T06:13:22", "url": "https://files.pythonhosted.org/packages/1c/1f/12cd3a66ae7ea61c5927e69d4a594ba1211d5a3bd1c3e01bf8c55aa3bf74/imtoolkit-0.7-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "16c2cdcc5643ab5eb1f55c7c3582f9a9", "sha256": "ee0d4fc375b01265db5b302064b62e4dfa92b5916825cf019489342833abc08f" }, "downloads": -1, "filename": "imtoolkit-0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "16c2cdcc5643ab5eb1f55c7c3582f9a9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44790, "upload_time": "2019-08-04T06:13:22", "url": "https://files.pythonhosted.org/packages/1c/1f/12cd3a66ae7ea61c5927e69d4a594ba1211d5a3bd1c3e01bf8c55aa3bf74/imtoolkit-0.7-py3-none-any.whl" } ] }