{ "info": { "author": "Nanosurf AG", "author_email": "scripting@nanosurf.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: Microsoft :: Windows", "Programming Language :: Python :: 3" ], "description": "# Python API for Nanosurf controllers\n\nPackage for data acquisition and control of Nanosurf atomic force microscopes.\n\n![Nanosurf Python](https://www.nanosurf.com/images/logos/nsf_python.png)\n\n### Prerequisites\n\n* Python >=3.9 installation on Windows OS.\n* A Nanosurf controller software running and a controller connected to the PC.\n* Nanosurf Scripting Interface option activated\n\n### Installation\n\nAssuming that a Python interpreter is already installed in the system,\nopen Windows Command Prompt, or Windows PowerShell and run:\n```\npip install nanosurf\n```\n\nIf for some reason pip does not work, unzip the content of the package\ninto a folder and in this folder run:\n```\npython setup.py install\n```\n\n### Usage Example\n```\nimport nanosurf\n\nspm = nanosurf.SPM() # or .C3000() or .CX(), or .CoreAFM()\napplication = spm.application\n\nscan = application.Scan\nopmode = application.OperatingMode\napproach = application.Approach\nzcontrol = application.ZController\nhead = application.ScanHead\n\n# Set file mask\nmask = \"TestSample-\"\napplication.SetGalleryHistoryFilenameMask(mask)\n\n# Choose cantilever\nhead.CantileverByGUID = spm.CantileverGUID.Dyn190Al\n\n# Operating mode\nopmode.OperatingMode = spm.OperatingMode.DynamicAFM\nopmode.VibratingAmpl = 0.5 # [V] \n\n# Set scan parameters\nscan.ImageWidth = 5e-6 # [m]\nscan.ImageHeight = 5e-6 # [m]\nscan.Scantime = 0.55 # s\nscan.Points = 256 # points per line\nscan.Lines = 256 # lines\nscan.CenterPosX = 10e-6 # [m]\nscan.CenterPosY = 10e-6 # [m]\nscan.SlopeX = 0.0 # degree\nscan.SlopeY = 0.0 # degree\nscan.Overscan = 5 #%\n\n# Set Z controller parameters\nzcontrol.SetPoint = 70 # [%]\nzcontrol.PGain = 3100\nzcontrol.IGain = 3500\n\n# Start scan\nscan.StartFrameUp()\n\n# Check if scanning\nscanning = scan.IsScanning\nprint(scanning)\n\n# Stop scan\nscan.Stop()\n\n# Get image\nscan.StartCapture()\n\ndel spm\n\n```\n\n### Scripting Manual\n\nFull list of objects and methods can be found in the Scripting Manual\nin Nanosurf controller software under Help tab:\nHelp -> Manuals -> Script Programmers Manual, or [here](https://www.nanosurf.com/downloads/programmers-manual.pdf).\n\n\n### License\n[MIT License](https://en.wikipedia.org/wiki/MIT_License)\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": "", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "nanosurf", "package_url": "https://pypi.org/project/nanosurf/", "platform": null, "project_url": "https://pypi.org/project/nanosurf/", "project_urls": null, "release_url": "https://pypi.org/project/nanosurf/1.1.0/", "requires_dist": [ "pywin32", "matplotlib", "numpy", "scipy", "notebook", "pyside2", "pyqtgraph", "psutil", "debugpy" ], "requires_python": ">=3.9", "summary": "Python API for Nanosurf controllers", "version": "1.1.0", "yanked": false, "yanked_reason": null }, "last_serial": 13579287, "releases": { "0.3.10.1-1": [ { "comment_text": "", "digests": { "md5": "188eda370bc3e5e4917e7b2e76403979", "sha256": "b3f32fc8aae003182159ba82d3f750a9e615be11ec5a31b25ac8c1c2eb32efaa" }, "downloads": -1, "filename": "nanosurf-0.3.10.1-1.tar.gz", "has_sig": false, "md5_digest": "188eda370bc3e5e4917e7b2e76403979", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 49723, "upload_time": "2021-02-10T14:48:26", "upload_time_iso_8601": "2021-02-10T14:48:26.604125Z", "url": "https://files.pythonhosted.org/packages/88/04/5a787ffab5a06ea2857f3c3b0c366c850a420df92f1f561fb4008e3ce964/nanosurf-0.3.10.1-1.tar.gz", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cef109ff80e7874b2e95c25d49ace103", "sha256": "780047ac5b25abe5c80e7d4c1aebf5c819411ab2e9fade247e0537abae9e4e7a" }, "downloads": -1, "filename": "nanosurf-0.3.10.1.post1-py3-none-any.whl", "has_sig": false, "md5_digest": "cef109ff80e7874b2e95c25d49ace103", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 52123, "upload_time": "2021-02-10T14:48:25", "upload_time_iso_8601": "2021-02-10T14:48:25.444742Z", "url": "https://files.pythonhosted.org/packages/b8/2d/190359fa1263208af4c2b08d02ae77ebbcb5bfeb536d51ded147f59585ae/nanosurf-0.3.10.1.post1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.3.10.1-2": [ { "comment_text": "", "digests": { "md5": "89a4a8998ffede80458c8dbd0d6750ea", "sha256": "e0aba214249ebde665e054f8fda4346cf901dc62e9b988e842df09fdcff7c8a3" }, "downloads": -1, "filename": "nanosurf-0.3.10.1-2.tar.gz", "has_sig": false, "md5_digest": "89a4a8998ffede80458c8dbd0d6750ea", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 53908, "upload_time": "2021-02-26T10:45:52", "upload_time_iso_8601": "2021-02-26T10:45:52.446120Z", "url": "https://files.pythonhosted.org/packages/4c/af/117ee72f4c2adf5af71b751d2d610717418f6d95329d698b65216ac84148/nanosurf-0.3.10.1-2.tar.gz", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "c220a465fe0407bcdf7306c606d49585", "sha256": "ef94097e4fa8f9feecd22ed438421e56721fa469b0e475dadede96cf2bf77f1f" }, "downloads": -1, "filename": "nanosurf-0.3.10.1.post2-py3-none-any.whl", "has_sig": false, "md5_digest": "c220a465fe0407bcdf7306c606d49585", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 56994, "upload_time": "2021-02-26T10:45:51", "upload_time_iso_8601": "2021-02-26T10:45:51.311242Z", "url": "https://files.pythonhosted.org/packages/55/5b/ef1692c402000f0c7ec066dac140f84e747eada5fd6a8d3ea8f7b7691917/nanosurf-0.3.10.1.post2-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.3.10.1-3": [ { "comment_text": "", "digests": { "md5": "467b14715b5f22afcad22c7a4013f225", "sha256": "885dafa964ffe3913ba3f7a9afc432a677ef3e69df37126b096d1887dbefa1a2" }, "downloads": -1, "filename": "nanosurf-0.3.10.1-3.tar.gz", "has_sig": false, "md5_digest": "467b14715b5f22afcad22c7a4013f225", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 55052, "upload_time": "2021-06-22T09:50:40", "upload_time_iso_8601": "2021-06-22T09:50:40.350793Z", "url": "https://files.pythonhosted.org/packages/e0/74/2fca06e1fd90b8e7dce56331b9c454542d81900dc96576cfa8934c507337/nanosurf-0.3.10.1-3.tar.gz", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "47baa15264b7cb7f8cd0ee9c7931fece", "sha256": "6029463809e2f5b439f66465cbeee6f3085c7f95ad2538e514d766f86fa07ab5" }, "downloads": -1, "filename": "nanosurf-0.3.10.1.post3-py3-none-any.whl", "has_sig": false, "md5_digest": "47baa15264b7cb7f8cd0ee9c7931fece", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 61615, "upload_time": "2021-06-22T09:50:38", "upload_time_iso_8601": "2021-06-22T09:50:38.804138Z", "url": "https://files.pythonhosted.org/packages/2f/6a/f65a8d042441d386cdf43016e2d2b2dd69c56c2efaff3721df34b45eeff8/nanosurf-0.3.10.1.post3-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "9eeae1b6fb76964ffec9cf45c26d78bc", "sha256": "eb2f824b841bb733369868b60706aa6ae27caeaaeff352606df02c395e8fbb35" }, "downloads": -1, "filename": "nanosurf-1.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "9eeae1b6fb76964ffec9cf45c26d78bc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.9", "size": 901679, "upload_time": "2022-03-14T13:23:52", "upload_time_iso_8601": "2022-03-14T13:23:52.152530Z", "url": "https://files.pythonhosted.org/packages/24/12/c36a24ced73982db3f57836cbc6f68a8c7193fecd886f1a801e8dfdf4c8b/nanosurf-1.0.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a654064ae051957adda234e7e20327d2", "sha256": "7c6a5bb9c64f3af363ccabc9b086256c9a0d4dc7e90f03d2bc84099a4e464fb4" }, "downloads": -1, "filename": "nanosurf-1.0.6.tar.gz", "has_sig": false, "md5_digest": "a654064ae051957adda234e7e20327d2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.9", "size": 864584, "upload_time": "2022-03-14T13:23:53", "upload_time_iso_8601": "2022-03-14T13:23:53.600095Z", "url": "https://files.pythonhosted.org/packages/9d/25/442b6625b958b5f42ca7bfcc68429398eb7c700e0af60b047834a1f1b1c8/nanosurf-1.0.6.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "f6b9b60eab7f9681b04b2deae83da525", "sha256": "8acb8c191d26185c70475a85dce26e4743a6cc73e1b1b839b9227e429f0c025d" }, "downloads": -1, "filename": "nanosurf-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f6b9b60eab7f9681b04b2deae83da525", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.9", "size": 913293, "upload_time": "2022-04-21T13:30:42", "upload_time_iso_8601": "2022-04-21T13:30:42.136426Z", "url": "https://files.pythonhosted.org/packages/27/cb/15df6570b091eb73e35232e9e2a5595d55b003f9f4902d8ec512d09c4b7a/nanosurf-1.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "141c44bb54bfcca067d9d4dc9862684d", "sha256": "24ae0df29feafa8c38da59336a6b8badf81c76ca754c381e8cfecf55744747a6" }, "downloads": -1, "filename": "nanosurf-1.1.0.tar.gz", "has_sig": false, "md5_digest": "141c44bb54bfcca067d9d4dc9862684d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.9", "size": 873874, "upload_time": "2022-04-21T13:30:44", "upload_time_iso_8601": "2022-04-21T13:30:44.113666Z", "url": "https://files.pythonhosted.org/packages/e0/8b/6d4d6cf0e7b4d74bcb6f725ddf6ff7979eee48059938e34490e56d482514/nanosurf-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f6b9b60eab7f9681b04b2deae83da525", "sha256": "8acb8c191d26185c70475a85dce26e4743a6cc73e1b1b839b9227e429f0c025d" }, "downloads": -1, "filename": "nanosurf-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f6b9b60eab7f9681b04b2deae83da525", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.9", "size": 913293, "upload_time": "2022-04-21T13:30:42", "upload_time_iso_8601": "2022-04-21T13:30:42.136426Z", "url": "https://files.pythonhosted.org/packages/27/cb/15df6570b091eb73e35232e9e2a5595d55b003f9f4902d8ec512d09c4b7a/nanosurf-1.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "141c44bb54bfcca067d9d4dc9862684d", "sha256": "24ae0df29feafa8c38da59336a6b8badf81c76ca754c381e8cfecf55744747a6" }, "downloads": -1, "filename": "nanosurf-1.1.0.tar.gz", "has_sig": false, "md5_digest": "141c44bb54bfcca067d9d4dc9862684d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.9", "size": 873874, "upload_time": "2022-04-21T13:30:44", "upload_time_iso_8601": "2022-04-21T13:30:44.113666Z", "url": "https://files.pythonhosted.org/packages/e0/8b/6d4d6cf0e7b4d74bcb6f725ddf6ff7979eee48059938e34490e56d482514/nanosurf-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }