{ "info": { "author": "Fabian Herzog", "author_email": "fabian.herzog.dev@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Sparselandtools\n\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/sparselandtools.svg?style=flat-square)](https://pypi.org/project/sparselandtools/1.0.0.dev2/)\n[![PyPI](https://img.shields.io/pypi/v/sparselandtools.svg?style=flat-square)](https://pypi.org/project/sparselandtools/)\n[![PyPI - Implementation](https://img.shields.io/pypi/implementation/sparselandtools.svg?style=flat-square)](https://pypi.org/project/sparselandtools/#description)\n[![Build Status](https://travis-ci.com/fubel/sparselandtools.svg?token=e6hQaTqfZFZnG6RmEYXr&branch=master&style=flat-square)](https://travis-ci.com/fubel/sparselandtools)\n\nSparselandtools is a Python 3 package that provides implementations for\nsparse representations and dictionary learning. In particular, it\nincludes implementations for\n\n**For Sparse Representations:**\n* Matching Pursuit\n* Orthogonal Matching Pursuit\n* Thresholding Pursuit\n* Basis Pursuit\n\n**For Dictionaries in General:**\n* Mutual Coherence\n* DCT Dictionary\n* Haar Dictionary\n* Overcomplete DCT Dictionary\n* Visualization Tools for Dictionaries\n\n**For Dictionary Learning:**\n* K-SVD Algorithm\n* Approximate K-SVD Algorithm\n\n**For Application:**\n* Approximate K-SVD Image Denoiser\n\n**Note:** I did this project mainly to generate plots for my Master's thesis.\nSome of the implementations are more *educational* than *efficient*. If you want\nto learn more about sparse representations and dictionary learning using Python,\nor use dictionary learning algorithms in small dimensions this ,package is for you.\nIf you want to use these functions for industrial applications, you should have a\nlook at more efficient C++-based implementations:\n\n* [The Efficient K-SVD Algorithm by Rubinstein](http://www.cs.technion.ac.il/~ronrubin/software.html)\n* [The Efficient K-SVD Denoiser by Lebrun](https://github.com/npd/ksvd)\n\n\n## Getting Started\n\nSparselandtools is available as a PyPI package. You can install it using\n\n```\npip install sparselandtools\n```\n\n![DCT and Haar Dictionary](https://snag.gy/h7Il2j.jpg)\n\nThe following code creates a redundant (=overcomplete) DCT-II dictionary\nand plots it. It also prints out the dictionaries mutual coherence.\n\n```python\nfrom sparselandtools.dictionaries import DCTDictionary\nimport matplotlib.pyplot as plt\n\n# create dictionary\ndct_dictionary = DCTDictionary(8, 11)\n\n# plot dictionary\nplt.imshow(dct_dictionary.to_img())\nplt.show()\n\n# print mutual coherence\nprint(dct_dictionary.mutual_coherence())\n```\n\nMore examples can be found in the corresponding Jupyter Notebook.\n\n\n## Contribute\n\nThere are a lot of algorithms based on sparse representations and\ndictionary learning that are not (yet) included in this package. These\ninclude - among others:\n\n* The Double Sparsity Method\n* Trainlets\n* Denoiser with Method Noise Post Processing\n* Boosted Denoiser with Patch Disagreement\n\nand much more. It would also be interesting to see more applications in this package.\nCurrently, this package only provides the K-SVD image denoiser [based on the work of\nAharon and Elad](https://www.egr.msu.edu/~aviyente/elad06.pdf). K-SVD can also\nbe used in many other applications, such as face recognition. Furthermore,\nit would be nice to have GPU-versions of all the algorithms available as well.\n\nIf you want to see a specific algorithm in this package,\nplease consider opening a feature request here on Github. If you have written\nan algorithm that you think would fit into this package, please fork this\nrepository, add your algorithm and file a pull request. If something\ndoesn't work as expected, please open an issue.\n\n\n", "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/fubel/py-sparselandtools", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "sparselandtools", "package_url": "https://pypi.org/project/sparselandtools/", "platform": "", "project_url": "https://pypi.org/project/sparselandtools/", "project_urls": { "Homepage": "https://github.com/fubel/py-sparselandtools" }, "release_url": "https://pypi.org/project/sparselandtools/1.0.1/", "requires_dist": [ "brewer2mpl (>=1.4.1)", "cloudpickle (>=0.5.3)", "cycler (>=0.10.0)", "Cython (>=0.29)", "dask (>=0.18.2)", "decorator (>=4.3.0)", "imageio (>=2.3.0)", "kiwisolver (>=1.0.1)", "llvmlite (>=0.25.0)", "matplotlib (>=2.2.2)", "networkx (>=2.1)", "numpy (>=1.15.0)", "pandas (>=0.23.4)", "Pillow (>=5.2.0)", "prettyplotlib (>=0.1.7)", "pyparsing (>=2.2.0)", "pytest (>=3.10.0)", "python-dateutil (>=2.7.3)", "pytz (>=2018.5)", "scikit-image (>=0.14.0)", "scikit-learn (>=0.19.2)", "scipy (>=1.1.0)", "seaborn (>=0.9.0)", "six (>=1.11.0)", "toolz (>=0.9.0)", "tqdm (>=4.28.1)" ], "requires_python": ">=3.5", "summary": "A package for sparse representations and dictionary learning", "version": "1.0.1" }, "last_serial": 5407332, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "d7fc1af5432f180eaa363a6ffd669754", "sha256": "aaaef0179115183aa3fd00521fc2f465706adf11eaecce5769ea73aa61b6d31a" }, "downloads": -1, "filename": "sparselandtools-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d7fc1af5432f180eaa363a6ffd669754", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 23504, "upload_time": "2018-11-30T21:21:37", "url": "https://files.pythonhosted.org/packages/f7/5a/b1f2441a765193e406c5680b45278fb472c8f47500745dbc13c7c5a87719/sparselandtools-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "afa97298dc8de01b91a6988bca14329d", "sha256": "10e4fd0c367e35b50099cb93975f54644bf72e998ab03e710373f75ba3827c5a" }, "downloads": -1, "filename": "sparselandtools-1.0.0.tar.gz", "has_sig": false, "md5_digest": "afa97298dc8de01b91a6988bca14329d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 16611, "upload_time": "2018-11-30T21:21:39", "url": "https://files.pythonhosted.org/packages/aa/5b/e620907406aefaaaf26cfd1a9c58a15f140feed3bbd78b67cb3855df2b72/sparselandtools-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "f4af56813a2b2e9b918daaa69b063865", "sha256": "8b8dadaeaf1864ace0a1a6a459cdc4d1566681bf6b4bfc13ee43f228606d1071" }, "downloads": -1, "filename": "sparselandtools-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f4af56813a2b2e9b918daaa69b063865", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 11312, "upload_time": "2019-06-16T19:21:57", "url": "https://files.pythonhosted.org/packages/19/5b/1a53f82f2ee838efa6f6c105ccc2a48086f94b5e38ef3907346d75fb4323/sparselandtools-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8483eb877623791df3fd7c6ebe59d836", "sha256": "e256253ccf7cff2f9499425341a19232771b50c389bb57315c1a4d878278904a" }, "downloads": -1, "filename": "sparselandtools-1.0.1.tar.gz", "has_sig": false, "md5_digest": "8483eb877623791df3fd7c6ebe59d836", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9959, "upload_time": "2019-06-16T19:21:59", "url": "https://files.pythonhosted.org/packages/0c/e7/8dcb874fe6fdb7aca1e805155173fc8a7f48ca0ccd7dcfcb6de4f8043d89/sparselandtools-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f4af56813a2b2e9b918daaa69b063865", "sha256": "8b8dadaeaf1864ace0a1a6a459cdc4d1566681bf6b4bfc13ee43f228606d1071" }, "downloads": -1, "filename": "sparselandtools-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f4af56813a2b2e9b918daaa69b063865", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 11312, "upload_time": "2019-06-16T19:21:57", "url": "https://files.pythonhosted.org/packages/19/5b/1a53f82f2ee838efa6f6c105ccc2a48086f94b5e38ef3907346d75fb4323/sparselandtools-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8483eb877623791df3fd7c6ebe59d836", "sha256": "e256253ccf7cff2f9499425341a19232771b50c389bb57315c1a4d878278904a" }, "downloads": -1, "filename": "sparselandtools-1.0.1.tar.gz", "has_sig": false, "md5_digest": "8483eb877623791df3fd7c6ebe59d836", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9959, "upload_time": "2019-06-16T19:21:59", "url": "https://files.pythonhosted.org/packages/0c/e7/8dcb874fe6fdb7aca1e805155173fc8a7f48ca0ccd7dcfcb6de4f8043d89/sparselandtools-1.0.1.tar.gz" } ] }