{ "info": { "author": "Stephan Zevenhuizen", "author_email": "S.J.M.Zevenhuizen@uu.nl", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering :: Chemistry", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Scientific/Engineering :: Physics", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Python is a great language to use for automatic processing of scientific data.\nScanning probe microscopes (SPM) produce scientific data in the form of images,\nimages of surfaces that can have atomic or molecular resolutions. The microscope\nproduces surfaces that are not level. Before you can analyse the surface, the\nsurface must first be levelled (flattened). This Python library provides\nroutines to flatten the surface and to generate statistical data on surface\nstructures. Surfaces with contaminations, step edges and atomic or molecular\nresolution can be handled.\n\nSPIEPy and SPIW - MATLAB Toolbox [`source`_] are related projects. SPIEPy uses\nmany algorithms originally designed by the SPIW project. The performance of\nthese algorithms is discussed in REVIEW OF SCIENTIFIC INSTRUMENTS **84**, 113701\n(2013) [`DOI`_].\n\n.. _source: http://sourceforge.net/projects/spiw/\n.. _DOI: http://dx.doi.org/10.1063/1.4827076\n\nThe library SPIEPy has the packages spiepy with the modules for the tasks\ndescribed above and spiepy.demo to generate sample data. With this sample data,\nyou can familiarize yourself with SPIEPy.\n\nDependencies\n------------\nSPIEPy requires the NumPy library (http://www.numpy.org), SciPy library\n(http://scipy.org) and the Matplotlib library (http://matplotlib.org).\n\nInstallation\n------------\nUsing pip::\n\n > pip install SPIEPy\n\nCLASSES\n-------\nIm\n SPIEPy_image_structure, set attribute ``data`` with a 2D ndarray of image\n data, set all other attributes with the metadata of the image.\n\nFUNCTIONS\n---------\nFlattening functions:\n\n- flatten_by_iterate_mask\n- flatten_by_peaks\n- flatten_poly_xy\n- flatten_xy\n\nLocating functions:\n\n- locate_masked_points_and_remove\n- locate_regions\n- locate_steps\n- locate_troughs_and_peaks\n\nMasking functions:\n\n- mask_by_mean\n- mask_by_troughs_and_peaks\n- mask_tidy\n\nMeasuring functions:\n\n- measure_feature_properties\n\nDemo functions:\n\n- list_demo_files\n- load_demo_file\n\nDATA\n----\nNANOMAP\n Colormap which is the standard orange colormap used my most SPM software.\n\nHelp\n----\nOn the interpreter console use the built-in help function to get the help page\nof the module, function, ...\n\n.. code-block:: pycon\n\n >>> import spiepy, spiepy.demo\n >>> help(spiepy)\n ...\n >>> help(spiepy.demo)\n ...\n >>> help(spiepy.flatten_by_iterate_mask)\n ...\n\n**Documentation:** http://www.staff.science.uu.nl/~zeven101/SPIEPy/\n\nExample usage\n-------------\n.. code-block:: python\n\n # -*- coding: utf-8 -*-\n #\n # Copyright \u00a9 2014 - 2017 Stephan Zevenhuizen\n # Flattening terrace image, (09-10-2017).\n #\n\n import spiepy, spiepy.demo\n import matplotlib.pyplot as plt\n import numpy as np\n\n im = spiepy.Im()\n demos = spiepy.demo.list_demo_files()\n print(demos)\n im.data = spiepy.demo.load_demo_file(demos[1])\n\n plt.imshow(im.data, cmap = spiepy.NANOMAP, origin = 'lower')\n print('Original image.')\n plt.show()\n\n im_out, _ = spiepy.flatten_xy(im)\n plt.imshow(im_out.data, cmap = spiepy.NANOMAP, origin = 'lower')\n print('Preflattened image.')\n plt.show()\n\n mask = spiepy.locate_steps(im_out, 4)\n plot_image = np.ma.array(im_out.data, mask = mask)\n palette = spiepy.NANOMAP\n palette.set_bad('#00ff00', 1.0)\n plt.imshow(plot_image, cmap = palette, origin = 'lower')\n print('Preflattened image, mask.')\n plt.show()\n\n im_final, _ = spiepy.flatten_xy(im, mask)\n plt.imshow(im_final.data, cmap = spiepy.NANOMAP, origin = 'lower')\n print('Flattened image.')\n plt.show()\n\n y, x = np.histogram(im_out.data, bins = 200)\n ys, xs = np.histogram(im_final.data, bins = 200)\n fig, ax = plt.subplots()\n ax.plot(x[:-1], y, '-b', label = 'Standard plane flattening')\n ax.plot(xs[:-1], ys, '-r', label = 'SPIEPy stepped plane flattening')\n ax.legend(loc = 2, fancybox = True, framealpha = 0.2)\n ax.set_xlabel('z (nm)')\n ax.set_ylabel('count')\n plt.show()\n\nAuthors & affiliations\n----------------------\nStephan J. M. Zevenhuizen [#]_\n\n.. [#] Condensed Matter and Interfaces, Debye Institute for Nanomaterials\n Science, Utrecht University, Utrecht, The Netherlands.\n\n\n", "description_content_type": null, "docs_url": "https://pythonhosted.org/SPIEPy/", "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://pypi.org/project/SPIEPy/", "keywords": "SPM scanning probe microscopy image analysis flattening nano nanotechnology", "license": "The license file is in the package.", "maintainer": "", "maintainer_email": "", "name": "SPIEPy", "package_url": "https://pypi.org/project/SPIEPy/", "platform": "", "project_url": "https://pypi.org/project/SPIEPy/", "project_urls": { "Homepage": "https://pypi.org/project/SPIEPy/" }, "release_url": "https://pypi.org/project/SPIEPy/0.2.0/", "requires_dist": [ "matplotlib", "numpy", "scipy" ], "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4", "summary": "SPIEPy (Scanning Probe Image Enchanter using Python) is a Python library to improve automatic processing of SPM images.", "version": "0.2.0" }, "last_serial": 3236127, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "0d2bab1967802d37277baf37e847506d", "sha256": "4d803a433e2709866df9e4e52d62b8c90db197fef66b5b59bee530fc65c51c5e" }, "downloads": -1, "filename": "SPIEPy-0.1.0.zip", "has_sig": false, "md5_digest": "0d2bab1967802d37277baf37e847506d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4456216, "upload_time": "2014-12-09T09:00:02", "url": "https://files.pythonhosted.org/packages/f4/4d/1e5412fdbe8ccceb33a727fea107031621e720e58ebf0f20d57b0d48ec88/SPIEPy-0.1.0.zip" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "46bed4e1eae51e2d3ba03255c7874907", "sha256": "7413257c8e455b017fc487c5c4c7a162e4e751366edb11c711484fe8b28636a4" }, "downloads": -1, "filename": "SPIEPy-0.1.1.zip", "has_sig": false, "md5_digest": "46bed4e1eae51e2d3ba03255c7874907", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4444825, "upload_time": "2014-12-17T16:20:16", "url": "https://files.pythonhosted.org/packages/61/4e/a5283c96e09d0a298d462d283f49c6b513cc9e9dbb6469d9d0dd26496642/SPIEPy-0.1.1.zip" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "d531af18354e655608f77a2e4eaa7076", "sha256": "193f5408e1d31516d14bff7acd1a153d10ca5071870c2ac48ac552373f3632f4" }, "downloads": -1, "filename": "SPIEPy-0.1.2.zip", "has_sig": false, "md5_digest": "d531af18354e655608f77a2e4eaa7076", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4444891, "upload_time": "2014-12-20T14:12:48", "url": "https://files.pythonhosted.org/packages/18/12/d89d6642419dd60e11cfd98ce72214a1601989ddaaf999ce5018b6b5a46c/SPIEPy-0.1.2.zip" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "2dfcf53592706a9f2777bf2f6067360e", "sha256": "d21fd2c56c03ca54d3248dde8c64bb7023df11ef789cb655c3712018e36c0f31" }, "downloads": -1, "filename": "SPIEPy-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2dfcf53592706a9f2777bf2f6067360e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 4442674, "upload_time": "2017-10-09T12:04:35", "url": "https://files.pythonhosted.org/packages/65/25/2dcf99f6d5ef48ec347da29d54f74d57b488a493439f90f8809e8bd74031/SPIEPy-0.2.0-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2dfcf53592706a9f2777bf2f6067360e", "sha256": "d21fd2c56c03ca54d3248dde8c64bb7023df11ef789cb655c3712018e36c0f31" }, "downloads": -1, "filename": "SPIEPy-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2dfcf53592706a9f2777bf2f6067360e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, <4", "size": 4442674, "upload_time": "2017-10-09T12:04:35", "url": "https://files.pythonhosted.org/packages/65/25/2dcf99f6d5ef48ec347da29d54f74d57b488a493439f90f8809e8bd74031/SPIEPy-0.2.0-py2.py3-none-any.whl" } ] }