{ "info": { "author": "Dilawar Singh", "author_email": "dilawars@ncbs.res.in", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "[![Build Status](https://travis-ci.org/dilawar/PlotDigitizer.svg?branch=master)](https://travis-ci.org/dilawar/PlotDigitizer) [![PyPI version](https://badge.fury.io/py/PlotDigitizer.svg)](https://badge.fury.io/py/PlotDigitizer) \n\n# PlotDigitizer\n\nA python (python3) script to digitize plot (Under developement)\n\n# Usage\n\n1. Remove all the text from the image. Only axis and plot should be left.\n\nThis is from MacFadden and Koshland, PNAS 1990. \n![](./figures/original.png)\n\nIt should be trimmed. Ideally you should also remove the top border. You can use `gimp`\nor `imagemagick` or any other tool for cropping.\n\n![](./figures/trimmed.png)\n\n2. Then we run the script like this.\n\n```\n./plotdigitizer.py -i ./figures/trimmed.png -p 0,0 -p 10,0 -p 0,1\n```\n\nOption `-i` accepts the input file. \n\nWe need at least 3 of them to map the coordinate systems onto the pixel-system\nin the image. These points are passed by repeated `-p` options. In the example\nabove, we have given three data-points `0,0` (where x-axis and y-axis intesect)\n, `20,0` (a point on x-axis) and `0,1` (a point on y-axis).\n\nWe are going to click on the image to locate these coordinates later. Make sure\nto click in the same order. \n\n3. The data-points will be dumped to a csv file. If `--plot` option is given from command \nline, it will also plot the computed data-points. This requires `matplotlib`.\n\n![](./figures/traj.png)\n\nNotice the errors near the boxes; since we have not trimmed them.\n\n# Passing the location of coordinates manually\n\n__IMP:__ Bottom left corner of the image is `(0,0)` in most plots. However, for\nopencv which we are using in this project, top-left is mapped to `(0,0)`. This\nmay cause subtle effects if you are not careful when passing values of location\nmanually. See issue #1 for discussion. I got these values from program `gimp`.\n\n```bash\n./plotdigitizer.py -i ./figures/trimmed.png -p 0,0 -p 20,0 -p 0,1 \\\n -l 22,295 -l 142,295 -l 22,215 --plot\n```\n\n# Limitations\n\nCurrently this script has following limitations:\n\n- Background must not be transparent. It might work with transparent background but\n I've not tested it.\n- Only b/w images are supported for now. Color images will be converted to grayscale upon reading.\n- One image should have only one trajectory.\n\nYou might be interested in more versatile\n[WebPlotDigitizer](https://automeris.io/WebPlotDigitizer/) by Ankit Rohatagi.\n\n# Development\n\nIf you enhance the script, feel free to send a PR.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/dilawar/PlotDigitizer", "keywords": "", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "PlotDigitizer", "package_url": "https://pypi.org/project/PlotDigitizer/", "platform": "", "project_url": "https://pypi.org/project/PlotDigitizer/", "project_urls": { "Homepage": "http://github.com/dilawar/PlotDigitizer" }, "release_url": "https://pypi.org/project/PlotDigitizer/0.0.3/", "requires_dist": null, "requires_python": "", "summary": "Digitize plots and extract trajectories.", "version": "0.0.3" }, "last_serial": 5911705, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "00d1aee5a6a161bad4a66c1d71839386", "sha256": "b04dd153531220036c6429804373ae72d0b04cd5395d2bd0dc444fc3e91870ec" }, "downloads": -1, "filename": "PlotDigitizer-0.0.1-py3.6.egg", "has_sig": false, "md5_digest": "00d1aee5a6a161bad4a66c1d71839386", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 10154, "upload_time": "2018-07-13T04:28:23", "url": "https://files.pythonhosted.org/packages/7a/41/2b44c571757d0cf54f6d1056a2ea0cedc91e437f7455377856e2c47f8c65/PlotDigitizer-0.0.1-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "9c404caa3642447c9b59f270acb6db9c", "sha256": "b8fc6c3cc5231bd42d411b6f6395062bb964ebf12191d29c78b0a6ad8a9f3c93" }, "downloads": -1, "filename": "PlotDigitizer-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "9c404caa3642447c9b59f270acb6db9c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8044, "upload_time": "2018-07-13T04:28:21", "url": "https://files.pythonhosted.org/packages/15/93/96174c061163bfe021871f45ca40a8b0b34589f4a0733d66486880bbae1a/PlotDigitizer-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "258a7e1704a62f9754b0c5a561ae284e", "sha256": "8468ddae7785e3108f212ac36344238e84bedaff7748a42e71a89ca37095f23c" }, "downloads": -1, "filename": "PlotDigitizer-0.0.1.tar.gz", "has_sig": false, "md5_digest": "258a7e1704a62f9754b0c5a561ae284e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5436, "upload_time": "2018-07-13T04:28:24", "url": "https://files.pythonhosted.org/packages/be/b8/fec3b64f77c871b5c98e6210edd30524478745c2078ef6361fa9b089d0fa/PlotDigitizer-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "5fbb170ed26160ea0b334ccba15dbc11", "sha256": "f6c6c111434ba886459f8fe36c8c95b2669765ce4ea1bb62412a4e89dea43885" }, "downloads": -1, "filename": "PlotDigitizer-0.0.2.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "5fbb170ed26160ea0b334ccba15dbc11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9519, "upload_time": "2018-07-13T04:49:00", "url": "https://files.pythonhosted.org/packages/98/a3/67afc1625d8ea60d8e672270af9219aed21a31f1255fd322a793817191d2/PlotDigitizer-0.0.2.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "0fee36bf11e473bf945e49942ef3ed71", "sha256": "c0273fefbf94a349c032cfee859dfafb79a0a509993e2cea62469b49c4f7bc66" }, "downloads": -1, "filename": "PlotDigitizer-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "0fee36bf11e473bf945e49942ef3ed71", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8425, "upload_time": "2018-07-13T04:48:56", "url": "https://files.pythonhosted.org/packages/34/c2/b7de2d1aa82f70b74dcf64d13143d42fe580a2d63bd0a0188d1c2419870c/PlotDigitizer-0.0.2-py3-none-any.whl" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "7a5797b9dfbf66b5ca18dae6d1c755a2", "sha256": "767c0ffb3e447482dc3fa817f19915579410c21bec465a90b6f679b3c878707d" }, "downloads": -1, "filename": "PlotDigitizer-0.0.3.tar.gz", "has_sig": false, "md5_digest": "7a5797b9dfbf66b5ca18dae6d1c755a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6060, "upload_time": "2019-10-01T11:26:01", "url": "https://files.pythonhosted.org/packages/6b/73/6c3e6b6005919bf52b89c2f25671c98c1bb95fbe247119782a69f2b1dd06/PlotDigitizer-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7a5797b9dfbf66b5ca18dae6d1c755a2", "sha256": "767c0ffb3e447482dc3fa817f19915579410c21bec465a90b6f679b3c878707d" }, "downloads": -1, "filename": "PlotDigitizer-0.0.3.tar.gz", "has_sig": false, "md5_digest": "7a5797b9dfbf66b5ca18dae6d1c755a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6060, "upload_time": "2019-10-01T11:26:01", "url": "https://files.pythonhosted.org/packages/6b/73/6c3e6b6005919bf52b89c2f25671c98c1bb95fbe247119782a69f2b1dd06/PlotDigitizer-0.0.3.tar.gz" } ] }