{ "info": { "author": "Tino Wagner", "author_email": "ich@tinowagner.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering" ], "description": "gwyfile\n=======\n\nA pure Python interface to reading and writing `Gwyddion\n`_ files.\n\n\nUsage\n-----\n\nAt the heart of this module is the `GwyObject` class, derived from\n`collections.OrderedDict`. Gwyddion files are just serialized copies of\n`GwyObject`\\ s and its subclasses (`GwyContainer`, `GwyDataField`, ...).\n\nHere is a simple example that shows how to load a file and display a data\nchannel:\n\n.. code-block:: python\n\n import gwyfile\n\n # Load a Gwyddion file into memory\n obj = gwyfile.load('test.gwy')\n # Return a dictionary with the datafield titles as keys and the\n # datafield objects as values.\n channels = gwyfile.util.get_datafields(obj)\n channel = channels['Test']\n # Datafield objects have a `data` property to access their\n # two-dimensional data as numpy arrays.\n data = channel.data\n\n # Plot the data using matplotlib.\n import matplotlib.pyplot as plt\n fig, ax = plt.subplots()\n ax.imshow(data, interpolation='none', origin='upper',\n extent=(0, channel.xreal, 0, channel.yreal))\n plt.show()\n\nIt is also possible to manipulate and save objects:\n\n.. code-block:: python\n\n import numpy as np\n from gwyfile.objects import GwyContainer, GwyDataField\n obj = GwyContainer()\n obj['/0/data/title'] = 'Noise'\n data = np.random.normal(size=(256, 256))\n obj['/0/data'] = GwyDataField(data)\n obj.tofile('noise.gwy')\n\nThe Gwyddion manual has a nice `description of the file format\n`_. See\nthere for further information on object properties.\n\n\nStatus\n------\n\n`GwyObject` serialization and deserialization should be complete. There\nare specialized subclasses for `GwyDataField` and `GwySIUnit`, but other\nconvenience wrappers e.g. for `GwyBrick` are missing.\n\n\nLicense\n-------\n\nThis project is licensed under the MIT license. See `LICENSE.rst `_\nfor details.\n\n\u00a9 2014-17 `Tino Wagner `_", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tuxu/gwyfile", "keywords": "gwyddion file format", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "gwyfile", "package_url": "https://pypi.org/project/gwyfile/", "platform": "any", "project_url": "https://pypi.org/project/gwyfile/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/tuxu/gwyfile" }, "release_url": "https://pypi.org/project/gwyfile/0.2.0/", "requires_dist": null, "requires_python": null, "summary": "Pure Python implementation of the Gwyddion file format", "version": "0.2.0" }, "last_serial": 2653370, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "8930d9c0b3a6cc8eb04658fe6378fe07", "sha256": "83cca2b8b5283652322f98791a36fdc1375cb25ea7ba88899056e7a00069760f" }, "downloads": -1, "filename": "gwyfile-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8930d9c0b3a6cc8eb04658fe6378fe07", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8868, "upload_time": "2017-02-19T19:51:57", "url": "https://files.pythonhosted.org/packages/28/a8/7e1f5105cbf8200705f130545c9ad54592c52c34717609f87570e5a5e2af/gwyfile-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a30eef80bf3620fbae8cb064e7663665", "sha256": "cf72fedd6af15c952067dbbe87978a4a6262b4e2cd3aa9f2e7bee4ced4071e40" }, "downloads": -1, "filename": "gwyfile-0.2.0.tar.gz", "has_sig": false, "md5_digest": "a30eef80bf3620fbae8cb064e7663665", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21999, "upload_time": "2017-02-19T19:51:59", "url": "https://files.pythonhosted.org/packages/69/48/35af6771af84d4ef3241fe1a02c41f0652a38e3ed945bbfd0ac4d7725bfd/gwyfile-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8930d9c0b3a6cc8eb04658fe6378fe07", "sha256": "83cca2b8b5283652322f98791a36fdc1375cb25ea7ba88899056e7a00069760f" }, "downloads": -1, "filename": "gwyfile-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8930d9c0b3a6cc8eb04658fe6378fe07", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8868, "upload_time": "2017-02-19T19:51:57", "url": "https://files.pythonhosted.org/packages/28/a8/7e1f5105cbf8200705f130545c9ad54592c52c34717609f87570e5a5e2af/gwyfile-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a30eef80bf3620fbae8cb064e7663665", "sha256": "cf72fedd6af15c952067dbbe87978a4a6262b4e2cd3aa9f2e7bee4ced4071e40" }, "downloads": -1, "filename": "gwyfile-0.2.0.tar.gz", "has_sig": false, "md5_digest": "a30eef80bf3620fbae8cb064e7663665", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21999, "upload_time": "2017-02-19T19:51:59", "url": "https://files.pythonhosted.org/packages/69/48/35af6771af84d4ef3241fe1a02c41f0652a38e3ed945bbfd0ac4d7725bfd/gwyfile-0.2.0.tar.gz" } ] }